From 0a11352dffeb8d5f31dd40b9728fe1abf4537f04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 九月 2023 18:06:45 +0800 Subject: [PATCH] 2023年09月01日18:06:42 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 153 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 136 insertions(+), 17 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 8f0d13f..78ef5ab 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -194,7 +194,7 @@ } break; //浜轰綋瀛樺湪浼犳劅鍣� - case SPK.sensorPirhold: + case SPK.SensorPirHold: { @@ -215,12 +215,12 @@ view2.btnClick.MouseUpEventHandler += (sender, e) => { //涓荤晫闈㈡帶浠� - FrameLayout fLayout = new FrameLayout + FrameLayout fLayout2 = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; - this.AddChidren(fLayout); - TimeView(fLayout, device, view2.btnState); + this.AddChidren(fLayout2); + TimeView(fLayout2, device, view2.btnState); }; @@ -573,6 +573,26 @@ }; } break; + //鐓у害浼犳劅鍣� + case SPK.SensorLight: + { + + ///鐓у害浼犳劅鍣� + LogicView.FunTypeView illuminanceView = new LogicView.FunTypeView(); + illuminanceView.btnText.TextID = StringId.zhaomingdu; + fLayout.AddChidren(illuminanceView.FLayoutView()); + + ///鐐瑰嚮浜嬩欢 + illuminanceView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.zhaomingdugaoyu, StringId.zhaomingdudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + + }; + } + break; //鐢查啗 case SPK.SensorHcho: { @@ -696,6 +716,38 @@ } } break; + case SPK.Peephole: + LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView(); + viewPeephole.btnText.TextID = StringId.ActivityDetection; + //viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo); + fLayout.AddChidren(viewPeephole.FLayoutView()); + viewPeephole.btnClick.MouseUpEventHandler += (sender, e) => + { + this.identifier = "pir_event";//浜轰綋鎰熷簲鍛婅 + this.DeviceView(device, viewPeephole.btnState, StringId.shi, StringId.offLogic, 1); + + }; + if (edit) + { + this.GetEditState(device, index, viewPeephole.btnState, null, null, null); + } + break; + case SPK.Ev_Ipcam: + LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView(); + viewEzIpcam.btnText.TextID = StringId.ActivityDetection; + //viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo); + fLayout.AddChidren(viewEzIpcam.FLayoutView()); + viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) => + { + this.identifier = "motiondetect_event";//浜轰綋鎰熷簲鍛婅 + this.DeviceView(device, viewEzIpcam.btnState, StringId.shi, StringId.offLogic, 1); + + }; + if (edit) + { + this.GetEditState(device, index, viewEzIpcam.btnState, null, null, null); + } + break; } #region 淇濆瓨 @@ -747,13 +799,28 @@ inputDevice.condition = new List<Dictionary<string, string>>(); } } + else if(device.spk == SPK.Peephole) + { + //鐚溂-浜轰綋鎰熷簲鍛婅 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + inputDevice.condition = new List<Dictionary<string, string>>(); + } + else if(device.spk == SPK.Ev_Ipcam) + { + //钀ょ煶鎽勫儚澶�-绉诲姩鐩戞祴鍛婅 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + inputDevice.condition = new List<Dictionary<string, string>>(); + } else if (device.spk == SPK.VideoDoorLock) { ////钀ょ煶瑙嗛闂ㄩ攣 inputDevice.condition_type = "9"; inputDevice.identifier = this.identifier; + inputDevice.condition = new List<Dictionary<string, string>>(); } - else if (device.spk == SPK.sensorPirhold) + else if (device.spk == SPK.SensorPirHold) { //浜轰綋瀛樺湪浼犳劅鍣� inputDevice.hold_time = this.hold_time; @@ -844,7 +911,7 @@ } } break; - case SPK.sensorPirhold: + case SPK.SensorPirHold: case SPK.SensorDuiShe: case SPK.SensorShanLan: case SPK.SensorPir: @@ -1013,6 +1080,7 @@ { if (edit) { + this.function = device; Input inputs = Logic.currlogic.input[index]; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); @@ -1022,44 +1090,63 @@ dicSateteList.AddRange(inputs.condition); } } + int max = 100; + if (device.spk == SPK.SensorLight) + { + //鐓ф槑浼犳劅鍣� + max =int.MaxValue; + } + new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => { - string keyValue = "20"; + string key = "20"; string data_type = "integer"; string comparator = "="; switch (textInt) { case StringId.wendugaoyu: { - keyValue = "temperature"; + key = "temperature"; comparator = ">"; data_type = "float"; } break; case StringId.wendudiyu: { - keyValue = "temperature"; + key = "temperature"; comparator = "<"; data_type = "float"; } break; case StringId.shidugaoyu: { - keyValue = "humidity"; + key = "humidity"; comparator = ">"; } break; case StringId.shidudiyu: { - keyValue = "humidity"; + key = "humidity"; + comparator = "<"; + } + break; + case StringId.zhaomingdugaoyu: + { + key = "illuminance"; + comparator = ">"; + } + break; + case StringId.zhaomingdudiyu: + { + key = "illuminance"; comparator = "<"; } break; } selectedState = device.spk + "_" + value; - AddDictionary(keyValue, value, data_type, comparator); + AddDictionary(key, value, data_type, comparator); SaveInput(device,index, edit); - }); + },1,max); } /// PM2.5,Co2,Tvoc璁剧疆鍊� /// </summary> @@ -1313,7 +1400,32 @@ //鏈夋暟鎹噸鏂拌祴鍊� dicSateteList.AddRange(dicList); } - InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4); + //浜嬩欢涓撶敤 + switch (device.spk) + { + case SPK.IpCam_Imou: + { + if (inputs.identifier == "ipcam_region_alram_event") + { + button1.Text = Language.StringByID(StringId.shi); + } + + } + break; + case SPK.Peephole: + if (inputs.identifier == "pir_event") + { + button1.Text = Language.StringByID(StringId.shi ); + } + break; + case SPK.Ev_Ipcam: + if (inputs.identifier == "motiondetect_event") + { + button1.Text = Language.StringByID(StringId.shi); + } + break; + } + InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, ""); } /// <summary> /// 娣诲姞閫変腑鏁版嵁 @@ -1405,7 +1517,7 @@ string value = dic["value"]; if (dictionaryA["key"] == key && dictionaryA["comparator"] == comparatorValue) { - if (this.checkSpk()) + if (this.CheckSpk()) { //鏈変簺璁惧闇�瑕佸鍔犺繖涓垽鏂� if (dictionaryA["value"] == value) @@ -1429,8 +1541,12 @@ /// 妫�鏌ユ槸鍚︽敮鎸� /// </summary> /// <returns></returns> - private bool checkSpk() + private bool CheckSpk() { + if (this.function == null) + { + return false; + } if (this.function.spk == SPK.VideoDoorLock || this.function.spk == SPK.doorgate ) @@ -1448,7 +1564,10 @@ /// <returns></returns> public bool IsContainsAll(List<Dictionary<string, string>> dictionaryA, List<Dictionary<string, string>> dictionaryB) { - + if (dictionaryA.Count == 0 || dictionaryB.Count == 0) { + //钀ょ煶鐚溂锛屾憚鍍忓ご锛屽ぇ鍗庢憚鍍忓ご鍙湁浜嬩欢锛屾病鏈夎緭鍏ユ潯浠� + return true; + } for (int i = 0; i < dictionaryA.Count; i++) { var dic = dictionaryA[i]; -- Gitblit v1.8.0