From df8d4ab0ef17a7fab5dea9c47bbd9f4d4a2a40b0 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 15 三月 2021 14:55:49 +0800
Subject: [PATCH] 合并前上传一个版本

---
 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs |  260 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 170 insertions(+), 90 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index f81a3b0..f0a079e 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -61,7 +61,10 @@
             }
             LoadDiv();
 
-            if (function.Spk_Prefix == FunctionCategory.Curtain || function.Spk_Prefix == FunctionCategory.Music)//绐楀笜娌℃湁寮�鍏虫寜閽�
+            if (function.Spk_Prefix == FunctionCategory.Curtain//绐楀笜娌℃湁寮�鍏虫寜閽�
+                || function.Spk_Prefix == FunctionCategory.Music//闊充箰娌℃湁寮�鍏虫寜閽�
+                || function.Spk_Prefix == FunctionCategory.Sensor//浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�
+                )
             {
                 switch (function.Spk_Prefix)
                 {
@@ -80,6 +83,44 @@
                         }
                         CurtainFragment();
                         break;
+                    case FunctionCategory.Sensor:
+                        switch (function.spk)
+                        {
+                            case SPK.SensorPir:
+                                btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorPirIcon.png";
+                                break;
+                            case SPK.SensorWater:
+                                btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorWaterImmersionIcon.png";
+                                break;
+                            case SPK.SensorSmoke:
+                                btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeIcon.png";
+                                break;
+                            case SPK.SensorDoorWindow:
+                                btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorDoorIcon.png";
+                                break;
+                            default:
+
+                                break;
+                        }
+                        var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
+                        if (powerLowTipAttr != null)
+                        {
+                            if (powerLowTipAttr.state.ToLower() == "low")
+                            {
+                                Button btnTipPowerLow = new Button()
+                                {
+                                    X = Application.GetRealWidth(307),
+                                    Y = Application.GetRealHeight(25),
+                                    Width = Application.GetRealWidth(24),
+                                    Height = Application.GetRealWidth(24),
+                                    UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+                                    SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+                                };
+                                this.AddChidren(btnTipPowerLow);
+                            }
+                        }
+
+                        break;
                     case FunctionCategory.Music:
                         btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png";
                         MusicFragment();
@@ -89,98 +130,107 @@
             }
             else
             {
-                #region 鍔犺浇寮�鍏虫寜閽�
-                /// <summary>
-                /// 寮�鍏虫寜閽�
-                /// </summary>
-                Button btnSwitch;
-                if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
+                if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
                 {
-                    btnSwitch = new Button()
-                    {
-                        X = Application.GetRealWidth(303),
-                        Y = Application.GetRealHeight(78),
-                        Width = Application.GetMinRealAverage(32),
-                        Height = Application.GetMinRealAverage(32),
-                        UnSelectedImagePath = "Public/PowerClose.png",
-                        SelectedImagePath = "Public/PowerOpen.png",
-                        IsSelected = function.trait_on_off.curValue.ToString() == "on",
-                        Tag = function.sid + "_Switch",
-                    };
-                    bodyDiv.AddChidren(btnSwitch);
-                    //鍔犺浇寮�鍏虫寜閽簨浠�
-                    LoadEvent_SwitchFunction(btnSwitch, function.attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
+                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerGrayIcon.png";
+                    ClothesHangerFragment();
                 }
                 else
                 {
-                    btnSwitch = new Button()
-                    {
-                        X = Application.GetRealWidth(303),
-                        Y = Application.GetRealHeight(58),
-                        Width = Application.GetMinRealAverage(32),
-                        Height = Application.GetMinRealAverage(32),
-                        UnSelectedImagePath = "Public/PowerClose.png",
-                        SelectedImagePath = "Public/PowerOpen.png",
-                        IsSelected = function.trait_on_off.curValue.ToString() == "on",
-                        Tag = function.sid + "_Switch",
-                    };
-                    bodyDiv.AddChidren(btnSwitch);
-                    //鍔犺浇寮�鍏虫寜閽簨浠�
-                    LoadEvent_SwitchFunction(btnSwitch);
-                }
+                    #region 鍔犺浇寮�鍏虫寜閽�
 
-                switch (function.Spk_Prefix)
-                {
-                    case FunctionCategory.AC:
-                        switch (function.spk)
+                    /// <summary>
+                    /// 寮�鍏虫寜閽�
+                    /// </summary>
+                    Button btnSwitch;
+                    if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
+                    {
+                        btnSwitch = new Button()
                         {
-                            case SPK.AcStandard:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png";
-                                LoadLastStatesButton();
-                                break;
-                        }
-                        break;
-                    case FunctionCategory.FloorHeat:
-                        switch (function.spk)
+                            X = Application.GetRealWidth(303),
+                            Y = Application.GetRealHeight(78),
+                            Width = Application.GetMinRealAverage(32),
+                            Height = Application.GetMinRealAverage(32),
+                            UnSelectedImagePath = "Public/PowerClose.png",
+                            SelectedImagePath = "Public/PowerOpen.png",
+                            IsSelected = function.trait_on_off.curValue.ToString() == "on",
+                            Tag = function.sid + "_Switch",
+                        };
+                        bodyDiv.AddChidren(btnSwitch);
+                        //鍔犺浇寮�鍏虫寜閽簨浠�
+                        LoadEvent_SwitchFunction(btnSwitch, function.attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
+                    }
+                    else
+                    {
+                        btnSwitch = new Button()
                         {
-                            case SPK.FloorHeatStandard:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png";
-                                LoadLastStatesButton();
-                                break;
-                        }
-                        break;
-                    case FunctionCategory.Light:
-                        btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png";
-                        btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
-                        LoadLightControl();
-                        break;
-                    case FunctionCategory.Electric:
-                        switch (function.spk)
-                        {
-                            case SPK.ElectricSocket:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png";
-                                break;
-                            case SPK.ElectricFan:
-                            case SPK.ElectricTuyaFan:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png";
-                                break;
-                            case SPK.ElectricTV:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png";
-                                break;
-                            case SPK.ElectricTuyaAirCleaner:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/AirCleanerThiinIcon.png";
-                                break;
-                            case SPK.ElectricTuyaWeepRobot:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobotThinIcon.png";
-                                break;
-                            case SPK.ElectricTuyaWaterValve:
-                                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WaterValve/WaterValveIcon.png";
-                                break;
-                        }
-                        btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
-                        break;
+                            X = Application.GetRealWidth(303),
+                            Y = Application.GetRealHeight(58),
+                            Width = Application.GetMinRealAverage(32),
+                            Height = Application.GetMinRealAverage(32),
+                            UnSelectedImagePath = "Public/PowerClose.png",
+                            SelectedImagePath = "Public/PowerOpen.png",
+                            IsSelected = function.trait_on_off.curValue.ToString() == "on",
+                            Tag = function.sid + "_Switch",
+                        };
+                        bodyDiv.AddChidren(btnSwitch);
+                        //鍔犺浇寮�鍏虫寜閽簨浠�
+                        LoadEvent_SwitchFunction(btnSwitch);
+                    }
+
+                    switch (function.Spk_Prefix)
+                    {
+                        case FunctionCategory.AC:
+                            switch (function.spk)
+                            {
+                                case SPK.AcStandard:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png";
+                                    LoadLastStatesButton();
+                                    break;
+                            }
+                            break;
+                        case FunctionCategory.FloorHeat:
+                            switch (function.spk)
+                            {
+                                case SPK.FloorHeatStandard:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png";
+                                    LoadLastStatesButton();
+                                    break;
+                            }
+                            break;
+                        case FunctionCategory.Light:
+                            btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png";
+                            btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
+                            LoadLightControl();
+                            break;
+                        case FunctionCategory.Electric:
+                            switch (function.spk)
+                            {
+                                case SPK.ElectricSocket:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png";
+                                    break;
+                                case SPK.ElectricFan:
+                                case SPK.ElectricTuyaFan:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png";
+                                    break;
+                                case SPK.ElectricTV:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png";
+                                    break;
+                                case SPK.ElectricTuyaAirCleaner:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/AirCleanerThiinIcon.png";
+                                    break;
+                                case SPK.ElectricTuyaWeepRobot:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobotThinIcon.png";
+                                    break;
+                                case SPK.ElectricTuyaWaterValve:
+                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WaterValve/WaterValveIcon.png";
+                                    break;
+                            }
+                            btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
+                            break;
+                    }
+                    #endregion
                 }
-                #endregion
             }
 
             LoadEvent_DivSkipEvent();
