From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 265 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 176 insertions(+), 89 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 22fefd3..4e8a634 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -1,6 +1,8 @@ -锘縰sing System; +using System; using Shared; using System.Collections.Generic; +using HDL_ON.Entity; + namespace HDL_ON.UI.UI2.Intelligence.Automation { public class TargetDeviceFunList : FrameLayout @@ -43,46 +45,14 @@ this.AddChidren(saveView.FLayoutView()); #endregion #region 缂栬緫璁惧鐘舵�� - switch (device.functionType) + switch (device.spk) { - //寮�鍏崇伅鍏� light.Switch - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: - { - #region 鐣岄潰 - ///寮�鍏� - LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); - lightSwitchView.btnText.TextID = StringId.switchLogic; - fLayout.AddChidren(lightSwitchView.FLayoutView()); - ///浜害 - LogicView.FunTypeView brightnessView = new LogicView.FunTypeView(); - brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom; - brightnessView.btnText.TextID = StringId.brightnesLogic; - fLayout.AddChidren(brightnessView.FLayoutView()); - #endregion - #region 鐐瑰嚮浜嬩欢 - ///寮�鍏崇偣鍑讳簨浠� - lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => - { - SwitchViewMethod(device, lightSwitchView.btnState, 2); - }; - ///浜害鐐瑰嚮浜嬩欢 - brightnessView.btnClick.MouseUpEventHandler += (sender, e) => - { - BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text); - - }; - if (edit) - { - //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� - GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null); - } - #endregion - } - break; - case FunctionType.Relay: + //寮�鍏崇伅鍏� + case SPK.AirSwitch: + case SPK.LightSwitch: + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: { #region 鐣岄潰 ///寮�鍏� @@ -104,10 +74,48 @@ #endregion } break; + //鐏厜寮�鍏� 浜害 + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + { + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + ///浜害 + LogicView.FunTypeView brightnessView = new LogicView.FunTypeView(); + brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom; + brightnessView.btnText.TextID = StringId.brightnesLogic; + fLayout.AddChidren(brightnessView.FLayoutView()); + brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06 + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, lightSwitchView.btnState, 2); + }; + ///浜害鐐瑰嚮浜嬩欢 + brightnessView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text); + + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null); + } + #endregion + } + break; //绐楀笜 - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: { #region 鐣岄潰 ///寮�鍏� @@ -129,7 +137,8 @@ #endregion } break; - case FunctionType.AC: + case SPK.AcStandard: + case SPK.HvacAC: { #region 鐣岄潰 ///寮�鍏� @@ -173,7 +182,7 @@ temperatureView.btnState.Text = stateStr; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "set_temp"; - selectedState = device.functionType + "_" + keyVlaue; + selectedState = device.spk + "_" + keyVlaue; string set_temp_value = stateStr.Replace("鈩�", ""); //鏁版嵁灏佽 AddDictionary(keyVlaue, set_temp_value); @@ -188,7 +197,7 @@ string currText = acModehView.btnState.Text; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "mode"; - selectedState = device.functionType + "_" + keyVlaue; + selectedState = device.spk + "_" + keyVlaue; PublicInterface modeView = new PublicInterface(); var modeListStr = modeView.GetViewList(keyVlaue); modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText @@ -209,7 +218,7 @@ string currText = acSpeedView.btnState.Text; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "fan"; - selectedState = device.functionType + "_" + keyVlaue; + selectedState = device.spk + "_" + keyVlaue; PublicInterface speedView = new PublicInterface(); var speedListStr = speedView.GetViewList(keyVlaue); speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText @@ -231,7 +240,7 @@ #endregion } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard:case SPK.HvacFloorHeat: { #region 鐣岄潰 ///寮�鍏� @@ -271,7 +280,7 @@ temperatureView.btnState.Text = stateStr; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "set_temp"; - selectedState = device.functionType + "_" + keyVlaue; + selectedState = device.spk + "_" + keyVlaue; string set_temp_value = stateStr.Replace("鈩�", ""); //鏁版嵁灏佽 AddDictionary(keyVlaue, set_temp_value); @@ -288,7 +297,7 @@ string currText = floorHeatingModehView.btnState.Text; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "mode"; - selectedState = device.functionType + "_" + keyVlaue; + selectedState = device.spk + "_" + keyVlaue; PublicInterface modeView = new PublicInterface(); var modeListStr = modeView.GetViewList("floorheatingmode"); modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText @@ -310,6 +319,89 @@ #endregion } break; + case SPK.AirFreshStandard: + case SPK.HvacAirFresh: + { + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView AirFreshSwitchVie = new LogicView.FunTypeView(); + AirFreshSwitchVie.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(AirFreshSwitchVie.FLayoutView()); + + ///椋庨�� + LogicView.FunTypeView AirFreshSpeedView = new LogicView.FunTypeView(); + AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom; + AirFreshSpeedView.btnText.TextID = StringId.speedLogic; + fLayout.AddChidren(AirFreshSpeedView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + AirFreshSwitchVie.btnClick.MouseUpEventHandler += (sender, e) => + { + + SwitchViewMethod(device, AirFreshSwitchVie.btnState, 2); + }; + ///椋庨�熺偣鍑讳簨浠� + AirFreshSpeedView.btnClick.MouseUpEventHandler += (sender, e) => + { + //瀹氫箟涓�涓复鏃跺垪琛� + List<string> fanAttrList = new List<string>(); + //鍔ㄦ�佽鍙栨柊椋庨閫熷垪琛� + var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed); + foreach (var fanAttrValue in fanAttr.value) + { + switch (fanAttrValue) + { + case "high": + { + fanAttrList.Add(Language.StringByID(StringId.HighWindSpeed)); + } + break; + case "medium": + { + fanAttrList.Add(Language.StringByID(StringId.MiddleWindSpeed)); + } + break; + case "low": + { + + fanAttrList.Add(Language.StringByID(StringId.LowWindSpeed)); + } + break; + case "auto": + { + fanAttrList.Add(Language.StringByID(StringId.Auto)); + break; + } + + } + } + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currText = AirFreshSpeedView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string keyVlaue = "fan"; + selectedState = device.spk + "_" + keyVlaue; + PublicInterface speedView = new PublicInterface(); + var speedListStr = fanAttrList;// speedView.GetViewList(keyVlaue); + speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText + , (stateValue) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + AirFreshSpeedView.btnState.Text = stateValue; + //鏁版嵁灏佽 + AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue)); + + }); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, AirFreshSwitchVie.btnState, AirFreshSpeedView.btnState, null, null); + } + + #endregion + } + break; } #endregion @@ -321,12 +413,12 @@ Output outputDevice = new Output(); outputDevice.target_type = "1"; outputDevice.sid = device.sid; - switch (device.functionType) + switch (device.spk) { - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱 if (dicSateteList.Count > 1) @@ -352,11 +444,11 @@ } break; } - case FunctionType.AC: - case FunctionType.FloorHeating: + case SPK.HvacAC: + case SPK.AcStandard: + case SPK.FloorHeatStandard:case SPK.HvacFloorHeat: { - - //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱 + //鍋氫簡涓�涓壒娈婂鐞嗭紱 bool _bool = false; for (int i = 0; i < dicSateteList.Count; i++) { @@ -376,15 +468,16 @@ diction.Add("value", "on"); dicSateteList.Add(diction); } - - } break; + } outputDevice.status = dicSateteList; if (edit) { + //鏇存柊寤舵椂鏃堕棿 + outputDevice.delay = Logic.currlogic.output[index].delay; //绉婚櫎鏃ф暟鎹� Logic.currlogic.output.RemoveAt(index); //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; @@ -406,7 +499,7 @@ this.RemoveFromParent(); return; } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); @@ -424,10 +517,7 @@ private void SwitchViewMethod(Entity.Function device, Button button, int len) { #region 鐣岄潰 - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; this.AddChidren(frame); LogicView.SwitchView switchView = new LogicView.SwitchView(); switchView.FLayoutView(frame, len, button.Text, (strValue) => @@ -453,7 +543,7 @@ } //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; - selectedState = device.functionType + "_" + strValue; + selectedState = device.spk + "_" + strValue; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "on_off"; //鏁版嵁灏佽 @@ -476,22 +566,22 @@ { //鐣岄潰鏄剧ず閫変腑鍊� button.Text = brightnesValue + "%"; - selectedState = device.functionType + brightnesValue.ToString(); + selectedState = device.spk + brightnesValue.ToString(); //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = ""; - switch (device.functionType) + switch (device.spk) { //寮�鍏崇伅鍏� light.Switch - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { keyVlaue = "brightness"; } break; - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainRoller: + case SPK.CurtainTrietex: { keyVlaue = "percent"; } @@ -515,7 +605,7 @@ private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4) { Output outputs = Logic.currlogic.output[index]; - var dicList = outputs.status as List<Dictionary<string, string>>; + var dicList = outputs.status; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); if (dicList.Count != 0) @@ -534,23 +624,22 @@ { //鏁版嵁灏佽 Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", KeyValue); - LogicMethod.dictionary(dic, "value", selectedValue); - AddDictionaryList(KeyValue, dic, dicSateteList); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue); + AddDictionaryList(KeyValue, dic); } /// <summary> /// 鏇存柊鏁版嵁鍒楄〃 /// </summary> /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> - /// <param name="dictionary">閫変腑鏁版嵁</param> - /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param> + /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param> /// <returns></returns> - private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary, List<Dictionary<string, string>> dicList) + private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary) { int indexValue = -1; - for (int i = 0; i < dicList.Count; i++) + for (int i = 0; i < dicSateteList.Count; i++) { - var dic = dicList[i]; + var dic = dicSateteList[i]; if (dic.ContainsValue(keyValue)) { //鍒ゆ柇鏄惁瀛樺湪 @@ -562,14 +651,14 @@ if (indexValue != -1) { //瀛樺湪绉婚櫎 - dicList.RemoveAt(indexValue); + dicSateteList.RemoveAt(indexValue); //閲嶆柊娣诲姞 - dicList.Insert(indexValue, dictionary); + dicSateteList.Insert(indexValue, dictionary); } else { //鏂版坊鍔� - dicList.Add(dictionary); + dicSateteList.Add(dictionary); } } @@ -600,8 +689,6 @@ } } - - } } -- Gitblit v1.8.0