From 8369943018da4ffe3fed1ecf5992edaee597d49c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 05 六月 2023 17:44:29 +0800
Subject: [PATCH] 2023年06月05日17:44:04

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

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 0cf91cc..8f0d13f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -36,6 +36,12 @@
         /// 鍙瀵硅涓撶敤
         /// </summary>
         private string identifier;
+        /// <summary>
+        /// 浜轰綋浼犳劅鍣ㄦ寔缁椂闂翠笓鐢�
+        /// </summary>
+        private string hold_time=string.Empty;
+
+        
 
         private static ConditionDeviceFunList m_Current = null;
 
@@ -184,6 +190,59 @@
                         if (edit)
                         {
                             GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //浜轰綋瀛樺湪浼犳劅鍣�
+                case SPK.sensorPirhold:
+                    {
+                       
+
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.btnText.TextID = StringId.rentijiance;
+                        view1.btnText.Name = Language.StringByID(StringId.rentijiance);
+                        fLayout.AddChidren(view1.FLayoutView());
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view1.btnState, StringId.youren, StringId.wuren);
+
+                        };
+
+                        LogicView.FunTypeView view2 = new LogicView.FunTypeView();
+                        view2.frameLayout.Y = view1.frameLayout.Bottom;
+                        view2.btnText.TextID = StringId.chixushijian;
+                        fLayout.AddChidren(view2.FLayoutView());
+                        view2.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            //涓荤晫闈㈡帶浠�
+                            FrameLayout fLayout = new FrameLayout
+                            {
+                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                            };
+                            this.AddChidren(fLayout);
+                            TimeView(fLayout, device, view2.btnState);
+
+                        };
+
+
+                        if (edit)
+                        {
+                            try
+                            {
+                                Input inputs = Logic.currlogic.input[index];
+                                if (!string.IsNullOrEmpty(inputs.hold_time) && int.Parse(inputs.hold_time) > 0)
+                                {
+                                    int time = int.Parse(inputs.hold_time);
+                                    int h = time / (60 * 60);
+                                    int m = time % (60 * 60) / 60;
+                                    int s = (time % (60 * 60) % 60);
+                                    view2.btnState.Text = inputs.hold_time + "s";
+                                    view2.btnState.Name = h + ":" + m + ":" + s;
+                                    this.hold_time = inputs.hold_time;
+                                }
+                            }
+                            catch { }
+                            GetEditState(device, index, view1.btnState, view2.btnState, null, null);
                         }
                     }
                     break;
@@ -694,6 +753,11 @@
                     inputDevice.condition_type = "9";
                     inputDevice.identifier = this.identifier;
                 }
+                else if (device.spk == SPK.sensorPirhold)
+                {
+                    //浜轰綋瀛樺湪浼犳劅鍣�
+                    inputDevice.hold_time = this.hold_time;
+                }
 
 
                 if (edit)
@@ -737,6 +801,7 @@
             }
 
         }
+
         /// <summary>
         /// 璁惧閫夋嫨鏉′欢鐣岄潰
         /// </summary>
@@ -779,6 +844,7 @@
                             }
                         }
                         break;
+                    case SPK.sensorPirhold:
                     case SPK.SensorDuiShe:
                     case SPK.SensorShanLan:
                     case SPK.SensorPir:
@@ -1191,6 +1257,43 @@
         }
 
         /// <summary>
+        /// 鏃堕棿鏂规硶
+        /// </summary>
+        /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+        /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
+        /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
+        private void TimeView(FrameLayout fLayout,Function device, Button button)
+        {
+
+            LogicView.TimeView timePointView = new LogicView.TimeView();
+            timePointView.FLayoutView(fLayout);
+            timePointView.Time(fLayout, button.Name, (timeValue) =>
+            {
+                try
+                {
+                    if (timeValue.Contains(":"))
+                    {
+                        string[] ary = timeValue.Split(':');
+
+                        int h = int.Parse(ary[0]) * 60 * 60;
+                        int m = int.Parse(ary[1]) * 60;
+                        int s = int.Parse(ary[2]);
+                        this.hold_time = (h + m + s).ToString();
+                        if (button != null)
+                        {
+                            button.Text = this.hold_time + "s";
+                            button.Name = timeValue;
+                        }
+                        selectedState = device.spk + "_" + timeValue;
+                    }
+                }
+                catch { }
+
+            });
+
+        }
+
+        /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
         /// </summary>
         /// <param name="device">缂栬緫璁惧</param>

--
Gitblit v1.8.0