From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 190 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 134 insertions(+), 56 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..2b40f4b 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,13 +45,13 @@ 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: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { #region 鐣岄潰 ///寮�鍏� @@ -82,7 +84,7 @@ #endregion } break; - case FunctionType.Relay: + case SPK.LightSwitch: { #region 鐣岄潰 ///寮�鍏� @@ -105,9 +107,9 @@ } break; //绐楀笜 - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: { #region 鐣岄潰 ///寮�鍏� @@ -129,7 +131,7 @@ #endregion } break; - case FunctionType.AC: + case SPK.AcStandard: { #region 鐣岄潰 ///寮�鍏� @@ -173,7 +175,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 +190,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 +211,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 +233,7 @@ #endregion } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: { #region 鐣岄潰 ///寮�鍏� @@ -271,7 +273,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 +290,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 +312,88 @@ #endregion } break; + case SPK.AirFreshStandard: + { + #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 +405,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 +436,11 @@ } break; } - case FunctionType.AC: - case FunctionType.FloorHeating: + case SPK.AcStandard: + case SPK.FloorHeatStandard: + case SPK.AirFreshStandard: { - - //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱 + //鍋氫簡涓�涓壒娈婂鐞嗭紱 bool _bool = false; for (int i = 0; i < dicSateteList.Count; i++) { @@ -376,8 +460,6 @@ diction.Add("value", "on"); dicSateteList.Add(diction); } - - } break; } @@ -385,6 +467,8 @@ if (edit) { + //鏇存柊寤舵椂鏃堕棿 + outputDevice.delay = Logic.currlogic.output[index].delay; //绉婚櫎鏃ф暟鎹� Logic.currlogic.output.RemoveAt(index); //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; @@ -406,7 +490,7 @@ this.RemoveFromParent(); return; } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); @@ -424,10 +508,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 +534,7 @@ } //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; - selectedState = device.functionType + "_" + strValue; + selectedState = device.spk + "_" + strValue; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "on_off"; //鏁版嵁灏佽 @@ -476,22 +557,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 +596,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 +615,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 +642,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 +680,6 @@ } } - - } } -- Gitblit v1.8.0