From d3189eaa6be7c70ed5ac783efe68f43211a90d27 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 20 七月 2023 08:58:56 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' of http://172.16.1.23:6688/r/~wxr/OnPro into Dev-Branch --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 254 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 228 insertions(+), 26 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 58b303f..16d2d2d 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -247,7 +247,7 @@ { inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } - + } break; case SPK.SensorUtrasonic: @@ -307,12 +307,14 @@ { string value = this.GetValue(dicList); inputView.btnState.Text = Language.StringByID(StringId.wuren); - if (value == "fall") { + if (value == "fall") + { inputView.btnState.Text = Language.StringByID(StringId.diedao); } } break; - case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: + case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -376,7 +378,7 @@ case SPK.SensorTemperature: { - string str =this.GetText(dicList, "temperature"); + string str = this.GetText(dicList, "temperature"); inputView.btnState.Text = str; } break; @@ -409,22 +411,51 @@ break; case SPK.VideoDoorLock: { - string value = this.GetValue(dicList); - inputView.btnState.Text = value; + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + //var userId = dic["value"].ToString(); + //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); + //s += FaceItem.userName; + //s += ","; + //tag += FaceItem.userId; + //tag += "_"; + var userName = dic["value"].ToString(); + s += userName; + s += ","; + } + inputView.btnState.Text = s; } break; case SPK.doorgate: { + string s = string.Empty; if (inputCondition.identifier == "door_call_cloud_event") { - inputView.btnState.Text = Language.StringByID(StringId.shipintonghuahujiao); + s = Language.StringByID(StringId.shipintonghuahujiao); } else { - string userId = this.GetKeyValue("user_id",dicList); - var FaceItem = this.GetFaceItem(userId, device.deviceId); - inputView.btnState.Text = FaceItem.userName; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var userId = dic["value"].ToString(); + var FaceItem = this.GetFaceItem(userId, device.deviceId); + s += FaceItem.userName; + s += ","; + + + } + } + inputView.btnState.Text = s; } break; case SPK.IpCam_Imou: @@ -433,7 +464,38 @@ { inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); } - + + } + break; + case SPK.Ev_Ipcam: + if (inputCondition.identifier == "pir_event") + { + inputView.btnState.Text = Language.StringByID(StringId.On); + } + break; + case SPK.SensorPirHold: + { + string value = this.GetKeyValue("people_status", dicList); + if (string.IsNullOrEmpty(value)) + { + inputView.btnState.Text = inputCondition.hold_time + "s"; + break; + + } + + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) + { + + inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + } + + } break; } @@ -946,7 +1008,10 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { - + case SPK.CommonSeries: + targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; + stateStr = GetKeyValue("on_off", dicList) == "on" ? Language.StringByID(StringId.onLogic) : Language.StringByID(StringId.offLogic); + break; //鎻掑骇(鏈塙SB) case SPK.PanelSocket: { @@ -989,6 +1054,24 @@ case SPK.LightCCT: case SPK.LightDimming: { + if(device.spk == SPK.LightRGB) + { + string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); + if (!string.IsNullOrEmpty(colorful)) + { + targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; + if (colorful == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (colorful == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + + break; + } + } string on_off = GetKeyValue("on_off", dicList); string brightness = GetKeyValue("brightness", dicList); if (on_off == "on" && brightness != "") @@ -1015,9 +1098,28 @@ stateStr += "," +GetKeyValue("cct", dicList) + "k"; } } + if (device.spk == SPK.LightRGB) + { + string rgb = GetKeyValue("rgb", dicList); + if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) + { + targetView.btnStateColor.Visible = true; + targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); + } + } + if (device.spk == SPK.LightRGBW) + { + string rgb = GetKeyValue("rgbw", dicList); + if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) + { + targetView.btnStateColor.Visible = true; + targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); + } + } } break; + case SPK.CurtainSwitch: { foreach (var dic in dicList) @@ -1114,8 +1216,8 @@ if (set_temp != "") { - - stateStr += set_temp + "鈩�,"; + string unit =GetTemperatureUnit(device); + stateStr += set_temp + unit + ","; } if (mode != "") @@ -1212,8 +1314,8 @@ } if (set_temp != "") { - - stateStr += set_temp + "鈩�,"; + string unit = GetTemperatureUnit(device); + stateStr += set_temp + unit + ","; } if (mode != "") { @@ -1499,7 +1601,7 @@ //寮�鍏崇伅鍏� case SPK.AirSwitch: case SPK.LightSwitch: - //鏈烘鎵� + //鏈烘鎵� case SPK.MechanicalArm: { foreach (var dic in dicList) @@ -1558,6 +1660,22 @@ button3.Text = value + "k"; } break; + case "rgb": + case "rgbw": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + if (!string.IsNullOrEmpty(value) && value.Length > 6) + { + button3.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value); + button3.Tag = value; + } + } + break; + } } @@ -1701,7 +1819,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -1814,7 +1932,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -1949,6 +2067,7 @@ } } break; + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2015,6 +2134,23 @@ button1.Text = Language.StringByID(StringId.wuren); } } + } + break; + case SPK.SensorPirHold: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } break; case SPK.SensorDoorWindow: @@ -2139,11 +2275,23 @@ break; case SPK.VideoDoorLock: { - foreach (var dic in dicList) + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) { - string value = dic["value"]; - button1.Text = value; + var dic = dicList[b]; + //var userId = dic["value"].ToString(); + //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); + //s += FaceItem.userName; + //s += ","; + //tag += FaceItem.userId; + //tag += "_"; + var userName = dic["value"].ToString(); + s += userName; + s += ","; } + button1.Text = s; + button1.Tag = tag; } break; case SPK.MusicStandard: @@ -2164,11 +2312,28 @@ break; case SPK.doorgate: { - string value = this.GetKeyValue("user_id", dicList); - button2.Text = this.GetFaceItem(value, device.deviceId).userName; + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var userId = dic["value"].ToString(); + var FaceItem = this.GetFaceItem(userId, device.deviceId); + s += FaceItem.userName; + s += ","; + tag += FaceItem.userId; + tag += "_"; + } + button2.Text = s; + button2.Tag = tag; } break; - + } } /// <summary> @@ -2217,6 +2382,25 @@ return ""; } return dicList[0]["value"].ToString(); + } + /// <summary> + /// 鑾峰彇娓╁害鍗曚綅 + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public string GetTemperatureUnit(Entity.Function device) + { + string unit = string.Empty; + if (device.GetAttribute("temperature_type") != null && device.GetAttribute("temperature_type").value.Count > 0) + { + unit = device.GetAttribute("temperature_type").value[0]; + } + if (string.IsNullOrEmpty(unit)) + { + //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌� + unit = "鈩�"; + } + return unit; } /// <summary> ///鑾峰彇鑷姩鍖栧悕绉� @@ -2635,7 +2819,7 @@ } } /// <summary> - /// 鏌ユ壘鎸囧畾userId + /// 鏌ユ壘鎸囧畾鍙瀵硅userId /// </summary> /// <param name="userId"></param> /// <returns></returns> @@ -2652,6 +2836,24 @@ } return face; } + /// <summary> + /// 鏌ユ壘鎸囧畾钀ょ煶瑙嗛闂ㄩ攣userId + /// </summary> + /// <param name="userId"></param> + /// <returns></returns> + public Face GetVideoDoorLockUserItem(string userId, Function device) + { + if (Send.Current.VideoDoorLockUserListInfo.Count == 0) + { + Send.Current.GetVideoDoorLockUserListInfo(device); + } + var face = Send.Current.VideoDoorLockUserListInfo.Find((o) => { return o.userId == userId; }); + if (face == null) + { + face = new Face(); + } + return face; + } } } -- Gitblit v1.8.0