From 5ea6aa8ea047d4d7b6137fa86c03109aeb1b67ff Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 18 十二月 2020 18:03:18 +0800 Subject: [PATCH] Merge branch 'CJL' into NewFilePath --- HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs | 320 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 196 insertions(+), 124 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs index 99953e8..2914390 100755 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs @@ -4,11 +4,12 @@ using HDL_ON.Entity; using System.Collections.Generic; using HDL_ON.DAL; +using HDL_ON.DAL.Server; namespace HDL_ON.UI { /// <summary> - /// 浣跨敤鏉冮檺椤甸潰 + /// 鎴愬憳鏉冮檺绠$悊椤甸潰 /// </summary> public partial class MemberPermissionPage : FrameLayout { @@ -30,7 +31,7 @@ public void LoadPage() { bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, Language.StringByID(StringId.PermissionToUse)).LoadTopView(); + new TopViewDiv(bodyView, Language.StringByID(StringId.MemberPermissionManagement)).LoadTopView(); FrameLayout headPortraitView = new FrameLayout() { @@ -58,9 +59,11 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, - Text = memberInfo.nickName + "(" + memberInfo.Account + ")", + //Text = memberInfo.nickName + "(" + memberInfo.UserName + ")", }; headPortraitView.AddChidren(btnMemberName); + string username = HDLCommon.Current.GetUserName(memberInfo.memberName); + btnMemberName.Text = memberInfo.nickName + "(" + username + ")"; #region RoomList roomListView = new VerticalScrolViewLayout() @@ -117,141 +120,210 @@ var btnLine = new Button() { X = Application.GetRealWidth(16), - Y = btnTitle.Bottom, + Y = titleView.Height - Application.GetRealHeight(2), Width = Application.GetRealWidth(360), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }; - roomListView.AddChidren(btnLine); + titleView.AddChidren(btnLine); //--------------------------------------------- - //var roomListView = new VerticalScrolViewLayout() - //{ - // Y = btnLine.Bottom, - // Height = Application.GetRealHeight(440), - //}; - //contentView.AddChidren(roomListView); - - //List<Function> funss = new List<Function>(); - //if (memberInfo.CurResidenceShareDate.Count > 0) - //{ - // foreach (var sd in memberInfo.CurResidenceShareDate) - // { - // funss.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(System.Text.Encoding.UTF8.GetString(sd.ShareDataBytes))); - // } - //} - foreach (var room in SpatialInfo.CurrentSpatial.RoomList) + //鏈垎閰嶅尯鍩熺殑鍔熻兘 + List<Function> allFunctionList = FunctionList.List.GetDeviceFunctionList(); + //鏈垎閰嶅尯鍩熺殑鍔熻兘 + List<Function> unallocatedList = new List<Function>(); + // + foreach (var function in allFunctionList) { - var roomView = new FrameLayout() + function.roomIds.Remove(null); + if (function.roomIds.Count > 0) { - Height = Application.GetRealWidth(50), - BackgroundColor = CSS_Color.MainBackgroundColor, - }; - roomListView.AddChidren(roomView); - - var btnRoomName = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealWidth(4), - Width = Application.GetRealWidth(330), - Height = Application.GetRealWidth(24), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - Text = room.roomName, - }; - roomView.AddChidren(btnRoomName); - - //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲� - int addCount = 0; - foreach (var sd in memberInfo.CurResidenceShareDate) - { - if (room.GetRoomFunctions(false).Find((obj) => obj.deviceId == sd.shareTypeId) != null) - { - addCount++; - } + //allocatedList.Add(function); } - //绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘 - for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;) + else { - var sd = memberInfo.CurResidenceShareDate[i]; - if (FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.deviceId == sd.shareTypeId) == null) - { - //new DAL.Server.HttpServerRequest().DeleteShareData(sd); - memberInfo.CurResidenceShareDate.Remove(sd); - } - else - { - i++; - } - } - - var btnFunctionCount = new Button() - { - X = Application.GetRealWidth(16), - Y = btnRoomName.Bottom, - Width = Application.GetRealWidth(330), - Height = Application.GetRealWidth(18), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - Text = addCount + "/" + room.GetRoomFunctions(false).Count.ToString(), - }; - roomView.AddChidren(btnFunctionCount); - - var btnRight = new Button() - { - X = Application.GetRealWidth(351), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/Right.png", - }; - roomView.AddChidren(btnRight); - - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - Action<string> refreshFunctionCount = (newCount) => { - btnFunctionCount.Text = newCount + "/" + room.GetRoomFunctions(false).Count.ToString(); - }; - var mmp = new MemberFunctionPermissionPage(memberInfo, room, refreshFunctionCount); - MainPage.BasePageView.AddChidren(mmp); - mmp.LoadPage(StringId.PermissionToUse); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - roomView.MouseUpEventHandler = eHandler; - btnRoomName.MouseUpEventHandler = eHandler; - btnRight.MouseUpEventHandler = eHandler; - btnFunctionCount.MouseUpEventHandler = eHandler; - - if (SpatialInfo.CurrentSpatial.RoomList.IndexOf(room) < SpatialInfo.CurrentSpatial.RoomList.Count - 2) - { - var btnRoomLine = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealWidth(49), - Width = Application.GetRealWidth(343), - Height = Application.GetRealWidth(1), - BackgroundColor = CSS_Color.DividingLineColor, - }; - roomView.AddChidren(btnRoomLine); + unallocatedList.Add(function); } } - //if (DB_ResidenceData.rooms.Count > 10) - //{ - // roomListView.ScrollEnabled = true; - //} - //else - //{ - // roomListView.ScrollEnabled = false; + //绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘 + for (int i = 0; i < memberInfo.CurResidenceShareData.Count;) + { + var sd = memberInfo.CurResidenceShareData[i]; + if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null) + { + //new DAL.Server.HttpServerRequest().DeleteShareData(sd); + //寰呯‘璁ゆ槸鍚﹀悓姝ヤ簯绔垹闄ゅ垎浜� + memberInfo.CurResidenceShareData.Remove(sd); + } + else + { + i++; + } + } - // roomListView.AddChidren(new Button() - // { - // Height = Application.GetRealWidth(441), - // BackgroundColor = CSS_Color.BackgroundColor, - // }); - //} + try + { + //閬嶅巻鍔犺浇鎴块棿鍒嗕韩涓暟缁熻鐘舵�丷owLayout + foreach (var room in SpatialInfo.CurrentSpatial.RoomList) + { + AddRoomFunctionRowLayout(room); + } + //2020-12-16 鍔犺浇鏈垎閰嶅尯鍩熷姛鑳絉owLayout + AddNoAreaFunctionRowLayout(unallocatedList); + } + catch + { + Utlis.WriteLine("AddRoomFunctionRowLayout error"); + } } + + /// <summary> + /// 娣诲姞鎴块棿鍒嗕韩涓暟缁熻鐘舵�佺殑RowLayout + /// </summary> + /// <param name="mRoom"></param> + void AddRoomFunctionRowLayout(Room mRoom) + { + ShowBaseRoomFunOrNoAreaFunRowLayout(mRoom, null); + } + + /// <summary> + /// 娣诲姞鏈垎閰嶅尯鍩熷姛鑳� 鐨勪釜鏁扮粺璁$姸鎬佺殑RowLayout + /// </summary> + /// <param name="unallocatedList">鏈垎閰嶇殑鎵�鏈夊姛鑳藉垪琛�</param> + void AddNoAreaFunctionRowLayout(List<Function> unallocatedList) + { + ShowBaseRoomFunOrNoAreaFunRowLayout(null, unallocatedList); + } + + /// <summary> + /// 2020-12-17 閲嶆柊璋冩暣 + /// 娣诲姞鎴块棿鍒嗕韩鎴栬�呮棤鍖哄煙鍒嗛厤 涓暟缁熻鐘舵�佺殑RowLayout + /// </summary> + /// <param name="room">濡傛灉鎴块棿涓虹┖锛屼唬琛ㄧ鐞嗘棤鍒嗛厤鍖哄煙</param> + /// <param name="unallocatedList">绠$悊鏃犲垎閰嶅尯鍩熸墠鏈夋晥</param> + void ShowBaseRoomFunOrNoAreaFunRowLayout(Room mRoom, List<Function> unallocatedList) + { + /// 褰撳墠鎴块棿鎴栬�呮棤鍒嗛厤鍖哄煙鍒嗕韩鍒楄〃 + List<ShareData> funs_RoomAll = new List<ShareData>(); + /// <summary> + /// 鎴块棿鎴栬�呮棤鍒嗛厤鍖哄煙鎵�鏈夊姛鑳藉垪琛� + /// </summary> + List<Function> roomFunctionList = new List<Function>(); + /// 鎴块棿ID + string roomId = ""; + + var roomView = new RowLayout() + { + Height = Application.GetRealWidth(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + LineColor = CSS_Color.MainBackgroundColor, + }; + roomListView.AddChidren(roomView); + + var btnRoomName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealWidth(4), + Width = Application.GetRealWidth(330), + Height = Application.GetRealWidth(24), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + //Text = room.roomName, + }; + roomView.AddChidren(btnRoomName); + + + + var btnFunctionCount = new Button() + { + X = Application.GetRealWidth(16), + Y = btnRoomName.Bottom, + Width = Application.GetRealWidth(330), + Height = Application.GetRealWidth(18), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + //Text = addCount + "/" + room.GetRoomFunctions(false).Count.ToString(), + }; + roomView.AddChidren(btnFunctionCount); + + var btnRight = new Button() + { + X = Application.GetRealWidth(351), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + roomView.AddChidren(btnRight); + + //濡傛灉鎴块棿涓虹┖锛屼唬琛ㄧ鐞嗘棤鍒嗛厤鍖哄煙 + if (mRoom != null) + { + //鏄剧ず鎴块棿鍚� + btnRoomName.Text = mRoom.roomName; + roomFunctionList = mRoom.GetRoomFunctions(false); + roomId = mRoom.roomId; + //娣诲姞鍒嗗壊绾� + var lineView = new LineView(roomView.Height - Application.GetRealHeight(1)); + roomView.AddChidren(lineView); + } + else + { + //鏄剧ず鏃犲尯鍩熷姛鑳� + btnRoomName.TextID = StringId.NoAreaFunction; + roomFunctionList = unallocatedList; + roomId = null; + } + + //鍒犻櫎鎸夐挳 + var deleteBtn = new Button() + { + TextID = StringId.Del, + BackgroundColor = CSS_Color.AuxiliaryColor2, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.TextFontSize, + }; + roomView.AddRightView(deleteBtn); + deleteBtn.MouseUpEventHandler = (sender, e) => + { + //涓�閿垹闄ゆ墍鏈夊垎浜� + DeleteRoomAllShare(funs_RoomAll, roomFunctionList, roomId, btnFunctionCount, roomView); + }; + + //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲忕殑Action浜嬩欢 + Action RefreshAction = () => { + funs_RoomAll = new List<ShareData>(); + int addCount = 0; + foreach (var sd in memberInfo.CurResidenceShareData) + { + if (roomFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) != null) + { + addCount++; + funs_RoomAll.Add(sd); + } + } + btnFunctionCount.Text = addCount + "/" + roomFunctionList.Count.ToString(); + //Utlis.WriteLine("鍒锋柊鎴愬姛"); + }; + //鐐瑰嚮璋冩暣浜嬩欢 + EventHandler<MouseEventArgs> eHandler = (sender, e) => + { + var mmp = new MemberFunctionPermissionPage(memberInfo, roomFunctionList, funs_RoomAll, roomId, RefreshAction); + MainPage.BasePageView.AddChidren(mmp); + mmp.LoadPage(StringId.MemberPermissionManagement); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + roomView.MouseUpEventHandler = eHandler; + btnRoomName.MouseUpEventHandler = eHandler; + btnRight.MouseUpEventHandler = eHandler; + btnFunctionCount.MouseUpEventHandler = eHandler; + + RefreshAction?.Invoke(); + } + + } } -- Gitblit v1.8.0