From 191b40f734c6abdf70a7f34930ef0a576f9d3f24 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 08 三月 2022 16:17:52 +0800
Subject: [PATCH] 2022-03-08-1
---
HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs | 9 -
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 3
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 177 ++++++++++++++++++++++-------------
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 19 ++-
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 60 +++++++++++
5 files changed, 181 insertions(+), 87 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
index 845f1de..deee2f7 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
@@ -9,14 +9,7 @@
{
Tag = "Logic";
}
- /// <summary>
- /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩�
- /// </summary>
- private Entity.Room selectedRoom = new Entity.Room { roomId = "6688" };
- /// <summary>
- /// 琛ㄧず鏄�(鏉′欢/鐩爣)
- /// </summary>
- private string if_type = LogicMethod.condition_if;
+
public void Show()
{
LogicView.TopView topView = new LogicView.TopView();
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
index 2eeecfc..8cc3709 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -5,11 +5,10 @@
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
- public class FunTpye : FrameLayout
+ public class FunTpye
{
public FunTpye(string str)
{
- Tag = "Logic";
if_type = str;
}
/// <summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index e6fc71d..b9c6f17 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -939,6 +939,7 @@
targetView.btnText.Text = device.name;
//鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
targetView.btnText.Width = Application.GetRealWidth(80);
+ targetView.btnDelay.Visible = false;
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
switch (device.spk)
{
@@ -1361,7 +1362,7 @@
{
InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod();
- inpOrOutLogicMethod.Delayed(thisView, outputTarget, (value) =>
+ inpOrOutLogicMethod.Delayed(thisView, outputTarget.delay, (value) =>
{
outputTarget.delay = value.ToString();
if (outputTarget.target_type == "1")
@@ -2092,10 +2093,10 @@
/// <summary>
/// 寤舵椂鏃堕棿鏂规硶
/// </summary>
- /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
- /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
- /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
- private void Delayed(FrameLayout thisFLayout, Output output, Action<int> action)
+ /// <param name="thisFLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+ /// <param name="delay">褰撳墠寤舵椂鏃堕棿</param>
+ /// <param name="action">鍥炶皟鍑芥暟</param>
+ public void Delayed(FrameLayout thisFLayout, string delay, Action<int> action)
{
FrameLayout fLayout = new FrameLayout
{
@@ -2119,9 +2120,9 @@
//瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
int timepoint = 5;
- if (output.delay != "0")
+ if (delay != "0")
{
- int intValue = int.Parse(output.delay);
+ int intValue = int.Parse(delay);
var m = intValue / 60;
var s = intValue % 60;
@@ -2137,8 +2138,8 @@
//閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
{
- string minuet = timePointView.GethStringList0()[index1].Split(' ')[0];
- string second = timePointView.GetmStringList()[index2].Split(' ')[0];
+ string minuet = timePointView.GetmStringList()[index1].Split(' ')[0];
+ string second = timePointView.GetsStringList()[index2].Split(' ')[0];
int minuetIntValue = int.Parse(minuet);
int secondIntValue = int.Parse(second);
timepoint = minuetIntValue * 60 + secondIntValue;
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index 9b788f2..b58bcf9 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -494,74 +494,119 @@
public List<string> GetDeviceTypeFunctionList(string deviceType)
{
List<string> functionTypeList = new List<string>();
- ///鐏厜绫�
- if (deviceType == Language.StringByID(StringId.Lights))
- {
- functionTypeList.Add(SPK.LightSwitch);
- functionTypeList.Add(SPK.LightDimming);
- functionTypeList.Add(SPK.LightRGB);
- functionTypeList.Add(SPK.LightRGBW);
- functionTypeList.Add(SPK.LightCCT);
- functionTypeList.Add(SPK.AirSwitch);
- functionTypeList.Add(SPK.PanelSocket);
- functionTypeList.Add(SPK.ElectricSocket);
- }
- ///绐楀笜绫�
- else if (deviceType == Language.StringByID(StringId.Curtain))
- {
- functionTypeList.Add(SPK.CurtainSwitch);
- functionTypeList.Add(SPK.CurtainRoller);
- functionTypeList.Add(SPK.CurtainTrietex);
- }
- ///绌鸿皟绫�
- else if (deviceType == Language.StringByID(StringId.AC))
- {
- functionTypeList.Add(SPK.AcStandard);
- functionTypeList.Add(SPK.HvacAC);
- }
- ///鍦版殩绫�
- else if (deviceType == Language.StringByID(StringId.FloorHeating))
- {
- functionTypeList.Add(SPK.FloorHeatStandard); functionTypeList.Add(SPK.HvacFloorHeat);
- }
- ///鏂伴绫�
- else if (deviceType == Language.StringByID(StringId.AirFresh))
- {
- functionTypeList.Add(SPK.AirFreshStandard); functionTypeList.Add(SPK.HvacAirFresh);
- }
- ///浼犳劅鍣ㄧ被
- else if (deviceType == Language.StringByID(StringId.Sensor))
- {
- functionTypeList.Add(SPK.SensorSmoke);
- functionTypeList.Add(SPK.SensorWater);
- functionTypeList.Add(SPK.SensorGas);
- functionTypeList.Add(SPK.SensorDryContact); functionTypeList.Add(SPK.SensorDryContact2);
- functionTypeList.Add(SPK.SensorShanLan);
- functionTypeList.Add(SPK.SensorDuiShe);
- functionTypeList.Add(SPK.SensorPir);
- functionTypeList.Add(SPK.SensorDoorWindow);
- functionTypeList.Add(SPK.SensorUtrasonic);
- functionTypeList.Add(SPK.SenesorMegahealth);
- functionTypeList.Add(SPK.SenesorMegahealth2);
- functionTypeList.Add(SPK.SensorEnvironment);
- functionTypeList.Add(SPK.SensorEnvironment2);
- functionTypeList.Add(SPK.SensorEnvironment3);
- functionTypeList.Add(SPK.SensorTemperature);
- functionTypeList.Add(SPK.SensorHumidity);
- functionTypeList.Add(SPK.SensorCO2);
- functionTypeList.Add(SPK.SensorPm25);
- functionTypeList.Add(SPK.SensorTVOC);
- functionTypeList.Add(SPK.SensorHcho);
+ ///鐏厜绫�
+ if (deviceType == Language.StringByID(StringId.Lights))
+ {
+ functionTypeList.Add(SPK.LightSwitch);
+ functionTypeList.Add(SPK.LightDimming);
+ functionTypeList.Add(SPK.LightRGB);
+ functionTypeList.Add(SPK.LightRGBW);
+ functionTypeList.Add(SPK.LightCCT);
+ functionTypeList.Add(SPK.AirSwitch);
+ functionTypeList.Add(SPK.PanelSocket);
+ functionTypeList.Add(SPK.ElectricSocket);
+ }
+ ///绐楀笜绫�
+ else if (deviceType == Language.StringByID(StringId.Curtain))
+ {
+ functionTypeList.Add(SPK.CurtainSwitch);
+ functionTypeList.Add(SPK.CurtainRoller);
+ functionTypeList.Add(SPK.CurtainTrietex);
+ }
+ ///绌鸿皟绫�
+ else if (deviceType == Language.StringByID(StringId.AC))
+ {
+ functionTypeList.Add(SPK.AcStandard);
+ functionTypeList.Add(SPK.HvacAC);
+ }
+ ///鍦版殩绫�
+ else if (deviceType == Language.StringByID(StringId.FloorHeating))
+ {
+ functionTypeList.Add(SPK.FloorHeatStandard); functionTypeList.Add(SPK.HvacFloorHeat);
+ }
+ ///鏂伴绫�
+ else if (deviceType == Language.StringByID(StringId.AirFresh))
+ {
+ functionTypeList.Add(SPK.AirFreshStandard); functionTypeList.Add(SPK.HvacAirFresh);
+ }
+ ///浼犳劅鍣ㄧ被
+ else if (deviceType == Language.StringByID(StringId.Sensor))
+ {
+ functionTypeList.Add(SPK.SensorSmoke);
+ functionTypeList.Add(SPK.SensorWater);
+ functionTypeList.Add(SPK.SensorGas);
+ functionTypeList.Add(SPK.SensorDryContact); functionTypeList.Add(SPK.SensorDryContact2);
+ functionTypeList.Add(SPK.SensorShanLan);
+ functionTypeList.Add(SPK.SensorDuiShe);
+ functionTypeList.Add(SPK.SensorPir);
+ functionTypeList.Add(SPK.SensorDoorWindow);
+ functionTypeList.Add(SPK.SensorUtrasonic);
+ functionTypeList.Add(SPK.SenesorMegahealth);
+ functionTypeList.Add(SPK.SenesorMegahealth2);
+ functionTypeList.Add(SPK.SensorEnvironment);
+ functionTypeList.Add(SPK.SensorEnvironment2);
+ functionTypeList.Add(SPK.SensorEnvironment3);
+ functionTypeList.Add(SPK.SensorTemperature);
+ functionTypeList.Add(SPK.SensorHumidity);
+ functionTypeList.Add(SPK.SensorCO2);
+ functionTypeList.Add(SPK.SensorPm25);
+ functionTypeList.Add(SPK.SensorTVOC);
+ functionTypeList.Add(SPK.SensorHcho);
- }
- ///瀹剁數绫�
- else if (deviceType == Language.StringByID(StringId.Electric))
- {
- functionTypeList.Add(SPK.AirSwitch);
- functionTypeList.Add(SPK.PanelSocket);
- functionTypeList.Add(SPK.ElectricSocket);
- }
+ }
+ ///瀹剁數绫�
+ else if (deviceType == Language.StringByID(StringId.Electric))
+ {
+ functionTypeList.Add(SPK.AirSwitch);
+ functionTypeList.Add(SPK.PanelSocket);
+ functionTypeList.Add(SPK.ElectricSocket);
+ }
+ else {
+ functionTypeList.Add(SPK.LightSwitch);
+ functionTypeList.Add(SPK.LightDimming);
+ functionTypeList.Add(SPK.LightRGB);
+ functionTypeList.Add(SPK.LightRGBW);
+ functionTypeList.Add(SPK.LightCCT);
+ functionTypeList.Add(SPK.AirSwitch);
+ functionTypeList.Add(SPK.PanelSocket);
+ functionTypeList.Add(SPK.ElectricSocket);
+ functionTypeList.Add(SPK.CurtainSwitch);
+ functionTypeList.Add(SPK.CurtainRoller);
+ functionTypeList.Add(SPK.CurtainTrietex);
+ functionTypeList.Add(SPK.AcStandard);
+ functionTypeList.Add(SPK.HvacAC);
+ functionTypeList.Add(SPK.FloorHeatStandard);
+ functionTypeList.Add(SPK.HvacFloorHeat);
+ functionTypeList.Add(SPK.AirFreshStandard);
+ functionTypeList.Add(SPK.HvacAirFresh);
+ functionTypeList.Add(SPK.SensorSmoke);
+ functionTypeList.Add(SPK.SensorWater);
+ functionTypeList.Add(SPK.SensorGas);
+ functionTypeList.Add(SPK.SensorDryContact);
+ functionTypeList.Add(SPK.SensorDryContact2);
+ functionTypeList.Add(SPK.SensorShanLan);
+ functionTypeList.Add(SPK.SensorDuiShe);
+ functionTypeList.Add(SPK.SensorPir);
+ functionTypeList.Add(SPK.SensorDoorWindow);
+ functionTypeList.Add(SPK.SensorUtrasonic);
+ functionTypeList.Add(SPK.SenesorMegahealth);
+ functionTypeList.Add(SPK.SenesorMegahealth2);
+ functionTypeList.Add(SPK.SensorEnvironment);
+ functionTypeList.Add(SPK.SensorEnvironment2);
+ functionTypeList.Add(SPK.SensorEnvironment3);
+ functionTypeList.Add(SPK.SensorTemperature);
+ functionTypeList.Add(SPK.SensorHumidity);
+ functionTypeList.Add(SPK.SensorCO2);
+ functionTypeList.Add(SPK.SensorPm25);
+ functionTypeList.Add(SPK.SensorTVOC);
+ functionTypeList.Add(SPK.SensorHcho);
+ functionTypeList.Add(SPK.AirSwitch);
+ functionTypeList.Add(SPK.PanelSocket);
+ functionTypeList.Add(SPK.ElectricSocket);
+
+
+ }
return functionTypeList;
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 4e8a634..9866147 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -12,6 +12,14 @@
Tag = "Logic";
}
/// <summary>
+ /// 璁惧寤舵椂鏃堕棿
+ /// </summary>
+ private string strdelay = "0";
+ /// <summary>
+ /// 鏄剧ず璁惧寤舵椂鏃堕棿
+ /// </summary>
+ private Button btnDelay =null;
+ /// <summary>
/// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱
/// </summary>
private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>();
@@ -59,6 +67,9 @@
LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
lightSwitchView.btnText.TextID = StringId.switchLogic;
fLayout.AddChidren(lightSwitchView.FLayoutView());
+
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, lightSwitchView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -91,6 +102,8 @@
brightnessView.btnText.TextID = StringId.brightnesLogic;
fLayout.AddChidren(brightnessView.FLayoutView());
brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, brightnessView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -122,6 +135,8 @@
LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
curtainSwitchView.btnText.TextID = StringId.switchLogic;
fLayout.AddChidren(curtainSwitchView.FLayoutView());
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, curtainSwitchView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -163,6 +178,8 @@
acSpeedView.frameLayout.Y = acModehView.frameLayout.Bottom;
acSpeedView.btnText.TextID = StringId.speedLogic;
fLayout.AddChidren(acSpeedView.FLayoutView());
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, acModehView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -260,7 +277,8 @@
floorHeatingModehView.btnText.TextID = StringId.modeLogic;
fLayout.AddChidren(floorHeatingModehView.FLayoutView());
-
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, floorHeatingModehView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -333,6 +351,9 @@
AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom;
AirFreshSpeedView.btnText.TextID = StringId.speedLogic;
fLayout.AddChidren(AirFreshSpeedView.FLayoutView());
+
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, AirFreshSpeedView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
///寮�鍏崇偣鍑讳簨浠�
@@ -413,6 +434,7 @@
Output outputDevice = new Output();
outputDevice.target_type = "1";
outputDevice.sid = device.sid;
+ outputDevice.delay= strdelay;
switch (device.spk)
{
case SPK.LightDimming:
@@ -477,7 +499,7 @@
if (edit)
{
//鏇存柊寤舵椂鏃堕棿
- outputDevice.delay = Logic.currlogic.output[index].delay;
+ outputDevice.delay = strdelay;//Logic.currlogic.output[index].delay;
//绉婚櫎鏃ф暟鎹�
Logic.currlogic.output.RemoveAt(index);
//鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
@@ -508,6 +530,34 @@
#endregion
}
+ /// <summary>
+ /// 寤舵椂View
+ /// </summary>
+ /// <param name="fLayout">鐖舵帶浠�</param>
+ /// <param name="bottomY">鍦ㄥ摢涓帶浠朵笅闈�</param>
+ private void DelayView(FrameLayout fLayout, int bottomY)
+ {
+ LogicView.FunTypeView delayView = new LogicView.FunTypeView();
+ delayView.frameLayout.Y = bottomY;
+ delayView.btnText.TextID = StringId.Delay;
+ delayView.btnState.Text = strdelay + "s";
+ fLayout.AddChidren(delayView.FLayoutView());
+ ///璧嬪�煎璞�
+ this.btnDelay = delayView.btnState;
+ ///寤舵椂鐐瑰嚮浜嬩欢
+ delayView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod();
+ inpOrOutLogicMethod.Delayed(this, strdelay, (value) =>
+ {
+ selectedState = "delay_" + strdelay;
+ strdelay = value.ToString();
+ delayView.btnState.Text = strdelay + "s";
+ });
+ };
+
+ }
+
/// <summary>
/// 寮�鍏�=鍔熻兘涓嬩竴绾х晫闈�
/// </summary>
@@ -613,6 +663,12 @@
//鏈夋暟鎹噸鏂拌祴鍊�
dicSateteList = dicList;
}
+ if (this.btnDelay != null)
+ {
+ ///寤舵椂鏄剧ず鏂囨湰
+ this.btnDelay.Text = outputs.delay + "s";
+ this.strdelay = outputs.delay;
+ }
InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
}
/// <summary>
--
Gitblit v1.8.0