From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 198 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 185 insertions(+), 13 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 9423a49..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,8 +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(); @@ -104,11 +118,11 @@ { GetEditState(device, index, view.btnState, null, null, null); } - } break; //骞叉帴鐐� case SPK.SensorDryContact: + case SPK.SensorDryContact2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnText.TextID = StringId.switchLogic; @@ -188,6 +202,7 @@ break; //姣背娉紶鎰熷櫒 case SPK.SenesorMegahealth: + case SPK.SenesorMegahealth2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵�� @@ -272,6 +287,105 @@ }; #endregion + } + break; + //娓╁害浼犳劅鍣� + case SPK.SensorTemperature: + { + ///娓╁害 + LogicView.FunTypeView wenuView = new LogicView.FunTypeView(); + wenuView.btnText.TextID = StringId.wendu; + fLayout.AddChidren(wenuView.FLayoutView()); + + ///娓╁害鐐瑰嚮浜嬩欢 + wenuView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + }; + } + break; + //婀垮害浼犳劅鍣� + case SPK.SensorHumidity: + { + ///婀垮害 + LogicView.FunTypeView shiduView = new LogicView.FunTypeView(); + shiduView.btnText.TextID = StringId.shidu; + fLayout.AddChidren(shiduView.FLayoutView()); + ///婀垮害鐐瑰嚮浜嬩欢 + shiduView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + + }; + } + break; + //co2 + case SPK.SensorCO2: + { + + + ///co2 + LogicView.FunTypeView co2View = new LogicView.FunTypeView(); + co2View.btnText.TextID = StringId.co2; + fLayout.AddChidren(co2View.FLayoutView()); + + ///co2鐐瑰嚮浜嬩欢 + co2View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "co2", StringId.co2, index, edit); + }; + } + break; + //pm2.5 + case SPK.SensorPm25: + { + ///pm2.5 + LogicView.FunTypeView pm25View = new LogicView.FunTypeView(); + pm25View.btnText.TextID = StringId.pm25; + fLayout.AddChidren(pm25View.FLayoutView()); + + ///pm2.5鐐瑰嚮浜嬩欢 + pm25View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "pm25", StringId.pm25, index, edit); + }; + } + break; + //tvoc + case SPK.SensorTVOC: + { + ///tvoc + LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); + tvocView.btnText.TextID = StringId.tvoc; + fLayout.AddChidren(tvocView.FLayoutView()); + + ///tvoc鐐瑰嚮浜嬩欢 + tvocView.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit); + + }; + } + break; + //鐢查啗 + case SPK.SensorHcho: + { + ///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, "hcho", StringId.Formaldehyde, index, edit); + + }; } break; } @@ -364,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; @@ -415,7 +555,7 @@ break; case StringId.wuren: { - if (device.spk == SPK.SenesorMegahealth) + if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2) { value = "uninhabited"; } @@ -523,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) { @@ -536,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> @@ -689,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