From 56dfdc1bf7e7f2bb2456f29c3686dfa935a89e80 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 30 六月 2022 13:59:45 +0800
Subject: [PATCH] 2022年06月30日13:59:08

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs |   74 +++++++++++++++++++++++-
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs              |    6 +
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs      |   52 +++++++++++++++++
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs      |   47 +++++++++++++++
 4 files changed, 172 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 3afc54f..3db5687 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1084,6 +1084,25 @@
                                         }
                                     }
                                     break;
+                                case SPK.CurtainDream:
+                                    {
+                                        string percent = GetKeyValue("percent", dicList);
+                                        string angle = GetKeyValue("angle", dicList);
+                                        if (percent != "" && angle != "")
+                                        {
+                                            stateStr += Language.StringByID(StringId.onLogic) + percent + "%;";
+                                            stateStr +=Language.StringByID(StringId.Angle)+angle + "掳";
+                                        }
+                                        else if (percent != "")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic) + percent + "%";
+                                        }
+                                        else if (angle != "")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic) + Language.StringByID(StringId.Angle) + angle + "掳";
+                                        }
+                                    }
+                                    break;
                                 case SPK.AcStandard:
                                 case SPK.HvacAC:
                                     {
@@ -1591,6 +1610,39 @@
                         
                     }
                     break;
+                case SPK.CurtainDream:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            switch (dic["key"])
+                            {
+                                case "percent":
+                                    {
+                                        if (button1 == null)
+                                        {
+                                            //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+                                            break;
+                                        }
+                                        button1.Text = value + "%";
+                                    }
+                                    break;
+                                case "angle":
+                                    {
+                                        if (button2 == null)
+                                        {
+                                            //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+                                            break;
+                                        }
+                                        button2.Text = value + "掳";
+                                    }
+                                    break;
+                            }
+
+                        }
+
+                    }
+                    break;
                 case SPK.AcStandard:
                 case SPK.HvacAC:
                     {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index c988fc3..b6334d8 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -346,6 +346,7 @@
                 case SPK.CurtainSwitch:
                 case SPK.CurtainRoller:
                 case SPK.CurtainTrietex:
+                case SPK.CurtainDream:
                     {
                         strPath = "LogicIcon/curtainlogic.png";
                     }
@@ -432,7 +433,8 @@
             var curtainjosn = deviceList.Find((device) =>
             device.spk == SPK.CurtainSwitch
             || device.spk == SPK.CurtainTrietex
-            || device.spk == SPK.CurtainRoller);
+            || device.spk == SPK.CurtainRoller
+            || device.spk == SPK.CurtainDream);
             if (curtainjosn != null)
             {
                 deviceStrTypeList.Add(Language.StringByID(StringId.Curtain));
@@ -528,6 +530,7 @@
                 functionTypeList.Add(SPK.CurtainSwitch);
                 functionTypeList.Add(SPK.CurtainRoller);
                 functionTypeList.Add(SPK.CurtainTrietex);
+                functionTypeList.Add(SPK.CurtainDream);
             }
             ///绌鸿皟绫�
             else if (deviceType == Language.StringByID(StringId.AC))
@@ -704,6 +707,7 @@
                         deviceTypeList.Add(SPK.AirSwitch);
                         deviceTypeList.Add(SPK.PanelSocket);
                         deviceTypeList.Add(SPK.ElectricSocket);
+                        deviceTypeList.Add(SPK.CurtainDream);
                     }
                     break;
             }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs
index 2bcf99d..ade04dc 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs
@@ -130,7 +130,7 @@
         /// <param name="titleName">鏍囬鍚嶇О</param>
         /// <param name="stateValue">涔嬪墠鐘舵�佸��</param>
         /// <param name="action">杩斿洖鍥炶皟</param>
