From 02498f7744e6fdc413e518f96b25f3635540dc6b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 15 十一月 2022 11:27:38 +0800 Subject: [PATCH] 金茂科技系统更新 --- HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs | 214 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 139 insertions(+), 75 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs index 4e22ef5..ee30315 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs @@ -342,6 +342,14 @@ /// </summary> public class LightSceneEditDialog :Dialog { + + + Dictionary<string, string> d = new Dictionary<string, string>(); + List<Function> listSwitch = new List<Function>(); + List<Function> lightDimming = new List<Function>(); + List<Function> lightCCT = new List<Function>(); + List<Function> lightRGB = new List<Function>(); + /// <summary> /// 浼犲叆鐨勭伅鍏夊垪琛� /// 鍔犲叆鍦烘櫙鎺у埗鍔熻兘鍒楄〃 @@ -369,9 +377,14 @@ { commandDic.Add(FunctionAttributeKey.OnOff, "off"); - var hadDimming = lights.Find((obj) => obj.spk == SPK.LightDimming) != null; - var hadCCT = lights.Find((obj) => obj.spk == SPK.LightCCT) != null; - var hadRGB = lights.Find((obj) => obj.spk == SPK.LightRGB) != null; + listSwitch = lights.FindAll((obj) => obj.spk == SPK.LightSwitch); + lightDimming = lights.FindAll((obj) => obj.spk == SPK.LightDimming); + lightCCT = lights.FindAll((obj) => obj.spk == SPK.LightCCT); + lightRGB = lights.FindAll((obj) => obj.spk == SPK.LightRGB); + + var hadDimming = lightDimming.Count > 0; + var hadCCT = lightCCT.Count > 0; + var hadRGB = lightRGB.Count > 0; var bodyView = new FrameLayout(); this.AddChidren(bodyView); @@ -426,7 +439,7 @@ }; titleView.AddChidren(btnEditIcon); - Action<string> callBack = (str) => + Action<string> callBack = (str) => { //鍚嶇О涓嶈兘涓虹┖ if (string.IsNullOrEmpty(str)) @@ -479,19 +492,19 @@ var brightnessValue = 0; var cctValue = 27; - if(rgbLight!= null) - { - int.TryParse(rgbLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); - } - if (cctLight != null) - { - int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); - int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue); - } - if(dimmingLight!=null) - { - int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue); - } + //if(rgbLight!= null) + //{ + // int.TryParse(rgbLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); + //} + //if (cctLight != null) + //{ + // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); + // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue); + //} + //if(dimmingLight!=null) + //{ + // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out brightnessValue); + //} //灞炴�ц缃尯鍩� @@ -561,12 +574,24 @@ btnClose.IsSelected = true; btnOpen.IsSelected = false; commandDic[FunctionAttributeKey.OnOff] = "off"; + d.Clear(); + d.Add(FunctionAttributeKey.OnOff, "off"); + foreach (var light in lights) + { + Control.Ins.SendWriteCommand(light, d); + } }; btnOpen.MouseUpEventHandler = (sender, e) => { btnClose.IsSelected = false; btnOpen.IsSelected = true; commandDic[FunctionAttributeKey.OnOff] = "on"; + d.Clear(); + d.Add(FunctionAttributeKey.OnOff, "on"); + foreach (var light in lights) + { + Control.Ins.SendWriteCommand(light, d); + } }; } @@ -621,18 +646,18 @@ contentView.AddChidren(bottomView); bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); - var btnSave = new Button() + var btnCacel = new Button() { Width = Application.GetRealWidth(172), Height = Application.GetRealHeight(44), TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.TextualColor, - TextID = StringId.Save, + TextID = StringId.Cancel, }; - bottomView.AddChidren(btnSave); + bottomView.AddChidren(btnCacel); - var btnComplete = new Button() + var btnSave = new Button() { X = Application.GetRealWidth(172), Width = Application.GetRealWidth(172), @@ -641,75 +666,75 @@ TextColor = CSS_Color.MainBackgroundColor, TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.SubheadingFontSize, - TextID = StringId.Complete + TextID = StringId.Save }; - bottomView.AddChidren(btnComplete); + bottomView.AddChidren(btnSave); //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 int mRectCornerID = HDLUtils.RectCornerBottomRight; - btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); + btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); - btnComplete.MouseUpEventHandler = (sender, e) => { + btnCacel.MouseUpEventHandler = (sender, e) => { this.Close(); - var waitPage = new Loading(); - MainPage.BaseView.AddChidren(waitPage); - waitPage.Start(Language.StringByID(StringId.PleaseWait)); + //var waitPage = new Loading(); + //MainPage.BaseView.AddChidren(waitPage); + //waitPage.Start(Language.StringByID(StringId.PleaseWait)); + //new Thread(() => + //{ + // try + // { + // foreach (var light in lights) + // { + // Dictionary<string, string> sendDate = new Dictionary<string, string>(); + // //璧嬪�煎満鏅姛鑳芥暟鎹� + // foreach (var attr in light.GetAttributes()) + // { + // if (commandDic.ContainsKey(attr)) + // { + // try + // { + // sendDate.Add(attr, commandDic[attr]); + // } + // catch { } + // } - new Thread(() => - { - try - { - foreach (var light in lights) - { - Dictionary<string, string> sendDate = new Dictionary<string, string>(); - //璧嬪�煎満鏅姛鑳芥暟鎹� - foreach (var attr in light.GetAttributes()) - { - if (commandDic.ContainsKey(attr)) - { - try - { - sendDate.Add(attr, commandDic[attr]); - } - catch { } - } - - } - Control.Ins.SendWriteCommand(light, sendDate); - Thread.Sleep(50); - } - } - catch - { } - finally - { - Application.RunOnMainThread(() => - { - waitPage.Hide(); - if (waitPage != null) - { - backAction(null); - waitPage.RemoveFromParent(); - } - }); - } - }) - { IsBackground = true }.Start(); + // } + // Control.Ins.SendWriteCommand(light, sendDate); + // Thread.Sleep(50); + // } + // } + // catch + // { } + // finally + // { + // Application.RunOnMainThread(() => + // { + // waitPage.Hide(); + // new PublicAssmebly().TipMsgAutoClose("缁勫悎鎺у埗宸叉墽琛�", true); + // if (waitPage != null) + // { + // //backAction(null); + // waitPage.RemoveFromParent(); + // } + // }); + // } + //}) + //{ IsBackground = true }.Start(); }; - btnSave.MouseUpEventHandler += (sender, e) => + btnSave.MouseUpEventHandler = (sender, e) => { if (string.IsNullOrEmpty(scene.name)) { new Tip() { CloseTime = 1, - Text = Language.StringByID(StringId.SceneNameCannotBeEmpty), + Text = Language.StringByID(StringId.NameCannotBeEmpty), Direction = AMPopTipDirection.None, }.Show(bodyView); return; @@ -718,7 +743,7 @@ { if (scene.name == tempRoom.name) { - new PublicAssmebly().TipMsg(StringId.Tip, StringId.SceneNameAlreadyExists); + new PublicAssmebly().TipMsg(StringId.Tip, StringId.NameAlreadyExists); return; } } @@ -764,14 +789,17 @@ { if (result == StateCode.SUCCESS) { - scene = serverScene; + scene.userSceneId = serverScene.userSceneId; FunctionList.List.scenes.Add(scene); - backAction(scene); + backAction?.Invoke(scene); this.Close(); } else { - IMessageCommon.Current.ShowErrorInfoAlter(result); + if (result == "124005") + IMessageCommon.Current.ShowErrorInfoAlter(Language.StringByID(StringId.GatewayOffline)); + else + IMessageCommon.Current.ShowErrorInfoAlter(result); } }); } @@ -868,6 +896,22 @@ dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { commandDic[FunctionAttributeKey.Percent] = dimmerBar.Progress.ToString(); btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%"; + + foreach (var light in lights) + { + if (light.spk == SPK.LightSwitch) + { + d.Clear(); + d.Add(FunctionAttributeKey.OnOff, e > 0 ? "on" : "off"); + Control.Ins.SendWriteCommand(light, d); + } + else + { + d.Clear(); + d.Add(FunctionAttributeKey.Brightness, e.ToString()); + Control.Ins.SendWriteCommand(light, d); + } + } }; @@ -969,6 +1013,16 @@ barColorTemplatrue.OnStopTrackingTouchEvent = (sender, e) => { commandDic[FunctionAttributeKey.CCT] = (barColorTemplatrue.Progress*100).ToString(); + + d.Clear(); + d.Add(FunctionAttributeKey.CCT, (barColorTemplatrue.Progress * 100).ToString()); + foreach (var light in lightCCT) + { + if (light.spk == SPK.LightCCT) + { + Control.Ins.SendWriteCommand(light, d); + } + } }; //鍙樻洿鑳屾櫙鍥剧殑Y杞村潗鏍� btnColorTemplatrueBack.Y = barColorTemplatrue.Y + (barColorTemplatrue.Height - btnColorTemplatrueBack.Height) / 2; @@ -1053,7 +1107,17 @@ //鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�) int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); - + colorPicker.MouseUpEventHandler = (sender2, e) => { + d.Clear(); + d.Add(FunctionAttributeKey.RGB, commandDic[FunctionAttributeKey.RGB]); + foreach (var light in lightCCT) + { + if (light.spk == SPK.LightCCT) + { + Control.Ins.SendWriteCommand(light, d); + } + } + }; colorPicker.ColorChaged += (sender2, e2) => { string rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString(); commandDic[FunctionAttributeKey.RGB] = rgbString; -- Gitblit v1.8.0