HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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(); 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> 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">(true=编辑;false=新建)</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; 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; 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>