From dd01259a0590b6e6954470aa6ddb7658baa79fa7 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 18 六月 2024 16:53:46 +0800 Subject: [PATCH] 备份 --- OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 155 insertions(+), 24 deletions(-) diff --git a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index c5fb5fa..66a38a3 100644 --- a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; +using System.Linq; namespace HDL_ON.UI.UI2.Intelligence.Automation { @@ -21,6 +22,10 @@ /// </summary> private Button btnDelay =null; /// <summary> + /// 褰撳墠璁惧 + /// </summary> + private Function device; + /// <summary> /// 瀹氫箟涓�涓褰曢�変腑璁惧鐘舵�佸垪琛紱 /// </summary> private List<Dictionary<string, string>> dicSateteList = new List<Dictionary<string, string>>(); @@ -31,6 +36,7 @@ public void Show(Entity.Function device, int index, bool edit) { #region 鐣岄潰甯冨眬 + this.device = device; this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); this.AddChidren(topView.FLayoutView()); @@ -42,7 +48,7 @@ FrameLayout fLayout = new FrameLayout { - Y = Application.GetRealHeight(74), + Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 64), }; this.AddChidren(fLayout); @@ -56,8 +62,54 @@ #region 缂栬緫璁惧鐘舵�� switch (device.spk) { - //寮�鍏崇伅鍏� + //鎻掑骇(鏈塙SB) + case SPK.PanelSocket: + { + #region 鐣岄潰 + ///鎬绘帶寮�鍏� + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.switchLogic; + //view1.btnState.Name = "鎬绘帶寮�鍏�"; + fLayout.AddChidren(view1.FLayoutView()); + ///璁惧寤舵椂iewv + DelayView(fLayout, view1.frameLayout.Bottom); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///鎬绘帶寮�鍏崇偣鍑讳簨浠� + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, view1.btnState, 2); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditDeviceState(device, index, view1.btnState, null, null, null); + } + #endregion + } + break; + case SPK.CommonSeries: + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView SerriesSwitchView = new LogicView.FunTypeView(); + SerriesSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(SerriesSwitchView.FLayoutView()); + + #endregion + ///寮�鍏崇偣鍑讳簨浠� + SerriesSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, SerriesSwitchView.btnState, 2); + }; + + break; + //寮�鍏崇伅鍏� + case SPK.OtherCommon: + case SPK.AirSwitch: case SPK.LightSwitch: + case SPK.ElectricSocket: + //鏈烘鎵� + case SPK.MechanicalArm: { #region 鐣岄潰 ///寮�鍏� @@ -84,8 +136,8 @@ break; //鐏厜寮�鍏� 浜害 case SPK.LightDimming: - //case SPK.LightRGB: - //case SPK.LightRGBW: + //case SPK.LightRGB: + //case SPK.LightRGBW: { #region 鐣岄潰 ///寮�鍏� @@ -670,6 +722,29 @@ } } break; + //闊充箰 + case SPK.MusicStandard: + case SPK.AvMusic: + { + string volume = "volume"; + var dicObj = dicSateteList.Find((dic) => dic.ContainsValue(volume)); + if (dicObj != null) + { + //鏈夐厤缃煶涔愰煶閲忓睘鎬э紝瑕侀噸鏂版帓鍒�,闊抽噺鍦ㄥ墠闈� + var dicList = new List<Dictionary<string, string>>(); + dicList.Add(dicObj);//鍏堟坊鍔犻煶閲忓睘鎬� + var diclist = dicSateteList.FindAll((dic) => !dic.ContainsValue(volume)); + dicList.AddRange(diclist);//鍐嶆坊鍔犲叾瀹冨睘鎬� + dicSateteList = dicList;//閲嶆柊璧嬪�� + } + } + break; + case SPK.GroupControl: + { + outputDevice.target_type = "5"; + } + break; + } outputDevice.status.AddRange(dicSateteList); @@ -717,7 +792,7 @@ LogicView.FunTypeView delayView = new LogicView.FunTypeView(); delayView.frameLayout.Y = bottomY; delayView.btnText.TextID = StringId.Delay; - delayView.btnState.Text = strdelay + "s"; + delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay); fLayout.AddChidren(delayView.FLayoutView()); ///璧嬪�煎璞� this.btnDelay = delayView.btnState; @@ -727,9 +802,9 @@ InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); inpOrOutLogicMethod.Delayed(this, strdelay, (value) => { - selectedState = "delay_" + strdelay; strdelay = value.ToString(); - delayView.btnState.Text = strdelay + "s"; + delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay); + selectedState = "delay_" + strdelay; }); }; @@ -747,10 +822,10 @@ 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) => + switchView.FLayoutView(frame, len, button.Text, (value) => { int id = 0; - switch (strValue) + switch (value) { case "on": { @@ -768,13 +843,45 @@ } break; } + //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; - selectedState = device.spk + "_" + strValue; + selectedState = device.spk + "_" + value; //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; - string keyVlaue = "on_off"; + string key = "on_off"; + switch (device.spk) + { + case SPK.PanelSocket: + { + //if (button.Name == "鎬绘帶寮�鍏�") + //{ + // key = "on_off_master"; + //} + } + break; + case SPK.GroupControl: + { + if (button.Name == "colorful") + { + key = "colorful"; + } + + } + break; + case SPK.ElectricalTvHisense: + { + if ("on" == value) + { + key = "wol"; + } + + } + break; + + } + //鏁版嵁灏佽 - AddDictionary(keyVlaue, strValue); + AddDictionary(key, value); }); #endregion } @@ -803,6 +910,7 @@ case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: + case SPK.GroupControl: { keyVlaue = "brightness"; } @@ -819,6 +927,12 @@ } } break; + case SPK.ElectricalTvHisense: + { + keyVlaue = "set_volume"; + } + break; + } //鏁版嵁灏佽 AddDictionary(keyVlaue, brightnesValue); @@ -847,6 +961,7 @@ switch (device.spk) { case SPK.LightCCT: + case SPK.GroupControl: { keyVlaue = "cct"; } @@ -880,6 +995,7 @@ switch (device.spk) { case SPK.LightRGB: + case SPK.GroupControl: { keyVlaue = "rgb"; } @@ -895,8 +1011,6 @@ }); } - - /// <summary> @@ -923,7 +1037,7 @@ if (this.btnDelay != null) { ///寤舵椂鏄剧ず鏂囨湰 - this.btnDelay.Text = outputs.delay + "s"; + this.btnDelay.Text =LogicMethod.Current.getTimeStr(outputs.delay); this.strdelay = outputs.delay; } InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, attribute); @@ -931,29 +1045,45 @@ /// <summary> /// 娣诲姞閫変腑鏁版嵁 /// </summary> - /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> - /// <param name="selectedValue">鐘舵�佸��</param> - private void AddDictionary(string KeyValue, string selectedValue) + /// <param name="key">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="value">鐘舵�佸��</param> + private void AddDictionary(string key, string value) { //鏁版嵁灏佽 Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.Current.dictionary(dic, "key", KeyValue); - LogicMethod.Current.dictionary(dic, "value", selectedValue); - AddDictionaryList(KeyValue, dic); + LogicMethod.Current.dictionary(dic, "key", key); + LogicMethod.Current.dictionary(dic, "value", value); + AddDictionaryList(key, dic); } /// <summary> /// 鏇存柊鏁版嵁鍒楄〃 /// </summary> - /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="key">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param> /// <returns></returns> - private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary) + private void AddDictionaryList(string key, Dictionary<string, string> dictionary) { + + if (this.device.spk == SPK.ElectricalTvHisense) + { + //鐗规畩澶勭悊 + if (key == "on_off") + { + key = "wol"; + } + else if (key == "wol") + { + key = "on_off"; + } + + } + + int indexValue = -1; for (int i = 0; i < dicSateteList.Count; i++) { var dic = dicSateteList[i]; - if (dic.ContainsValue(keyValue)) + if (dic.ContainsValue(key)) { //鍒ゆ柇鏄惁瀛樺湪 indexValue = i; @@ -975,6 +1105,7 @@ } } + /// <summary> /// 娣诲姞鐩爣 /// </summary> -- Gitblit v1.8.0