@@ -239,7 +289,7 @@
             };
             //bodyDiv.AddChidren(btnCollectionIcon);
             //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
-            if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+            if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare && function.Spk_Prefix != FunctionCategory.Sensor)
             {
                 bodyDiv.AddChidren(btnCollectionIcon);
             }
@@ -320,7 +370,7 @@
                 Height = Application.GetMinRealAverage(32),
                 UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                 SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
-                IsSelected = function.trait_on_off.curValue.ToString() == "off",
+                IsSelected = function.GetAttrState(FunctionAttributeKey.Percent) == "0",
                 Tag = function.sid + "_off"
             };
             bodyDiv.AddChidren(btnCurtainClose);
@@ -334,7 +384,6 @@
                 UnSelectedImagePath = "FunctionIcon/Curtain/CurtainStopIcon.png",
                 SelectedImagePath = "FunctionIcon/Curtain/CurtainStopOnIcon.png",
                 Tag = function.sid + "_stop",
-                IsSelected = function.trait_on_off.curValue.ToString() == "stop"
             };
             bodyDiv.AddChidren(btnCurtainStop);
 
@@ -347,11 +396,43 @@
                 UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                 SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
                 Tag = function.sid + "_on",
-                IsSelected = function.trait_on_off.curValue.ToString() == "on"
+                IsSelected = function.GetAttrState(FunctionAttributeKey.Percent) != "0"
             };
             bodyDiv.AddChidren(btnCurtainOpen);
             LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function as Curtain);
             #endregion
+        }
+        /// <summary>
+        /// 鍔犺浇鏅捐。鏋跺姛鑳芥帶鍒跺崱鐗�
+        /// </summary>
+        void ClothesHangerFragment()
+        {
+            #region ClothesHanger
+            var btnClothesHangerUp = new Button()
+            {
+                X = Application.GetRealWidth(233),
+                Y = Application.GetRealHeight(58),
+                Width = Application.GetMinRealAverage(32),
+                Height = Application.GetMinRealAverage(32),
+                UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon1.png",
+                SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon1On.png",
+            };
+            bodyDiv.AddChidren(btnClothesHangerUp);
+
+            var btnClothesHangerDown = new Button()
+            {
+                X = Application.GetRealWidth(303),
+                Y = Application.GetRealHeight(58),
+                Width = Application.GetMinRealAverage(32),
+                Height = Application.GetMinRealAverage(32),
+                UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon1.png",
+                SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon1On.png",
+            };
+            bodyDiv.AddChidren(btnClothesHangerDown);
+            LoadEvent_ControlClothesHanger(function,  btnClothesHangerUp, btnClothesHangerDown);
+            #endregion
+
+
         }
 
         /// <summary>
@@ -397,7 +478,6 @@
             LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function as A31MusicModel);
             #endregion
         }
-
 
         /// <summary>
         /// 鍔犺浇鍔熻兘鐘舵�佷俊鎭寜閽�

--
Gitblit v1.8.0