From 203c3a3ffde6259413d9743f6a723b95b1e7989c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 06 七月 2023 22:43:05 +0800 Subject: [PATCH] 门锁功能 --- HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 80 insertions(+), 9 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs index b5a8776..4a6070a 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Threading; +using HDL_ON.Common; using HDL_ON.DAL.Server; using HDL_ON.DriverLayer; using HDL_ON.Entity; @@ -50,7 +51,8 @@ /// <summary> /// 鍥炶皟鍒锋柊 /// </summary> - Action<GroupControl> backActon; + Action<GroupControl> addActon; + Action delAction; /// <summary> /// 鏄惁鏂板缇ゆ帶 /// </summary> @@ -64,7 +66,7 @@ GroupControlType groupControlType = new GroupControlType(); - public AddGroupControlPage(GroupControl groupControl, Action<GroupControl> action) + public AddGroupControlPage(GroupControl groupControl, Action<GroupControl> addAction,Action delAction) { bodyView = this; if(groupControl == null) @@ -78,15 +80,81 @@ editDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl); } groupControlLightList = new List<Function>(); - backActon = action; + this.addActon = addAction; + + this.delAction = delAction; + lightList = FunctionList.List.GetLightList(); } public void LoadPage() { bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView(); + if (isAdd) + { + new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView(); + } + else + { + new TopViewDiv(bodyView, "").LoadTopView_SettingText(()=> { + Action action = () => { + var waitPage = new Loading(); + this.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DelGroupControl(groupControl.userDeviceGroupControlId); + if (pack != null) + { + Application.RunOnMainThread(() => + { + try + { + if (pack.Code == StateCode.SUCCESS) + { + FunctionList.List.groupControls.Remove(groupControl); + //list.Remove(groupControl); + this.RemoveFromParent(); + delAction?.Invoke(); + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); + } + } + catch (Exception ex) + { + MainPage.Log($"鍒锋柊缁勬帶鏁版嵁寮傚父:{ex.Message}"); + } + }); + } + } + catch (Exception ex) + { + MainPage.Log($"鍒犻櫎缁勬帶寮傚父:{ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => { + if (waitPage != null) + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + + }; + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DoYouWantDelCombinedDimming, action); + + }, Language.StringByID(StringId.DelGroupControl),true); + } var contentView = new FrameLayout() { Y = Application.GetRealHeight(64), @@ -384,13 +452,15 @@ try { var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString()); - FunctionList.List.groupControls.AddRange(addTemp); + if (addTemp != null && addTemp.Count > 0) + groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId; + FunctionList.List.groupControls.Add(groupControl); } catch (Exception ex) { - MainPage.Log($"娣诲姞缇ゆ帶鎴愬姛锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}"); + MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}"); } - backActon?.Invoke(groupControl); + addActon?.Invoke(groupControl); this.RemoveFromParent(); } else @@ -441,7 +511,7 @@ { temp = groupControl; } - backActon?.Invoke(temp); + addActon?.Invoke(temp); this.RemoveFromParent(); } else @@ -681,7 +751,7 @@ btnChooseAll.TextID = StringId.SelectAll; btnConfrim.IsSelected = false; btnChooseAll.MouseUpEventHandler = (sender2, e2) => { - if (groupControlLightList.Count > 0) + if (groupControlLightList.Count == listFunc.Count) { groupControlLightList.Clear(); btnChooseAll.TextID = StringId.SelectAll; @@ -689,6 +759,7 @@ } else { + groupControlLightList.Clear(); groupControlLightList.AddRange(listFunc); btnChooseAll.TextID = StringId.Cancel; btnConfrim.IsSelected = true; -- Gitblit v1.8.0