From 23c9d1577fd0c02ca6976c874855ad60268646b8 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 25 七月 2022 10:31:16 +0800
Subject: [PATCH] 2022年07月25日10:31:11

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  156 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 154 insertions(+), 2 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 7f0cc74..24f5dc4 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -24,10 +24,20 @@
         /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵��
         /// </summary>
         private string selectedState = "unknown";
+        /// <summary>
+        /// 鏄笉鏄啀娆$紪杈�
+        /// </summary>
+        private bool mEdit;
+        /// <summary>
+        /// 杈撳叆鏉′欢鍒楄〃绱㈠紩鍊�
+        /// </summary>
+        private int mIndex;
 
         public void Show(Entity.Function device, int index, bool edit)
         {
             this.function = device;
+            this.mEdit = edit;
+            this.mIndex = index;
             #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             LogicView.TopView topView = new LogicView.TopView();
@@ -206,6 +216,40 @@
                         view1.frameLayout.Y = view.frameLayout.Bottom;
                         view1.btnText.TextID = StringId.fangchaigongneng;
                         fLayout.AddChidren(view1.FLayoutView());
+
+
+                        int intValue = 0;
+                        if (edit)
+                        {
+                            Input inputs = Logic.currlogic.input[index];
+                            var dicList = inputs.condition;
+                            foreach (var dic in dicList)
+                            {
+                                if (dic["key"] == "people_status")
+                                {
+                                    //鏈変汉/鏃犱汉
+                                    intValue = 1;
+                                }
+                                else
+                                {
+                                    //闃叉媶鍔熻兘
+                                    intValue = 2;
+                                }
+                                break;
+
+                            }
+                        }
+                        if (intValue == 1)
+                        {
+                            //鏈変汉/鏃犱汉
+                            view1.frameLayout.Visible = false;
+
+                        }
+                        else if (intValue == 2)
+                        {
+                            //闃叉媶鍔熻兘
+                            view1.frameLayout.Y = Application.GetRealHeight(0);
+                        }
                         view1.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
                             DeviceView(device, view1.btnState, StringId.zaixian, StringId.buzaixian);
@@ -217,8 +261,69 @@
                         }
                     }
                     break;
-                //姣背娉紶鎰熷櫒
+                //姣背娉紶鎰熷櫒(鑷爺鍖楅偖)
                 case SPK.SenesorMegahealth:
+                    {
+                        
+                        LogicView.FunTypeView view1= new LogicView.FunTypeView(); 
+                        view1.btnText.TextID = StringId.diedaobaojing;
+                        view1.btnState.Name = Language.StringByID(StringId.diedaobaojing);
+                        fLayout.AddChidren(view1.FLayoutView());
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view1.btnState, StringId.shi, StringId.offLogic, 1);
+                        };
+                        
+                        LogicView.FunTypeView view2 = new LogicView.FunTypeView();
+                        view2.frameLayout.Y = view1.frameLayout.Bottom;
+                        view2.btnText.TextID = StringId.yourenbaojing;
+                        view2.btnState.Name = Language.StringByID(StringId.yourenbaojing);
+                        fLayout.AddChidren(view2.FLayoutView());
+                        int intValue = 0;
+                        if (edit)
+                        {
+                            Input inputs = Logic.currlogic.input[index];
+                            var dicList = inputs.condition;
+                            foreach (var dic in dicList)
+                            {
+                                if (dic["key"] == "target_status")
+                                {
+                                    //璺屽�掓姤璀�
+                                    intValue = 1;
+                                }
+                                else
+                                {
+                                    //鏈変汉鎶ヨ
+                                    intValue = 2;
+                                }
+                                break;
+
+                            }
+                        }
+                        if (intValue == 1)
+                        {
+                            //璺屽�掓姤璀�
+                            view2.frameLayout.Visible = false;
+
+                        }
+                        else if (intValue == 2)
+                        {
+                            //鏈変汉鎶ヨ
+                            view2.frameLayout.Y = Application.GetRealHeight(0);
+                        }
+
+                        view2.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view2.btnState, StringId.youren, StringId.wuren, 2);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view1.btnState, view2.btnState, null, null);
+                        }
+
+                    }
+                    break;
+                //姣背娉紶鎰熷櫒(鍏嗚涓撶敤浜戜簯瀵规帴)
                 case SPK.SenesorMegahealth2:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -550,6 +655,23 @@
                         }
                         break;
                     case SPK.SenesorMegahealth:
+                        {
+                            if (button != null)
+                            {
+                                
+                                if (button.Name == Language.StringByID(StringId.yourenbaojing))
+                                {
+                                    keyVlaue = "people_status";
+                                   
+                                }
+                                else
+                                {
+                                    keyVlaue = "target_status";
+                                }
+                            }
+
+                        }
+                        break;
                     case SPK.SenesorMegahealth2:
                         {
                             keyVlaue = "action_state";
@@ -597,7 +719,7 @@
                         break;
                     case StringId.wuren:
                         {
-                            if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2)
+                            if (device.spk == SPK.SenesorMegahealth2)
                             {
                                 value = "uninhabited";
                             }
@@ -608,6 +730,25 @@
                         }
                         break;
                     case StringId.shi:
+                        {
+                            value = "open";
+                            if (button != null)
+                            {
+
+                                if (button.Name == Language.StringByID(StringId.yourenbaojing))
+                                {
+                                    //鐘舵��(鏈変汉)
+                                    value = "true";
+
+                                }
+                                else if(button.Name == Language.StringByID(StringId.diedaobaojing))
+                                {
+                                    //璺屽��
+                                    value = "4";
+                                }
+                            }
+                        }
+                        break;
                     case StringId.kaiqi:
                         {
                             value = "open";
@@ -639,6 +780,17 @@
                 button.TextID = intValue;
                 selectedState = device.spk + "_" + value;
                 AddDictionary(keyVlaue, value, "string");
+                if (button != null)
+                {
+
+                    if (button.Name == Language.StringByID(StringId.yourenbaojing)
+                    || (button.Name == Language.StringByID(StringId.diedaobaojing)))
+                    {
+                        //鍙湁姣背娉紶鎰熷櫒(鑷爺)
+                        Save(device, mIndex, mEdit);
+                    }
+                }
+            
 
             });
 

--
Gitblit v1.8.0