From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs |  131 +++++++++++++++++++++++++------------------
 1 files changed, 75 insertions(+), 56 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
index b2d0460..3f665d1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
@@ -66,19 +66,10 @@
             fanSpeedList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value;
             btnFan.MouseUpEventHandler += (sender, e) =>
             {
-                if( !btnSwitch.IsSelected){return;}
-                var curFanSpeedIndex = fanSpeedList.IndexOf(device.GetAttrState(FunctionAttributeKey.FanSpeed));
-                var sendFanSpeedIndex = curFanSpeedIndex == fanSpeedList.Count - 1 ? 0 : 1+curFanSpeedIndex;
-
-                device.SetAttrState(FunctionAttributeKey.FanSpeed, fanSpeedList[sendFanSpeedIndex]);
-                new System.Threading.Thread(() =>
+                if (btnSwitch.IsSelected)
                 {
-                    Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.FanSpeed, fanSpeedList[sendFanSpeedIndex]);
-                    Control.Ins.SendWriteCommand(device, d);
-                })
-                { IsBackground = true }.Start();
-                RefreshFanSpeed();
+                    ShowFanSelectView();
+                }
             };
             //椋庨�熸枃鏈�
             this.btnFanView = new NormalViewControl(this.FrameWhiteCentet1.Width / 3, Application.GetRealHeight(18), false);
@@ -140,40 +131,80 @@
             };
             frameBack.Show();
 
+            var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed);
+            if(fanAttr == null)
+            {
+                return;
+            }
+            var valueCount = fanAttr.value.Count;
+
             //鑿滃崟鎺т欢(椋庨��)
-            var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.FanSpeed));
-            menuContr.X = Application.GetRealWidth(209);
-            menuContr.Y = Application.GetRealHeight(231);
+            var menuContr = new DialogTitleMenuControl(valueCount, Language.StringByID(StringId.FanSpeed));
+            //menuContr.X = Application.GetRealWidth(209);
+            menuContr.Gravity = Gravity.CenterHorizontal;
             menuContr.Width = Application.GetRealWidth(160);
-            menuContr.Height = Application.GetRealHeight(199);
             dialogBody.AddChidren(menuContr);
 
-            //1妗�
-            var iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low" ? "FunctionIcon/AirFresh/Fan1Select.png" : "FunctionIcon/AirFresh/Fan1.png";
-            menuContr.AddRowMenu(Language.StringByID(StringId.FanOneGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low", () =>
+            int count = 0;
+            foreach(var fanAttrValue in fanAttr.value)
             {
-                frameBack.Close();
-                //鍙戦�佹。浣嶅懡浠�
-                this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "low");
-            });
+                bool isSelecte = false;
+                var iconPath = "FunctionIcon/AirFresh/Fan1.png";
+                string text = Language.StringByID(StringId.FanOneGear);
+                if (fanAttrValue == "low" || fanAttrValue == "level_1")
+                {
+                    text = Language.StringByID(StringId.LowWindSpeed);
+                    if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "low"|| this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_1")
+                    {
+                        iconPath = "FunctionIcon/AirFresh/Fan1Select.png";
+                        isSelecte = true;
+                    }
+                }
+                else if (fanAttrValue == "medium" || fanAttrValue == "level_2")
+                {
+                    text = Language.StringByID(StringId.MiddleWindSpeed);
+                    iconPath = "FunctionIcon/AirFresh/Fan2.png";
+                    if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium" || this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_2")
+                    {
+                        iconPath = "FunctionIcon/AirFresh/Fan2Select.png";
+                        isSelecte = true;
+                    }
+                }
+                else if (fanAttrValue == "high" || fanAttrValue == "level_3")
+                {
+                    text = Language.StringByID(StringId.HighWindSpeed);
+                    iconPath = "FunctionIcon/AirFresh/Fan3.png";
+                    if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high" || this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "level_3")
+                    {
+                        iconPath = "FunctionIcon/AirFresh/Fan3Select.png";
+                        isSelecte = true;
+                    }
+                }
+                else if(fanAttrValue == "auto")
+                {
+                    text = Language.StringByID(StringId.Auto);
+                    iconPath = "FunctionIcon/AirFresh/Fan2.png";
+                    if (this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "auto" )
+                    {
+                        iconPath = "FunctionIcon/AirFresh/Fan2Select.png";
+                        isSelecte = true;
+                    }
+                }
+                else
+                {
+                    continue;
+                }
 
-            //2妗�
-            iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium" ? "FunctionIcon/AirFresh/Fan2Select.png" : "FunctionIcon/AirFresh/Fan2.png";
-            menuContr.AddRowMenu(Language.StringByID(StringId.FanTwoGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "medium", () =>
-            {
-                frameBack.Close();
-                //鍙戦�佹。浣嶅懡浠�
-                this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "medium");
-            });
+                count++;
+                menuContr.AddRowMenu(text, iconPath, isSelecte, () =>
+                {
+                    frameBack.Close();
+                    //鍙戦�佹。浣嶅懡浠�
+                    this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, fanAttrValue);
+                });
+            }
+            menuContr.Y = Application.GetRealHeight(231 - (46 * (count-3)));
 
-            //3妗�
-            iconPath = this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high" ? "FunctionIcon/AirFresh/Fan3Select.png" : "FunctionIcon/AirFresh/Fan3.png";
-            menuContr.AddRowMenu(Language.StringByID(StringId.FanThreeGear), iconPath, this.device.GetAttrState(FunctionAttributeKey.FanSpeed) == "high", () =>
-            {
-                frameBack.Close();
-                //鍙戦�佹。浣嶅懡浠�
-                this.SendOtherComand(this.btnFan, FunctionAttributeKey.FanSpeed, "high");
-            });
         }
 
         #endregion
@@ -254,29 +285,14 @@
             HdlThreadLogic.Current.RunThread(() =>
             {
                 //鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑)
-                var dic = this.GetSendComandSample();
-                dic[comadKey] = comadValue;
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                dic.Add(comadKey, comadValue);
                 Control.Ins.SendWriteCommand(this.device, dic);
                 HdlThreadLogic.Current.RunMain(() =>
                 {
                     btnIcon.CanClick = true;
                 });
             });
-        }
-
-        /// <summary>
-        /// 鑾峰彇鍙戦�佸懡浠ょ殑鏍锋澘(bus鍗忚鏄渶瑕佷竴娆℃�ф妸鍏ㄩ儴鍛戒护涓�璧峰彂閫佺殑)
-        /// </summary>
-        /// <returns></returns>
-        private Dictionary<string, string> GetSendComandSample()
-        {
-            var dic = new Dictionary<string, string>();
-            //寮�鍏�
-            dic[FunctionAttributeKey.OnOff] = this.device.GetAttrState(FunctionAttributeKey.OnOff);
-            //椋庨��
-            dic[FunctionAttributeKey.FanSpeed] = this.device.GetAttrState(FunctionAttributeKey.FanSpeed);
-
-            return dic;
         }
 
         #endregion
@@ -300,5 +316,8 @@
 
         #endregion
 
+
+
+
     }
 }

--
Gitblit v1.8.0