From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 十二月 2021 09:01:53 +0800 Subject: [PATCH] 更新 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 113 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 92 insertions(+), 21 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 6944734..01a0587 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -13,6 +13,10 @@ Tag = "Logic"; } /// <summary> + /// 褰撳墠閫変腑鐨勫姛鑳� + /// </summary> + private Entity.Function function = null; + /// <summary> /// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱 /// </summary> private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>(); @@ -23,6 +27,7 @@ public void Show(Entity.Function device, int index, bool edit) { + this.function = device; #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); @@ -43,6 +48,7 @@ switch (device.spk) { //寮�鍏崇伅鍏� light.Switch + case SPK.AirSwitch: case SPK.LightDimming: case SPK.LightRGB: case SPK.LightRGBW: @@ -54,10 +60,16 @@ case SPK.CurtainTrietex: //绌鸿皟 case SPK.AcStandard: + case SPK.HvacAC: //鍦扮儹 case SPK.FloorHeatStandard: + case SPK.HvacFloorHeat: //鏂伴 case SPK.AirFreshStandard: + case SPK.HvacAirFresh: + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: { LogicView.FunTypeView view = new LogicView.FunTypeView(); @@ -110,6 +122,7 @@ break; //骞叉帴鐐� case SPK.SensorDryContact: + case SPK.SensorDryContact2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnText.TextID = StringId.switchLogic; @@ -189,6 +202,7 @@ break; //姣背娉紶鎰熷櫒 case SPK.SenesorMegahealth: + case SPK.SenesorMegahealth2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵�� @@ -360,17 +374,16 @@ } break; //鐢查啗 - case SPK.: + case SPK.SensorHcho: { - ///tvoc - LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); - tvocView.btnText.TextID = StringId.tvoc; - fLayout.AddChidren(tvocView.FLayoutView()); - - ///tvoc鐐瑰嚮浜嬩欢 - tvocView.btnClick.MouseUpEventHandler += (sender, e) => + ///hcho + LogicView.FunTypeView hchoView = new LogicView.FunTypeView(); + hchoView.btnText.TextID = StringId.Formaldehyde; + fLayout.AddChidren(hchoView.FLayoutView()); + ///hcho鐐瑰嚮浜嬩欢 + hchoView.btnClick.MouseUpEventHandler += (sender, e) => { - PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit); + PmCo2TvocAction(this, device, "hcho", StringId.Formaldehyde, index, edit); }; } @@ -465,22 +478,48 @@ switch (device.spk) { //浼犳劅鍣� + case SPK.SensorGas: case SPK.SensorWater: case SPK.SensorSmoke: - case SPK.SensorGas: - case SPK.SensorDryContact: - case SPK.SensorShanLan: - case SPK.SensorDuiShe: - case SPK.SensorPir: + { + keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) { + keyVlaue = "alarm_status"; + } + }; + break; case SPK.SensorDoorWindow: + case SPK.SensorDryContact: + case SPK.SensorDryContact2: + { + keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "contact_status"; + } + } + break; + case SPK.SensorDuiShe: + case SPK.SensorShanLan: + case SPK.SensorPir: case SPK.SensorUtrasonic: { keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "people_status"; + } + } break; case SPK.SenesorMegahealth: + case SPK.SenesorMegahealth2: { keyVlaue = "action_state"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "megahealth_state"; + } } break; @@ -516,7 +555,7 @@ break; case StringId.wuren: { - if (device.spk == SPK.SenesorMegahealth) + if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2) { value = "uninhabited"; } @@ -624,7 +663,7 @@ /// <param name="index"></param> /// <param name="edit"></param> /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param> - public void PmCo2TvocAction(FrameLayout frame, Entity.Function device,string key,int title, int index, bool edit, string stateValue = "") + public void PmCo2TvocAction(FrameLayout frame, Entity.Function device, string key, int title, int index, bool edit, string stateValue = "") { if (edit) { @@ -637,15 +676,32 @@ dicSateteList = inputs.condition; } } - PublicInterface view = new PublicInterface(); - var listStr = view.GetViewList(key); + PublicInterface view = new PublicInterface(); + var listStr = view.GetViewList(key); view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetString(key, stateValue) , (text) => { + var value = view.GetValue(key, text); - selectedState = device.spk + "_"+ key; - AddDictionary(key, value, "integer","in"); - Save(device,index, edit); + selectedState = device.spk + "_" + key; + switch (device.spk) + { + case SPK.SensorTemperature: + case SPK.SensorHumidity: + case SPK.SensorCO2: + case SPK.SensorPm25: + case SPK.SensorTVOC: + case SPK.SensorHcho: + { + if (!Is_SpkAttribute(key)) + { + key = "value"; + } + } + break; + } + AddDictionary(key, value, "integer", "in"); + Save(device, index, edit); }); } /// <summary> @@ -790,6 +846,21 @@ return false; } + /// <summary> + /// 璇嗗埆浣跨敤鍔熻兘鏄惁瀛樺湪灞炴�� + /// </summary> + /// <param name="key">璁惧灞炴�э紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <returns></returns> + private bool Is_SpkAttribute(string key) { + ///淇敼鏂板睘鎬� + ///璇嗗埆浣跨敤鍔熻兘鏄惁瀛樺湪灞炴�� + var job = this.function.GetAttribute(key); + if (job != null) + { + return true; + } + return false; + } } } -- Gitblit v1.8.0