From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:51:12 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' --- HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs | 118 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 24 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs index b64cdd0..76991c1 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs @@ -50,7 +50,7 @@ /// <summary> /// 鍥炶皟鍒锋柊 /// </summary> - Action backActon; + Action<GroupControl> backActon; /// <summary> /// 鏄惁鏂板缇ゆ帶 /// </summary> @@ -64,7 +64,7 @@ GroupControlType groupControlType = new GroupControlType(); - public AddGroupControlPage(GroupControl groupControl, Action action) + public AddGroupControlPage(GroupControl groupControl, Action<GroupControl> action) { bodyView = this; if(groupControl == null) @@ -90,7 +90,7 @@ var contentView = new FrameLayout() { Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(550), + Height = Application.GetRealHeight(667-64), }; bodyView.AddChidren(contentView); @@ -105,7 +105,7 @@ Button btnGroupNameTitle = new Button() { X = Application.GetRealWidth(16), - Width = Application.GetRealWidth(78), + Width = Application.GetRealWidth(178), TextID = StringId.GroupNmae, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.SubheadingFontSize, @@ -182,6 +182,7 @@ Action chooseRoomBackAction = () => { try { + groupControl.uids = groupControl.roomIds; btnLocationValues.Text = groupControl.GetRoomListName(); } catch { } @@ -253,13 +254,13 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextID = StringId.SelectedAll, }; - if (groupControlLightList.Count > 0) + if (groupControlLightList.Count == lightList.Count) { btnChooseAll.TextID = StringId.Cancel; } roomFloorChangeView.AddChidren(btnChooseAll); btnChooseAll.MouseUpEventHandler = (sender, e) => { - if (groupControlLightList.Count > 0) + if (groupControlLightList.Count == lightList.Count) { groupControlLightList.Clear(); btnChooseAll.TextID = StringId.SelectAll; @@ -267,11 +268,33 @@ } else { + groupControlLightList.Clear(); groupControlLightList.AddRange(lightList); btnChooseAll.TextID = StringId.Cancel; btnConfrim.IsSelected = true; } - LoadLightRow(lightList); + + for (int i = 0; i < functionListView.ChildrenCount; i++) + { + var view = functionListView.GetChildren(i); + if (view.GetType() == typeof(LightRow)) + { + if (view.Tag != null && view.Tag.ToString() == "row") + { + for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) + { + var btn = (view as FrameLayout).GetChildren(j); + if (btn.GetType() == typeof(Button)) + { + if (btn.Tag != null && btn.Tag.ToString() == "ChooseIcon") + { + (btn as Button).IsSelected = groupControlLightList.Count == lightList.Count; + } + } + } + } + } + } }; #endregion @@ -358,7 +381,18 @@ { if (pack.Code == StateCode.SUCCESS) { - backActon?.Invoke(); + try + { + var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString()); + if (addTemp != null && addTemp.Count > 0) + groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId; + FunctionList.List.groupControls.Add(groupControl); + } + catch (Exception ex) + { + MainPage.Log($"娣诲姞缇ゆ帶鎴愬姛锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}"); + } + backActon?.Invoke(groupControl); this.RemoveFromParent(); } else @@ -383,12 +417,33 @@ this.RemoveFromParent(); return; } + groupControl.sids.Clear(); + foreach (var light in groupControlLightList) + { + try + { + var gc = new GroupControlFunction(); + gc.sid = light.sid; + gc.spk = light.spk; + groupControl.sids.Add(gc); + } + catch (Exception ex) + { + MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}"); + } + } + var pack = Common.ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl }); if (pack != null) { if (pack.Code == StateCode.SUCCESS) { - backActon?.Invoke(); + var temp = FunctionList.List.groupControls.Find((obj) => obj.userDeviceGroupControlId == groupControl.userDeviceGroupControlId); + if(temp!= null) + { + temp = groupControl; + } + backActon?.Invoke(temp); this.RemoveFromParent(); } else @@ -459,6 +514,10 @@ groupControl = groupControlTemps[0]; Application.RunOnMainThread(() => { + if (groupControl.sids.Count == lightList.Count) + { + btnChooseAll.TextID = StringId.Cancel; + } LoadLightRow(lightList); }); } @@ -486,7 +545,7 @@ /// <summary> /// 鏄剧ず鐨勮澶囩殑鎬绘暟 /// </summary> - int showCount = 0; + int showCount = -1; /// <summary> /// 鍔犺浇鍔熻兘row @@ -506,18 +565,19 @@ { if (!isAppend) { - showCount = 0; + showCount = -1; functionListView.RemoveAll(); } - int i = 0; - foreach (var function in functions) + for(var i =0;i<100;i++) + //foreach (var function in functions) { - i++; - if (i > 100) + showCount++; + if (showCount >= functions.Count) { break; } - showCount++; + var function = functions[showCount]; + var functionDiv = new LightRow(function) { Gravity = Gravity.CenterHorizontal, @@ -525,7 +585,7 @@ BorderColor = 0x00FFFFFF, BorderWidth = 1, BackgroundColor = CSS_Color.MainBackgroundColor, - Tag = function.spk + function.sid + Tag = "row" }; functionDiv.AddChidren(new Button() { @@ -538,13 +598,22 @@ Action setAction = () => { - if (groupControlLightList.Count > 0) + if (groupControlLightList.Count > 1) { btnConfrim.IsSelected = true; } else { btnConfrim.IsSelected = false; + } + if (groupControlLightList.Count != functions.Count) + { + btnChooseAll.TextID = StringId.SelectedAll; + } + else + { + if(btnChooseAll.TextID != StringId.Cancel) + btnChooseAll.TextID = StringId.Cancel; } }; if (groupControl.sids.Find((obj) => obj.sid == function.sid) != null) @@ -564,12 +633,8 @@ TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, - Text = "鍔犺浇鏇村", + TextID = StringId.LoadMore, }; - if (Language.CurrentLanguage != "Chinese") - { - btnAppend.Text = "Load more"; - } functionListView.AddChidren(btnAppend); btnAppend.MouseUpEventHandler = (sender, e) => { @@ -613,8 +678,12 @@ var form = new FloorRoomSelectPopupView(); form.ShowDeviceFunctionView(btnFloor, this.lightList, (selectId, listFunc) => { + groupControlLightList.Clear(); + groupControl.sids.Clear(); + 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; @@ -622,6 +691,7 @@ } else { + groupControlLightList.Clear(); groupControlLightList.AddRange(listFunc); btnChooseAll.TextID = StringId.Cancel; btnConfrim.IsSelected = true; -- Gitblit v1.8.0