From 32ad85a377b00bc54ad7f15a45d7631d3e2b10d5 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 13 六月 2022 17:41:12 +0800
Subject: [PATCH] 2022年06月13日17:39:46

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs |  241 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 204 insertions(+), 37 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index e6fc71d..3afc54f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -176,6 +176,23 @@
                                     }
                                     break;
                                 //浼犳劅鍣�
+                                case SPK.SensorHelp:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "alarm")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.qiujiu);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.zhengchang);
+                                            }
+                                        }
+                                    }
+                                    break;
                                 case SPK.SensorSmoke:
                                 case SPK.SensorGas:
                                     {
@@ -311,6 +328,33 @@
                                     }
                                     break;
                                 case SPK.SenesorMegahealth:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            switch (dic["key"])
+                                            {
+                                                case "people_status":
+                                                    {
+                                                        if (value == "true")
+                                                        {
+                                                            inputView.btnState.Text = Language.StringByID(StringId.shi);
+                                                        }
+
+                                                    }
+                                                    break;
+                                                case "target_status":
+                                                    {
+                                                        if (value == "4")
+                                                        {
+                                                            inputView.btnState.Text = Language.StringByID(StringId.shi);
+                                                        }
+                                                    }
+                                                    break;
+                                            }
+
+                                        }
+                                    }break;
                                 case SPK.SenesorMegahealth2:
                                     {
                                         foreach (var dic in dicList)
@@ -403,31 +447,31 @@
                                     }
                                     break;
                                 case SPK.SensorCO2:
-                                    {
-                                        string str = new InpOrOutLogicMethod { }.GetText(dicList, "co2");
-                                        inputView.btnState.Text = str;
-
-                                    }
-                                    break;
                                 case SPK.SensorPm25:
-                                    {
-                                        string str = new InpOrOutLogicMethod { }.GetText(dicList, "pm25");
-                                        inputView.btnState.Text = str;
-
-                                    }
-                                    break;
                                 case SPK.SensorTVOC:
-                                    {
-                                        string str = new InpOrOutLogicMethod { }.GetText(dicList, "tvoc");
-                                        inputView.btnState.Text = str;
-
-                                    }
-                                    break;
                                 case SPK.SensorHcho:
                                     {
-                                        string str = new InpOrOutLogicMethod { }.GetText(dicList, "hcho");
+                                        string strvalue = ""; 
+                                        foreach (var dic in dicList)
+                                        {
+                                            strvalue = dic["value"];
+                                            break;
+                                        }
+                                        string str = new PublicInterface().GetSensorLevelText(device, strvalue, true);
                                         inputView.btnState.Text = str;
+                                    }
+                                    break;
+                                case SPK.DoorLock:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "open")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.kaiqi);
+                                            }
 
+                                        }
                                     }
                                     break;
                             }
@@ -939,6 +983,7 @@
                             targetView.btnText.Text = device.name;
                             //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
                             targetView.btnText.Width = Application.GetRealWidth(80);
+                            targetView.btnDelay.Visible = false;
                             //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
                             switch (device.spk)
                             {
@@ -991,8 +1036,6 @@
                                     }
                                     break;
                                 case SPK.CurtainSwitch:
-                                case SPK.CurtainTrietex:
-                                case SPK.CurtainRoller:
                                     {
                                         foreach (var dic in dicList)
                                         {
@@ -1015,6 +1058,29 @@
                                                     }
                                                     break;
                                             }
+                                        }
+                                    }
+                                    break;
+                                case SPK.CurtainTrietex:
+                                case SPK.CurtainRoller:
+                                    {
+                                        string on_off = GetKeyValue("on_off", dicList);
+                                        string percent = GetKeyValue("percent", dicList); 
+                                        if (on_off == "on" && percent != "")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic) + percent + "%";
+                                        }
+                                        else if (on_off == "on")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic);
+                                        }
+                                        else if (on_off == "off")
+                                        {
+                                            stateStr = Language.StringByID(StringId.offLogic);
+                                        }
+                                        else if (percent != "")
+                                        {
+                                            stateStr = percent + "%";
                                         }
                                     }
                                     break;
