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 |  232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 226 insertions(+), 6 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 8185dc9..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,16 +100,165 @@
                         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)
             {
                 btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png";
+            }
+            else if (function.spk == SPK.HvacCac)
+            {
+                var btnHumidityIcon = new Button()
+                {
+                    X = Application.GetRealWidth(120),
+                    Y = Application.GetRealHeight(66),
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(18),
+                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
+                };
+                bodyDiv.AddChidren(btnHumidityIcon);
+                var btnHumidityValues = new TextButton()
+                {
+                    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(51),
+                    Y = Application.GetRealHeight(66),
+                    Width = Application.GetMinRealAverage(17),
+                    Height = Application.GetMinRealAverage(17),
+                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
+                };
+                bodyDiv.AddChidren(btnTempIcon);
+
+                var btnTempValues = new TextButton()
+                {
+                    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);
+
+                var btnJinMaoIcon = new Button()
+                {
+                    X = Application.GetRealWidth(238),
+                    Y = Application.GetRealHeight(64),
+                    Width = Application.GetRealWidth(102),
+                    Height = Application.GetRealHeight(29),
+                    UnSelectedImagePath = "FunctionIcon/CAC/JinMaoIcon.png"
+                };
+                bodyDiv.AddChidren(btnJinMaoIcon);
+
+
+
+            }
+            else if (function.spk == SPK.AcstParent) {
             }
             else
             {
                 if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
                 {
                     ClothesHangerFragment();
+                }
+                else if(function.spk == SPK.IpCam_Imou)
+                {
+
                 }
                 else
                 {
@@ -172,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>
         /// 鍔犺浇鎺у埗鍗$墖鍖哄煙
@@ -230,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;
@@ -255,6 +466,7 @@
             switch (function.spk)
             {
                 case SPK.LightDimming:
+                case SPK.LightRGBW:
                 case SPK.LightRGB:
                     #region Dimmer
                     var btnDimmerMinValues = new Button()
@@ -313,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()
             {
@@ -322,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);
@@ -353,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