From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  113 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 21 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 6944734..01a0587 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -13,6 +13,10 @@
             Tag = "Logic";
         }
         /// <summary>
+        /// 褰撳墠閫変腑鐨勫姛鑳�
+        /// </summary>
+        private Entity.Function function = null;
+        /// <summary>
         /// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱
         /// </summary>
         private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>();
@@ -23,6 +27,7 @@
 
         public void Show(Entity.Function device, int index, bool edit)
         {
+            this.function = device;
             #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             LogicView.TopView topView = new LogicView.TopView();
@@ -43,6 +48,7 @@
             switch (device.spk)
             {
                 //寮�鍏崇伅鍏� light.Switch
+                case SPK.AirSwitch:
                 case SPK.LightDimming:
                 case SPK.LightRGB:
                 case SPK.LightRGBW:
@@ -54,10 +60,16 @@
                 case SPK.CurtainTrietex:
                 //绌鸿皟
                 case SPK.AcStandard:
+                case SPK.HvacAC:
                 //鍦扮儹
                 case SPK.FloorHeatStandard:
+                case SPK.HvacFloorHeat:
                 //鏂伴
                 case SPK.AirFreshStandard:
+                case SPK.HvacAirFresh:
+                //鎻掑骇
+                case SPK.PanelSocket:
+                case SPK.ElectricSocket:
                     {
 
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -110,6 +122,7 @@
                     break;
                 //骞叉帴鐐�
                 case SPK.SensorDryContact:
+                case SPK.SensorDryContact2:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
                         view.btnText.TextID = StringId.switchLogic;
@@ -189,6 +202,7 @@
                     break;
                 //姣背娉紶鎰熷櫒
                 case SPK.SenesorMegahealth:
+                case SPK.SenesorMegahealth2:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
                         view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵��
@@ -360,17 +374,16 @@
                     }
                     break;
                 //鐢查啗
-                case SPK.:
+                case SPK.SensorHcho:
                     {
-                        ///tvoc
-                        LogicView.FunTypeView tvocView = new LogicView.FunTypeView();
-                        tvocView.btnText.TextID = StringId.tvoc;
-                        fLayout.AddChidren(tvocView.FLayoutView());
-
-                        ///tvoc鐐瑰嚮浜嬩欢
-                        tvocView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        ///hcho
+                        LogicView.FunTypeView hchoView = new LogicView.FunTypeView();
+                        hchoView.btnText.TextID = StringId.Formaldehyde;
+                        fLayout.AddChidren(hchoView.FLayoutView());
+                        ///hcho鐐瑰嚮浜嬩欢
+                        hchoView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit);
+                            PmCo2TvocAction(this, device, "hcho", StringId.Formaldehyde, index, edit);
 
                         };
                     }
@@ -465,22 +478,48 @@
                 switch (device.spk)
                 {
                     //浼犳劅鍣�
+                    case SPK.SensorGas:
                     case SPK.SensorWater:
                     case SPK.SensorSmoke:
-                    case SPK.SensorGas:
-                    case SPK.SensorDryContact:
-                    case SPK.SensorShanLan:
-                    case SPK.SensorDuiShe:
-                    case SPK.SensorPir:
+                        {
+                            keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue)) {
+                                keyVlaue = "alarm_status";
+                            } 
+                        };
+                        break;
                     case SPK.SensorDoorWindow:
+                    case SPK.SensorDryContact:
+                    case SPK.SensorDryContact2:
+                        {
+                            keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "contact_status";
+                            }
+                        }
+                        break;
+                    case SPK.SensorDuiShe:
+                    case SPK.SensorShanLan:
+                    case SPK.SensorPir:
                     case SPK.SensorUtrasonic:
                         {
                             keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "people_status";
+                            }
+
                         }
                         break;
                     case SPK.SenesorMegahealth:
+                    case SPK.SenesorMegahealth2:
                         {
                             keyVlaue = "action_state";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "megahealth_state";
+                            }
                         }
                         break;
 
@@ -516,7 +555,7 @@
                         break;
                     case StringId.wuren:
                         {
-                            if (device.spk == SPK.SenesorMegahealth)
+                            if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2)
                             {
                                 value = "uninhabited";
                             }
@@ -624,7 +663,7 @@
         /// <param name="index"></param>
         /// <param name="edit"></param>
         /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param>
-        public void PmCo2TvocAction(FrameLayout frame, Entity.Function device,string key,int title, int index, bool edit, string stateValue = "")
+        public void PmCo2TvocAction(FrameLayout frame, Entity.Function device, string key, int title, int index, bool edit, string stateValue = "")
         {
             if (edit)
             {
@@ -637,15 +676,32 @@
                     dicSateteList = inputs.condition;
                 }
             }
-            PublicInterface view = new PublicInterface();  
-            var listStr = view.GetViewList(key); 
+            PublicInterface view = new PublicInterface();
+            var listStr = view.GetViewList(key);
             view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetString(key, stateValue)
                , (text) =>
                {
+                  
                    var value = view.GetValue(key, text);
-                   selectedState = device.spk + "_"+ key;
-                   AddDictionary(key, value, "integer","in");
-                   Save(device,index, edit);
+                   selectedState = device.spk + "_" + key;
+                   switch (device.spk)
+                   {
+                       case SPK.SensorTemperature:
+                       case SPK.SensorHumidity:
+                       case SPK.SensorCO2:
+                       case SPK.SensorPm25:
+                       case SPK.SensorTVOC:
+                       case SPK.SensorHcho:
+                           {
+                               if (!Is_SpkAttribute(key))
+                               {
+                                   key = "value";
+                               }
+                           }
+                           break;
+                   }
+                   AddDictionary(key, value, "integer", "in");
+                   Save(device, index, edit);
                });
         }
         /// <summary>
@@ -790,6 +846,21 @@
             return false;
         }
 
+        /// <summary>
+        /// 璇嗗埆浣跨敤鍔熻兘鏄惁瀛樺湪灞炴��
+        /// </summary>
+        /// <param name="key">璁惧灞炴�э紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+        /// <returns></returns>
+        private bool Is_SpkAttribute(string key) {
+            ///淇敼鏂板睘鎬�
+            ///璇嗗埆浣跨敤鍔熻兘鏄惁瀛樺湪灞炴��
+            var job = this.function.GetAttribute(key);
+            if (job != null)
+            {
+                return true;
+            }
+            return false;
+        }
        
     }
 }

--
Gitblit v1.8.0