-        public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string> action)
+        public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string,string> action)
         {
             FrameLayout fLayout = new FrameLayout
             {
@@ -147,14 +147,33 @@
             frameLayout.AddChidren(btn_add);
             frameLayout.AddChidren(btn_add_click);
             btnTitle.Text = titleName;
+            //杩涙潵鐨勭姸鎬�
+            if (stateValue.Contains("%"))
+            {
+                //鐧惧垎姣�
+            }
+            else if (stateValue.Contains("掳"))
+            {
+                //瑙掑害
+                //瑙掑害鍙栧�艰寖鍥�
+                seekBarVol.MinValue = 0;
+                seekBarVol.MaxValue = 180;
+                seekBarVol.ProgressBarUnitSring = "掳";
+            }
+            else
+            {
+                //闊抽噺娌℃湁鍗曚綅
+                seekBarVol.MinValue = 0;
+                seekBarVol.MaxValue = 100;
+                seekBarVol.ProgressBarUnitSring = "";
+            }
             //绗竴涓彉鍖栬褰曢�変腑鍊�
             int brightnesValue = 0;
             if (stateValue != "")
             {
                 try
                 {
-                    //杩涙潵鐨勭姸鎬�
-                    brightnesValue = int.Parse(stateValue.Replace("%", ""));
+                    brightnesValue = int.Parse(UnitDisposeSring(stateValue));
                     seekBarVol.Progress = brightnesValue;
                 }
                 catch { }
@@ -198,16 +217,63 @@
                 //{
                 //    return;
                 //}
-                action(brightnesValue.ToString());
+                action(brightnesValue.ToString(), UnitSring(stateValue));
                 //绉婚櫎fLayout鐣岄潰
                 fLayout.RemoveFromParent();
             };
 
 
         }
+        /// <summary>
+        //杩涘害鍊兼樉绀哄崟浣�
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
+        public string UnitSring(string str)
+        {
 
+            //杩涙潵鐨勭姸鎬�
+            if (str.Contains("%"))
+            {
+                //鐧惧垎姣�
+                return "%";
+            }
+            else if (str.Contains("掳"))
+            {
+                //瑙掑害
+                return "掳";
 
+            }
+            else {
+                //娌℃湁鍗曚綅
+                return "";
+            }
+        }
+        /// <summary>
+        ///鍘诲崟浣�
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
+        public string UnitDisposeSring(string str)
+        {
 
+            //杩涙潵鐨勭姸鎬�
+            if (str.Contains("%"))
+            {
+                //鐧惧垎姣�
+                return str.Replace("%", "");
+            }
+            else if (str.Contains("掳"))
+            {
+                //瑙掑害
+                return str.Replace("掳", "");
+            }
+            else
+            {
+                //娌℃湁鍗曚綅
+                return str;
+            }
+        }
 
         ///// <summary>
         ///// View鐨勬柟娉�
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 4b7c2fa..2fe4c85 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -186,6 +186,43 @@
                         #endregion
                     }
                     break;
+                case SPK.CurtainDream:
+                    {
+                        #region 鐣岄潰
+                        ///鐧惧垎姣�
+                        LogicView.FunTypeView crtainPercentumView = new LogicView.FunTypeView();
+                        crtainPercentumView.btnText.TextID = StringId.percentum;
+                        fLayout.AddChidren(crtainPercentumView.FLayoutView());
+                        crtainPercentumView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+                        ///瑙掑害
+                        LogicView.FunTypeView AngleView = new LogicView.FunTypeView();
+                        AngleView.frameLayout.Y = crtainPercentumView.frameLayout.Bottom;
+                        AngleView.btnText.TextID = StringId.Angle;
+                        fLayout.AddChidren(AngleView.FLayoutView());
+                        AngleView.btnState.Text = "10掳";
+                        ///璁惧寤舵椂iewv
+                        DelayView(fLayout, AngleView.frameLayout.Bottom);
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+
+                        ///鐧惧垎姣旂偣鍑讳簨浠�
+                        crtainPercentumView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            BrightnessMethod(device, crtainPercentumView.btnState, crtainPercentumView.btnText.Text);
+                        };
+                        ///瑙掑害鐐瑰嚮浜嬩欢
+                        AngleView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            BrightnessMethod(device, AngleView.btnState, AngleView.btnText.Text);
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditState(device, index, crtainPercentumView.btnState, AngleView.btnState, null, null);
+                        }
+                        #endregion
+                    }
+                    break;
                 case SPK.AcStandard:
                 case SPK.HvacAC:
                     {
@@ -647,10 +684,10 @@
             //涔嬪墠鐨勭姸鎬佸��
             string stateVlaue = button.Text;
             LogicView.BrightnessView brightness = new LogicView.BrightnessView();
-            brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) =>
+            brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue, unitStr) =>
             {
                 //鐣岄潰鏄剧ず閫変腑鍊�
-                button.Text = brightnesValue + "%";
+                button.Text = brightnesValue + unitStr;
                 selectedState = device.spk + brightnesValue.ToString();
                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                 string keyVlaue = "";
@@ -667,8 +704,14 @@
                         break;
                     case SPK.CurtainRoller:
                     case SPK.CurtainTrietex:
+                    case SPK.CurtainDream:
                         {
                             keyVlaue = "percent";
+                            if (unitStr == "掳")
+                            {
+                                //瑙掑害
+                                keyVlaue = "angle";
+                            }
                         }
                         break;
                 }

--
Gitblit v1.8.0