From f982455916297ab07379d902a7f15b7a7a867c94 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 20 十月 2021 09:19:20 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 204 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 189 insertions(+), 15 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 4b1896f..eb0e4eb 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();
@@ -54,8 +59,13 @@
case SPK.CurtainTrietex:
//绌鸿皟
case SPK.AcStandard:
+ case SPK.HvacAC:
//鍦扮儹
case SPK.FloorHeatStandard:
+ case SPK.HvacFloorHeat:
+ //鏂伴
+ case SPK.AirFreshStandard:
+ case SPK.HvacAirFresh:
{
LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -104,11 +114,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 +198,7 @@
break;
//姣背娉紶鎰熷櫒
case SPK.SenesorMegahealth:
+ case SPK.SenesorMegahealth2:
{
LogicView.FunTypeView view = new LogicView.FunTypeView();
view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵��
@@ -204,6 +215,8 @@
break;
//鐜妫�娴嬩紶鎰熷櫒
case SPK.SensorEnvironment:
+ case SPK.SensorEnvironment2:
+ case SPK.SensorEnvironment3:
{
#region 鐣岄潰
///娓╁害
@@ -229,7 +242,11 @@
LogicView.FunTypeView tvocView = new LogicView.FunTypeView();
tvocView.frameLayout.Y = co2View.frameLayout.Bottom;
tvocView.btnText.TextID = StringId.tvoc;
- fLayout.AddChidren(tvocView.FLayoutView());
+ if (SPK.SensorEnvironment3 != device.spk)
+ {
+ fLayout.AddChidren(tvocView.FLayoutView());
+ }
+
#endregion
#region 鐐瑰嚮浜嬩欢
///娓╁害鐐瑰嚮浜嬩欢
@@ -266,6 +283,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;
}
@@ -358,22 +474,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;
@@ -409,7 +551,7 @@
break;
case StringId.wuren:
{
- if (device.spk == SPK.SenesorMegahealth)
+ if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2)
{
value = "uninhabited";
}
@@ -517,7 +659,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)
{
@@ -530,15 +672,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");
- 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>
@@ -553,7 +712,7 @@
private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4)
{
Input inputs = Logic.currlogic.input[index];
- var dicList = inputs.condition as List<Dictionary<string, string>>;
+ var dicList = inputs.condition;
//娓呴櫎涔嬪墠鏃ф暟鎹�
dicSateteList.Clear();
if (dicList.Count != 0)
@@ -683,6 +842,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