From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs | 287 +++++++++++++++++++++++++-------------------------------- 1 files changed, 127 insertions(+), 160 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs index 80e864e..d4f4569 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs @@ -8,36 +8,85 @@ namespace HDL_ON.UI { - public class MemberFunctionPermissionPage : FrameLayout + public partial class MemberFunctionPermissionPage : FrameLayout { MemberFunctionPermissionPage bodyView; - + FrameLayout allRoomView; + /// <summary> + /// 鍏ㄩ�夋寜閽� + /// </summary> Button btnChooseAll; + /// <summary> + /// 鍔熻兘鏄剧ず鍖哄煙 + /// </summary> + VerticalScrolViewLayout contentView; + /// <summary> + /// 搴曢儴鎿嶄綔鎸夐挳 + /// </summary> + Button btnOption; + /// <summary> + /// 椤甸潰鏍囬ID + /// </summary> + int titleId; ResidenceMemberInfo memberInfo; - Room room; + /// <summary> + /// 褰撳墠鐨勬埧闂磖oomId + /// 濡傛灉涓虹┖锛屽垯浠h〃绠$悊鏃犲垎閰嶅尯鍩熺殑鍔熻兘鍒嗕韩 + /// </summary> + string roomId; + /// <summary> + /// 鎴块棿鎵�鏈夊姛鑳藉拰鍦烘櫙鍒楄〃 + /// </summary> + List<RoomData> roomFunctionOrSceneList = new List<RoomData>(); + - List<Function> funs; + /// <summary> + /// 鍒锋柊鍥炶皟Action + /// </summary> + Action refreshAction; + /// <summary> + /// 褰撳墠璐﹀彿鐨勬墍鏈夊垎浜垪琛� + /// </summary> + List<ShareData> curResidenceShareData; + /// <summary> + /// 灞炰簬褰撳墠鎴块棿鏈�缁堢殑璁惧鍒嗕韩鍒楄〃 + /// </summary> + List<ShareData> funs_RoomAll; + //shareDataList = new List<ShareData>(); + /// <summary> + /// 鍒犻櫎鐨勫垎浜垪琛� + /// </summary> + List<ShareData> funs_Del; - - public MemberFunctionPermissionPage(ResidenceMemberInfo mInfo, Room r) + /// <summary> + /// + /// </summary> + /// <param name="mInfo"></param> + /// <param name="roomFunctionOrSceneList">鎴块棿鎵�鏈夊姛鑳藉拰鍦烘櫙鍒楄〃</param> + /// <param name="roomId"></param> + /// <param name="refreshAction"></param> + public MemberFunctionPermissionPage(ResidenceMemberInfo mInfo, List<RoomData> roomFunctionOrSceneList, List<ShareData> funs_RoomAll, string roomId, Action refreshAction) { bodyView = this; - memberInfo = mInfo; - room = r; - funs = new List<Function>(); - if (memberInfo.CurShareData.ShareDataBytes != null) - { - funs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>( - CommonPage.MyEncodingUTF8.GetString(memberInfo.CurShareData.ShareDataBytes)); - } + this.memberInfo = mInfo; + this.roomFunctionOrSceneList = roomFunctionOrSceneList; + this.roomId = roomId; + //this.curResidenceShareData = new List<ShareData>(); + this.curResidenceShareData = memberInfo.CurResidenceShareData; + this.funs_RoomAll = new List<ShareData>(); + this.funs_RoomAll.AddRange(funs_RoomAll); + this.funs_Del = new List<ShareData>(); + this.refreshAction = refreshAction; } - public void LoadPage() - { - new TopViewDiv(bodyView, Language.StringByID(StringId.PermissionToUse)).LoadTopView(); - var allRoomView = new FrameLayout() + public void LoadPage(int tId) + { + titleId = tId; + new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(); + + allRoomView = new FrameLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(50), @@ -49,7 +98,7 @@ { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(280), - TextID = StringId.All, + TextID = StringId.SelectedAll, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, TextAlignment = TextAlignment.CenterLeft, @@ -77,14 +126,42 @@ BackgroundColor = CSS_Color.DividingLineColor, }); - var contentView = new VerticalScrolViewLayout() + contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64+50), Height = Application.GetRealHeight(450), }; bodyView.AddChidren(contentView); - foreach (var function in room.functions) + btnOption = new Button() + { + Y = Application.GetRealHeight(519 + 64), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(44), + BackgroundColor = CSS_Color.MainColor, + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.MainBackgroundColor, + TextID = titleId == StringId.MemberPermissionManagement ? StringId.Confirm : StringId.Shared, + TextSize = CSS_FontSize.SubheadingFontSize, + IsBold = true, + Radius = (uint)Application.GetRealWidth(22), + BorderColor = 0x00000000, + BorderWidth = 0, + }; + bodyView.AddChidren(btnOption); + + LoadFunctionRow(funs_RoomAll); + + LoadEventList(); + } + /// <summary> + /// 鍔犺浇鍔熻兘鍒楄〃 + /// </summary> + void LoadFunctionRow(List<ShareData> shareDatas) + { + contentView.RemoveAll(); + foreach (var roomData in roomFunctionOrSceneList) { var roomView = new FrameLayout() { @@ -101,7 +178,7 @@ TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, TextAlignment = TextAlignment.CenterLeft, - Text = function.name, + Text = roomData.name, }; roomView.AddChidren(btnRoomText); @@ -116,163 +193,53 @@ Tag = "ChooseIcon" }; roomView.AddChidren(btnChoose); - if (funs.Find((obj)=>obj.sid == function.sid) != null) + + var shareData = shareDatas.Find((obj) => obj.shareTypeId == roomData.shareTypeId); + if (shareData != null) { btnChoose.IsSelected = true; - funs.Add(function); + //鍒锋柊灞炰簬褰撳墠鎴块棿鐨勫垎浜粺璁� + //funs_New.Add(shareData); } else { if (btnChooseAll.IsSelected) btnChooseAll.IsSelected = false; } - - EventHandler<MouseEventArgs> eventHandler = (sender, e) => - { - btnChoose.IsSelected = !btnChoose.IsSelected; - if (btnChoose.IsSelected) - { - try - { - funs.Add(function); - } - catch (Exception ex) - { - MainPage.Log($"Evhaaa {ex.Message}"); - } - } - else - { - funs.Remove(function); - } - }; - - btnChoose.MouseUpEventHandler = eventHandler; - btnRoomText.MouseUpEventHandler = eventHandler; - roomView.MouseUpEventHandler = eventHandler; + LoadMethod_SharedDataChange(btnChoose, btnRoomText, roomView, roomData); var btnLine = new Button() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(49), - Height = Application.GetMinReal(1), + //Y = Application.GetRealHeight(49), + Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor, }; - roomView.AddChidren(btnLine); + contentView.AddChidren(btnLine); } - var btnOption = new Button() - { - Y = Application.GetRealHeight(519+64), - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(220), - Height = Application.GetRealHeight(44), - BackgroundColor = CSS_Color.MainColor, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.MainBackgroundColor, - TextID = StringId.Confirm, - TextSize = CSS_FontSize.SubheadingFontSize, - IsBold = true, - Radius = (uint) Application.GetRealWidth(22), - BorderColor = 0x00000000, - BorderWidth = 0, - }; - bodyView.AddChidren(btnOption); - btnOption.MouseUpEventHandler = (sender, e) => { - var act = TipLoadingMsg(Language.StringByID(StringId.SavingPleaseWait)); - memberInfo.CurShareData.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(funs)); - EditShareData(); - act(); - }; + } - void EditShareData() - { - if (memberInfo.CurShareData.ShareName == "") - { - var ssdd = new ShareData(); - ssdd.ShareName = DB_ResidenceData.residenceData.residecenInfo.RegionID; - ssdd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; - ssdd.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(funs)); - ssdd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; - ResponsePack responePack = new HttpServerRequest().AddShareData(ssdd); - if (responePack.StateCode.ToUpper() != "SUCCESS") - { - new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed), true); - return; - } - else - { - ssdd.DistributedMark = responePack.ResponseData.ToString(); - } - memberInfo.CurShareData = ssdd; - } - else - { - UpdataShareData(); - } - } + } - void UpdataShareData() - { - ResponsePack responePack = new HttpServerRequest().EditShareData(memberInfo.CurShareData); - if (responePack.StateCode.ToUpper() == "SUCCESS") - { - new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.SavedSuccessfully), true); - } - else - { - new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed), true); - } - } - - Action TipLoadingMsg(string msg) - { - Dialog dialog = new Dialog() - { - X = Application.GetRealWidth(89), - Y = Application.GetRealHeight(285), - Width = Application.GetRealWidth(198), - Height = Application.GetRealHeight(98), - }; - - FrameLayout frame = new FrameLayout() - { - BackgroundColor = CSS_Color.DialogTransparentColor1, - Radius = (uint)Application.GetRealWidth(12), - }; - dialog.AddChidren(frame); - - Button btnTipIcon = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(15), - Width = Application.GetRealWidth(32), - Height = Application.GetRealWidth(32), - UnSelectedImagePath = "Public/MsgIcon/LoadingIcon.png", - }; - frame.AddChidren(btnTipIcon); - - Button btnTipMsg = new Button() - { - Y = Application.GetRealHeight(47), - Height = Application.GetRealHeight(50), - TextAlignment = TextAlignment.Center, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.MainBackgroundColor, - Text = msg, - }; - frame.AddChidren(btnTipMsg); - - //new System.Threading.Thread(() =>{ - //}); - - dialog.Show(); - return new Action(() => { - dialog.Close(); - }); - } - + /// <summary> + /// 鎴块棿鎵�鏈夊姛鑳藉拰鑰呭満鏅垪琛� + /// </summary> + public class RoomData + { + /// <summary> + /// 璁惧鍚嶅瓧鎴栬�呭満鏅悕瀛� + /// </summary> + public string shareTypeId; + /// <summary> + /// 璁惧鍚嶅瓧鎴栬�呭満鏅悕瀛� + /// </summary> + public string name; + /// <summary> + /// 鍒嗕韩绫诲瀷 1.ROOM 2.DEVICE 3.SCENE + /// </summary> + public string shareType = ShareType.DEVICE.ToString(); } } \ No newline at end of file -- Gitblit v1.8.0