@@ -1361,7 +1427,7 @@
                 {
 
                     InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod();
-                    inpOrOutLogicMethod.Delayed(thisView, outputTarget, (value) =>
+                    inpOrOutLogicMethod.Delayed(thisView, outputTarget.delay, (value) =>
                     {
                         outputTarget.delay = value.ToString();
                         if (outputTarget.target_type == "1")
@@ -1454,8 +1520,6 @@
                     }
                     break;
                 case SPK.CurtainSwitch:
-                case SPK.CurtainTrietex:
-                case SPK.CurtainRoller:
                     {
                         foreach (var dic in dicList)
                         {
@@ -1479,6 +1543,52 @@
                                     break;
                             }
                         }
+                    }
+                    break;
+                case SPK.CurtainTrietex:
+                case SPK.CurtainRoller:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            switch (dic["key"])
+                            {
+                                case "on_off":
+                                    {
+                                        switch (value)
+                                        {
+                                            case "on":
+                                                {
+                                                    button1.Text = Language.StringByID(StringId.onLogic);
+                                                }
+                                                break;
+                                            case "off":
+                                                {
+                                                    button1.Text = Language.StringByID(StringId.offLogic);
+                                                }
+                                                break;
+                                            case "stop":
+                                                {
+                                                    button1.Text = Language.StringByID(StringId.stop);
+                                                }
+                                                break;
+                                        }
+                                    }
+                                    break;
+                                case "percent":
+                                    {
+                                        if (button2 == null)
+                                        {
+                                            //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+                                            break;
+                                        }
+                                        button2.Text = value + "%";
+                                    }
+                                    break;
+                            }
+
+                        }
+                        
                     }
                     break;
                 case SPK.AcStandard:
@@ -1744,6 +1854,22 @@
 
                     }
                     break;
+                case SPK.SensorHelp:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "alarm")
+                            {
+                                button1.Text = Language.StringByID(StringId.qiujiu);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.zhengchang);
+                            }
+                        }
+                    }
+                    break;
                 case SPK.SensorGas:
                 case SPK.SensorSmoke:
                     {
@@ -1869,6 +1995,34 @@
                     }
                     break;
                 case SPK.SenesorMegahealth:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            switch (dic["key"])
+                            {
+                                case "people_status":
+                                    {
+                                        if (value == "true")
+                                        {
+                                            button1.Text = Language.StringByID(StringId.shi);
+                                        }
+                                        
+                                    }
+                                    break;
+                                case "target_status":
+                                    {
+                                        if (value == "4")
+                                        {
+                                            button2.Text = Language.StringByID(StringId.shi);
+                                        }
+                                    }
+                                    break;
+                            }
+
+                        }
+                    }
+                    break;
                 case SPK.SenesorMegahealth2:
                     {
                         foreach (var dic in dicList)
@@ -1882,6 +2036,19 @@
                             {
                                 button1.Text = Language.StringByID(StringId.wuren);
                             }
+                        }
+                    }
+                    break;
+                case SPK.DoorLock:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "open")
+                            {
+                                button1.Text = Language.StringByID(StringId.shi);
+                            }
+                           
                         }
                     }
                     break;
@@ -2092,10 +2259,10 @@
         /// <summary>
         /// 寤舵椂鏃堕棿鏂规硶
         /// </summary>
-        /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
-        /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
-        /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
-        private void Delayed(FrameLayout thisFLayout, Output output, Action<int> action)
+        /// <param name="thisFLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+        /// <param name="delay">褰撳墠寤舵椂鏃堕棿</param>
+        /// <param name="action">鍥炶皟鍑芥暟</param>
+        public void Delayed(FrameLayout thisFLayout, string delay, Action<int> action)
         {
             FrameLayout fLayout = new FrameLayout
             {
@@ -2119,9 +2286,9 @@
             //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
             int timepoint = 5;
 
-            if (output.delay != "0")
+            if (delay != "0")
             {
-                int intValue = int.Parse(output.delay);
+                int intValue = int.Parse(delay);
                 var m = intValue / 60;
                 var s = intValue % 60;
 
@@ -2137,8 +2304,8 @@
             //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
             timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
             {
-                string minuet = timePointView.GethStringList0()[index1].Split(' ')[0];
-                string second = timePointView.GetmStringList()[index2].Split(' ')[0];
+                string minuet = timePointView.GetmStringList()[index1].Split(' ')[0];
+                string second = timePointView.GetsStringList()[index2].Split(' ')[0];
                 int minuetIntValue = int.Parse(minuet);
                 int secondIntValue = int.Parse(second);
                 timepoint = minuetIntValue * 60 + secondIntValue;
@@ -2146,11 +2313,11 @@
             //纭畾鐐瑰嚮浜嬩欢
             timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
             {
-                if (timepoint == 0)
-                {
-                    //鎻愮ず
-                    return;
-                }
+                //if (timepoint == 0)
+                //{
+                //    //鎻愮ず
+                //    return;
+                //}
                 fLayout.RemoveFromParent();
                 action(timepoint);
             };

--
Gitblit v1.8.0