From f16e7e4df7e7813e4a3052dae752aae3e6937b30 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 08 七月 2022 16:53:12 +0800 Subject: [PATCH] 自研可视对讲、毫米波 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 139 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 129 insertions(+), 10 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 01a0587..abf4b91 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -24,10 +24,20 @@ /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�� /// </summary> private string selectedState = "unknown"; + /// <summary> + /// 鏄笉鏄啀娆$紪杈� + /// </summary> + private bool mEdit; + /// <summary> + /// 杈撳叆鏉′欢鍒楄〃绱㈠紩鍊� + /// </summary> + private int mIndex; public void Show(Entity.Function device, int index, bool edit) { this.function = device; + this.mEdit = edit; + this.mIndex = index; #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); @@ -53,7 +63,7 @@ case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: - case SPK.LightSwitch: + //case SPK.LightSwitch: //绐楀笜 case SPK.CurtainSwitch: case SPK.CurtainRoller: @@ -200,8 +210,36 @@ } } break; - //姣背娉紶鎰熷櫒 + //姣背娉紶鎰熷櫒(鑷爺鍖楅偖) case SPK.SenesorMegahealth: + { + + LogicView.FunTypeView view1= new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.diedaobaojing; + view1.btnState.Name = Language.StringByID(StringId.diedaobaojing); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.shi, StringId.offLogic, 1); + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.yourenbaojing; + view2.btnState.Name = Language.StringByID(StringId.yourenbaojing); + fLayout.AddChidren(view2.FLayoutView()); + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view2.btnState, StringId.youren, StringId.wuren, 2); + }; + if (edit) + { + GetEditState(device, index, view1.btnState, view2.btnState, null, null); + } + + } + break; + //姣背娉紶鎰熷櫒(鍏嗚涓撶敤浜戜簯瀵规帴) case SPK.SenesorMegahealth2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); @@ -360,6 +398,7 @@ //tvoc case SPK.SensorTVOC: { + ///tvoc LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); tvocView.btnText.TextID = StringId.tvoc; @@ -386,6 +425,23 @@ PmCo2TvocAction(this, device, "hcho", StringId.Formaldehyde, index, edit); }; + } + break; + //闂ㄩ攣 + case SPK.DoorLock: + { + + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.shifoukaisuoshi; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.shi, StringId.offLogic,1); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } } break; } @@ -465,12 +521,13 @@ /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param> /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param> /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param> - private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2) + /// <param name="viewCount">view鏁伴噺</param> + private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2,int viewCount=2) { FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; this.AddChidren(frame); LogicView.SwitchView switchView = new LogicView.SwitchView(); - switchView.FLayoutView(frame, btnText1, btnText2, button.Text, (intValue) => + switchView.FLayoutView(frame, btnText1, btnText2, button.Text, viewCount,(intValue) => { //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "on_off"; @@ -513,6 +570,23 @@ } break; case SPK.SenesorMegahealth: + { + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing)) + { + keyVlaue = "people_status"; + + } + else + { + keyVlaue = "target_status"; + } + } + + } + break; case SPK.SenesorMegahealth2: { keyVlaue = "action_state"; @@ -520,6 +594,11 @@ { keyVlaue = "megahealth_state"; } + } + break; + case SPK.DoorLock: + { + keyVlaue = "door_status"; } break; @@ -555,13 +634,33 @@ break; case StringId.wuren: { - if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2) + if (device.spk == SPK.SenesorMegahealth2) { value = "uninhabited"; } else { value = "false"; + } + } + break; + case StringId.shi: + { + value = "open"; + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing)) + { + //鐘舵��(鏈変汉) + value = "true"; + + } + else if(button.Name == Language.StringByID(StringId.diedaobaojing)) + { + //璺屽�� + value = "4"; + } } } break; @@ -589,11 +688,24 @@ { value = "fall"; }; break; + + } //鏄剧ず鏂囨湰 button.TextID = intValue; selectedState = device.spk + "_" + value; AddDictionary(keyVlaue, value, "string"); + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing) + || (button.Name == Language.StringByID(StringId.diedaobaojing))) + { + //鍙湁姣背娉紶鎰熷櫒(鑷爺) + Save(device, mIndex, mEdit); + } + } + }); @@ -665,8 +777,10 @@ /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param> public void PmCo2TvocAction(FrameLayout frame, Entity.Function device, string key, int title, int index, bool edit, string stateValue = "") { - if (edit) + if (edit) { + /// + this.function = device; Input inputs = Logic.currlogic.input[index]; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); @@ -677,12 +791,14 @@ } } PublicInterface view = new PublicInterface(); - var listStr = view.GetViewList(key); - view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetString(key, stateValue) + //var listStr = view.GetViewList(key); + var listStr = view.GetSensorLevelList(device);//2022骞�05鏈�25鏃�10:01:33 浜у搧缁忕悊鍚涚厡瑕佹眰鏀规垚鍔ㄦ�� + view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetSensorLevelText(device, stateValue,true) , (text) => { - var value = view.GetValue(key, text); + //var value = view.GetValue(key, text); + var values = view.GetSensorLevelText(device,text,false); selectedState = device.spk + "_" + key; switch (device.spk) { @@ -700,7 +816,7 @@ } break; } - AddDictionary(key, value, "integer", "in"); + AddDictionary(key, values, "integer", "in"); Save(device, index, edit); }); } @@ -854,6 +970,9 @@ private bool Is_SpkAttribute(string key) { ///淇敼鏂板睘鎬� ///璇嗗埆浣跨敤鍔熻兘鏄惁瀛樺湪灞炴�� + if (this.function==null) { + return false; + } var job = this.function.GetAttribute(key); if (job != null) { -- Gitblit v1.8.0