From d987694e57c3bce76bd5a208d74a3696db222a4a Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 14 一月 2021 14:00:06 +0800 Subject: [PATCH] Merge branch 'WJC' into NewFilePath --- HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 207 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..b5166a6 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,231 @@ //娓╁害楂樹簬 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> + /// 娓╁害,婀垮害寮规璁剧疆鍊� + /// </summary> + /// <param name="frame">褰撳墠鐣岄潰</param> + /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param> + public void PmAction(FrameLayout frame, string stateValue = "") + { + PublicInterface pmView = new PublicInterface(); + var pmListStr = pmView.GetViewList("pm2.5"); + pmView.SingleSelectionShow(frame, pmListStr, Language.StringByID(StringId.PM25), GetString(stateValue) + , (text) => + { + string value = ""; + if (text == Language.StringByID(StringId.pmyou)) + { + value = "10"; + } + else if (text == Language.StringByID(StringId.pmliang)) + { + value = "50"; + } + else if (text == Language.StringByID(StringId.pmqingdu)) + { + value = "90"; + } + else if (text == Language.StringByID(StringId.pmzhongdu)) + { + value = "130"; + } + else if (text == Language.StringByID(StringId.pmzhongduwuran)) + { + value = "170"; + } + AddDic("pm2.5", "=", 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.NewSid(); + input.condition_type = "4"; + Dictionary<string, string> dic = new Dictionary<string, string>(); + LogicMethod.dictionary(dic, "key", keyValue); + LogicMethod.dictionary(dic, "comparator", comparator); + LogicMethod.dictionary(dic, "data_type", "float"); + LogicMethod.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.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; + } + + + public string GetString(string strValue) + { + string text = ""; + int intValue = 0; + if (strValue != "") + { + intValue = int.Parse(strValue); + } + if (intValue > 0 && intValue < 35) + { + text = Language.StringByID(StringId.pmyou); + } + else if (intValue > 35 && intValue < 75) + { + text = Language.StringByID(StringId.pmliang); + } + else if (intValue > 75 && intValue < 115) + { + text = Language.StringByID(StringId.pmqingdu); + } + else if (intValue > 115 && intValue < 150) + { + text = Language.StringByID(StringId.pmzhongdu); + } + else if (intValue > 150) + { + text = Language.StringByID(StringId.pmzhongduwuran); + } + + return text; + } } } -- Gitblit v1.8.0