From 157be5220d9d81bce18e8248ef6ac056415405a1 Mon Sep 17 00:00:00 2001
From: Tong <1025782220@qq.com>
Date: 星期二, 31 八月 2021 09:29:45 +0800
Subject: [PATCH] 更新推送库
---
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