From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 28 三月 2023 11:54:45 +0800 Subject: [PATCH] 2023年03月28日11:52:02 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 182 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 171 insertions(+), 11 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index a873ee1..08772f9 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs @@ -57,17 +57,22 @@ /// </summary> public void LoadFunctionDiv() { - //todo 澧炲姞璁惧锛屽鍔犲姛鑳藉垪琛ㄥ崱鐗� if (function == null) { this.RemoveFromParent(); return; } - LoadDiv(); - + //if (function.spk == SPK.IpCam_Imou) + //{ + // InitIpCamDiv(); + //} + //else + { + LoadDiv(); + } btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"; - + if (SPK.CurtainSpkList().Contains(function.spk)) {//绐楀笜娌℃湁寮�鍏虫寜閽� CurtainFragment(); @@ -95,6 +100,87 @@ this.AddChidren(btnTipPowerLow); } } + + + + else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose ) + { + var btnStatus = new Button() + { + X = Application.GetRealWidth(51), + Y = Application.GetRealHeight(64), + Height = Application.GetRealHeight(18), + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + Text = "", + TextAlignment = TextAlignment.CenterLeft, + Tag = function.sid + "_SenesorMegahealth_Status" + }; + bodyDiv.AddChidren(btnStatus); + + + + var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus); + if (tempStatus != null) + { + + switch (tempStatus.state) + {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔� + case "0": + btnStatus.TextID = StringId.SensorNormalState; + btnStatus.TextColor = CSS_Color.MainColor; + break; + case "1": + btnStatus.TextID = StringId.SomeoneIn; + btnStatus.TextColor = CSS_Color.WarningColor; + break; + case "2": + if (function.extSet.labModel) + { + btnStatus.TextID = StringId.SomeoneRunning; + btnStatus.TextColor = CSS_Color.WarningColor; + } + else + { + btnStatus.TextID = StringId.SomeoneIn; + btnStatus.TextColor = CSS_Color.WarningColor; + } + break; + case "3": + if (function.extSet.labModel) + { + btnStatus.TextID = StringId.SomeoneSitting; + btnStatus.TextColor = CSS_Color.WarningColor; + } + else + { + btnStatus.TextID = StringId.SomeoneIn; + btnStatus.TextColor = CSS_Color.WarningColor; + } + break; + case "4": + btnStatus.TextID = StringId.SomeoneFell; + btnStatus.TextColor = CSS_Color.WarningColor; + break; + case "5": + if (function.extSet.labModel) + { + btnStatus.TextID = StringId.SomeoneStanding; + btnStatus.TextColor = CSS_Color.WarningColor; + } + else + { + btnStatus.TextID = StringId.SomeoneIn; + btnStatus.TextColor = CSS_Color.WarningColor; + } + break; + } + + + } + + } + } else if (function.spk == SPK.DoorLock) { @@ -104,29 +190,30 @@ { var btnHumidityIcon = new Button() { - X = Application.GetRealWidth(51), + X = Application.GetRealWidth(120), Y = Application.GetRealHeight(66), Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(18), UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png", }; bodyDiv.AddChidren(btnHumidityIcon); var btnHumidityValues = new TextButton() { - X = Application.GetRealWidth(70), + X = Application.GetRealWidth(140), Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(18), TextColor = 0xFF161616, TextSize = CSS_FontSize.TextFontSize, Text = function.GetAttrState(FunctionAttributeKey.RoomHumidity) + "%", TextAlignment = TextAlignment.CenterLeft, + Tag = function.sid + "_Humidity", }; btnHumidityValues.Width = btnHumidityValues.GetTextWidth(); bodyDiv.AddChidren(btnHumidityValues); Button btnTempIcon = new Button() { - X = Application.GetRealWidth(110), + X = Application.GetRealWidth(51), Y = Application.GetRealHeight(66), Width = Application.GetMinRealAverage(17), Height = Application.GetMinRealAverage(17), @@ -136,13 +223,14 @@ var btnTempValues = new TextButton() { - X = Application.GetRealWidth(130), + X = Application.GetRealWidth(70), Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(18), TextColor = 0xFF161616, TextSize = CSS_FontSize.TextFontSize, Text = function.GetAttrState(FunctionAttributeKey.RoomTemp) + "掳C", TextAlignment = TextAlignment.CenterLeft, + Tag = function.sid + "_Temp", }; btnTempValues.Width = btnTempValues.GetTextWidth(); bodyDiv.AddChidren(btnTempValues); @@ -160,11 +248,17 @@ } + else if (function.spk == SPK.AcstParent) { + } else { if (function.spk == SPK.ClothesHanger)//鏅捐。鏋� { ClothesHangerFragment(); + } + else if(function.spk == SPK.IpCam_Imou) + { + } else { @@ -232,6 +326,58 @@ } + /// <summary> + /// 鍔犺浇ip鎽勫儚澶村崱鐗� + /// </summary> + private void InitIpCamDiv() + { + btnIcon = new Button() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(15), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + }; + bodyDiv.AddChidren(btnIcon); + + btnName = new Button() + { + X = Application.GetRealWidth(8 + 10 + 32), + Y = Application.GetRealHeight(10), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(24), + Text = function.name, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + }; + bodyDiv.AddChidren(btnName); + + btnFromFloor = new Button() + { + X = Application.GetRealWidth(8 + 10 + 32), + Y = Application.GetRealHeight(10 + 24), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(18), + Text = function.GetRoomListName(), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + bodyDiv.AddChidren(btnFromFloor); + + btnCollectionIcon = new Button() + { + X = Application.GetRealWidth(299), + Y = Application.GetRealHeight(10), + Width = Application.GetMinRealAverage(40), + Height = Application.GetMinRealAverage(40), + SelectedImagePath = "Collection/CollectionIcon.png", + UnSelectedImagePath = "Collection/CollectionGrayIcon.png", + IsSelected = function.collect + }; + + } /// <summary> /// 鍔犺浇鎺у埗鍗$墖鍖哄煙 @@ -290,6 +436,11 @@ bodyDiv.AddChidren(btnCollectionIcon); } + if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) + { + bodyDiv.AddChidren(btnCollectionIcon); + } + if (!function.online) { bodyDiv.BackgroundColor = CSS_Color.PromptingColor2; @@ -315,6 +466,7 @@ switch (function.spk) { case SPK.LightDimming: + case SPK.LightRGBW: case SPK.LightRGB: #region Dimmer var btnDimmerMinValues = new Button() @@ -373,6 +525,14 @@ /// </summary> void CurtainFragment() { + var onoffString = function.GetAttrState(FunctionAttributeKey.OnOff); + var percent = onoffString == "off" ? 0 : 100; + if (function.GetAttributes().Contains(FunctionAttributeKey.Percent)) + { + string percentString = function.GetAttrState(FunctionAttributeKey.Percent); + int.TryParse(percentString, out percent); + } + #region Curtain var btnCurtainClose = new Button() { @@ -382,7 +542,7 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", - IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "off", + IsSelected = percent == 0, Tag = function.sid + "_off" }; bodyDiv.AddChidren(btnCurtainClose); @@ -413,7 +573,7 @@ UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", Tag = function.sid + "_on", - IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "on", + IsSelected = percent != 0, }; bodyDiv.AddChidren(btnCurtainOpen); if (function.spk == SPK.CurtainRoller) -- Gitblit v1.8.0