From 46a177eb1acf7ce91af7fe9ff57af87228de938d Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 17 十月 2023 10:03:24 +0800 Subject: [PATCH] IOS库更新 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 135 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 117 insertions(+), 18 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index affe59a..345ebdd 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; +using Newtonsoft.Json; + namespace HDL_ON.UI.UI2.Intelligence.Automation { @@ -59,6 +61,7 @@ public void Show(Entity.Function device, int index, bool edit) { + this.function = device; this.mEdit = edit; this.mIndex = index; @@ -255,6 +258,22 @@ view.btnClick.MouseUpEventHandler += (sender, e) => { DeviceView(device, view.btnState, StringId.kaiqi, StringId.bihe); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //绱ф�ュ懠鍙紶鎰熷櫒 + case SPK.SensorHelp: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.qiujiuandzhengchang; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang ); }; if (edit) { @@ -573,6 +592,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: { @@ -699,7 +738,7 @@ case SPK.Peephole: LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView(); viewPeephole.btnText.TextID = StringId.ActivityDetection; - viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo); + //viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo); fLayout.AddChidren(viewPeephole.FLayoutView()); viewPeephole.btnClick.MouseUpEventHandler += (sender, e) => { @@ -715,7 +754,7 @@ case SPK.Ev_Ipcam: LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView(); viewEzIpcam.btnText.TextID = StringId.ActivityDetection; - viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo); + //viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo); fLayout.AddChidren(viewEzIpcam.FLayoutView()); viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) => { @@ -784,18 +823,21 @@ //鐚溂-浜轰綋鎰熷簲鍛婅 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) { @@ -870,6 +912,7 @@ case SPK.SensorGas: case SPK.SensorWater: case SPK.SensorSmoke: + case SPK.SensorHelp: { keyVlaue = "status"; if (!Is_SpkAttribute(keyVlaue)) { @@ -940,12 +983,14 @@ { case StringId.xieluo: case StringId.luoshui: + case StringId.qiujiu: { value = "alarm"; } break; case StringId.wuxieluo: case StringId.wuluoshui: + case StringId.zhengchang: { value = "normal"; } @@ -1057,6 +1102,7 @@ { if (edit) { + this.function = device; Input inputs = Logic.currlogic.input[index]; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); @@ -1066,44 +1112,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> @@ -1261,8 +1326,10 @@ if (indexeList.Count > 0) { dicSateteList.Clear(); - string s = string.Empty; + string seleTxet = string.Empty; string tag = string.Empty; + string[] array = new string[indexeList.Count]; + for (int i = 0; i < indexeList.Count; i++) { if (i > faceIdList.Count) @@ -1271,15 +1338,15 @@ } var indexe = indexeList[i]; var face = faceIdList[indexe]; - //鏁版嵁灏佽<楂樿儨璇磋悿鐭抽偅杈规槸鎺ㄩ�佺敤鎴峰悕> - AddDictionary("open_user", face.userName, "string"); - s += face.userName; - s += ","; tag += face.userId; tag += "_"; + array[i] = face.userName; } + seleTxet = Newtonsoft.Json.JsonConvert.SerializeObject(array); + //鏁版嵁灏佽<楂樿儨璇磋悿鐭抽偅杈规槸鎺ㄩ�佺敤鎴峰悕> + AddDictionary("open_user",seleTxet, "string", "[]"); //鐣岄潰鏄剧ず閫変腑鍊� - btnState.Text = s; + btnState.Text = InpOrOutLogicMethod.Current.RemoveLastStr(seleTxet); btnState.Tag = tag; } @@ -1357,7 +1424,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> /// 娣诲姞閫変腑鏁版嵁 @@ -1475,6 +1567,10 @@ /// <returns></returns> private bool CheckSpk() { + if (this.function == null) + { + return false; + } if (this.function.spk == SPK.VideoDoorLock || this.function.spk == SPK.doorgate ) @@ -1483,7 +1579,7 @@ } return false; - } + } /// <summary> /// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA /// </summary> @@ -1492,7 +1588,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