From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 156 insertions(+), 23 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs index e3b39c6..661dbcd 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs @@ -1,5 +1,6 @@ 锘縰sing System; using Shared; +using System.Collections.Generic; namespace HDL_ON.UI.UI2.Intelligence.Automation { public class OutdoorEnvironment : FrameLayout @@ -48,7 +49,7 @@ //婀垮害楂樹簬 LogicView.SelectTypeView humidityhigherView = new LogicView.SelectTypeView(); - humidityhigherView.frameLayout.Y = temperatureunderView.frameLayout.Bottom+Application.GetRealHeight(8); + humidityhigherView.frameLayout.Y = temperatureunderView.frameLayout.Bottom + Application.GetRealHeight(8); humidityhigherView.btnIcon.Visible = false; humidityhigherView.btnText.X = Application.GetRealWidth(16); humidityhigherView.btnLine.X = Application.GetRealWidth(16); @@ -65,24 +66,16 @@ humidityunderView.btnText.TextID = StringId.shidudiyu; viewLayout.AddChidren(humidityunderView.FLayoutView()); - //PM2.5楂樹簬 + //PM2.5 LogicView.SelectTypeView pmhigherView = new LogicView.SelectTypeView(); pmhigherView.frameLayout.Y = humidityunderView.frameLayout.Bottom + Application.GetRealHeight(8); pmhigherView.btnIcon.Visible = false; pmhigherView.btnText.X = Application.GetRealWidth(16); pmhigherView.btnLine.X = Application.GetRealWidth(16); pmhigherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); - pmhigherView.btnText.TextID = StringId.pmgaoyu; + pmhigherView.btnText.TextID = StringId.PM25; viewLayout.AddChidren(pmhigherView.FLayoutView()); - //PM2.5浣庝簬 - LogicView.SelectTypeView pmunderView = new LogicView.SelectTypeView(); - pmunderView.frameLayout.Y = pmhigherView.frameLayout.Bottom; - pmunderView.btnIcon.Visible = false; - pmunderView.btnText.X = Application.GetRealWidth(16); - pmunderView.btnLine.X = Application.GetRealWidth(16); - pmunderView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); - pmunderView.btnText.TextID = StringId.pmdiyu; - viewLayout.AddChidren(pmunderView.FLayoutView()); + #endregion @@ -90,40 +83,180 @@ //娓╁害楂樹簬 temperaturehigherView.btnClick.MouseUpEventHandler += (sen, e) => { - + InputBoxAction(StringId.wendugaoyu); }; //娓╁害浣庝簬 temperatureunderView.btnClick.MouseUpEventHandler += (sen, e) => { - + InputBoxAction(StringId.wendudiyu); }; //婀垮害楂樹簬 humidityhigherView.btnClick.MouseUpEventHandler += (sen, e) => { - + InputBoxAction(StringId.shidugaoyu); }; //婀垮害浣庝簬 humidityunderView.btnClick.MouseUpEventHandler += (sen, e) => { - + InputBoxAction(StringId.shidudiyu); }; - //PM2.5楂樹簬 + //PM2.5 pmhigherView.btnClick.MouseUpEventHandler += (sen, e) => { - + PmAction(this); }; - //PM2.5浣庝簬 - pmunderView.btnClick.MouseUpEventHandler += (sen, e) => - { - - }; + #endregion } + /// <summary> + /// 娓╁害,婀垮害寮规璁剧疆鍊� + /// </summary> + /// <param name="textInt">鏂囨湰</param> + /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�20</param> + public void InputBoxAction(int textInt, string stateValue = "20") + { + new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => + { + string keyValue = ""; + string comparator = "="; + switch (textInt) + { + case StringId.wendugaoyu: + { + keyValue = "outdoor_temp"; + comparator = ">"; + } + break; + case StringId.wendudiyu: + { + keyValue = "outdoor_temp"; + comparator = "<"; + } + break; + case StringId.shidugaoyu: + { + keyValue = "outdoor_humity"; + comparator = ">"; + } + break; + case StringId.shidudiyu: + { + keyValue = "outdoor_humity"; + comparator = "<"; + } + break; + } + + AddDic(keyValue, comparator, value); + }); + } + /// <summary> + /// PM2.5璁剧疆鍊� + /// </summary> + /// <param name="frame">褰撳墠鐣岄潰</param> + /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param> + public void PmAction(FrameLayout frame, string stateValue = "") + { + PublicInterface pmView = new PublicInterface(); + var pmListStr = pmView.GetViewList("pm25"); + pmView.SingleSelectionShow(frame, pmListStr, Language.StringByID(StringId.PM25), pmView.GetString("pm25", stateValue) + , (text) => + { + var value= pmView.GetValue("pm25", text); + AddDic("pm2.5", "in", value); + }); + } + /// <summary> + /// 灏佽鏁版嵁 + /// </summary> + /// <param name="keyValue">绫诲瀷鍊�(pm2.5锛沷utdoor_temp锛沷utdoor_humity)</param> + /// <param name="comparator">姣旇緝鍏崇郴</param> + /// <param name="value">鍊�</param> + private void AddDic(string keyValue, string comparator, string value) + { + Input input = new Input(); + input.sid = LogicMethod.CurrLogicMethod.NewSid(); + input.condition_type = "4"; + Dictionary<string, string> dic = new Dictionary<string, string>(); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", keyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", comparator); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "float"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", value); + input.condition.Add(dic); + AddCondition(input, keyValue, comparator); + } + /// <summary> + /// 娣诲姞鏉′欢 + /// </summary> + /// <param name="input"></param> + /// <param name="keyValue"></param> + /// <param name="comparator">姣旇緝鍏崇郴</param> + private void AddCondition(Input input, string keyValue, string comparator) + { + ///璁板綍绱㈠紩鍊� + int index = -1; + for (var i = 0; i < Logic.currlogic.input.Count; i++) + { + var condition_type = Logic.currlogic.input[i].condition_type; + if (condition_type == "4") + { + var dicList = Logic.currlogic.input[i].condition; + if (ExistKey(dicList, keyValue, comparator)) + { + ///鎵惧埌鏍囪绱㈠紩锛岄��鍑哄惊鐜綋 + index = i; + break; + } + } + } + if (index != -1) + { + //绉婚櫎鏃ф暟鎹� + Logic.currlogic.input.RemoveAt(index); + //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃� + Logic.currlogic.input.Insert(index, input); + } + else + { + Logic.currlogic.input.Add(input); + } + + LogicMethod.CurrLogicMethod.RemoveAllView(); + AddLogic addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + } + /// <summary> + /// 鍒ゆ柇鏄惁瀛樺湪Key + /// </summary> + /// <param name="dicList"></param> + /// <param name="keyValue"></param> + /// <param name="comparator">姣旇緝鍏崇郴</param> + /// <returns></returns> + private bool ExistKey(List<Dictionary<string, string>> dicList, string keyValue, string comparator) + { + for (int i = 0; i < dicList.Count; i++) + { + var dic = dicList[i]; + string key = dic["key"]; + string comparatorValue = dic["comparator"]; + if (key == keyValue && comparatorValue == comparator) + { + //鍒ゆ柇鏄惁瀛樺湪 + return true; + } + } + return false; + } + + } } -- Gitblit v1.8.0