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 |  189 +++++++++++++++++++++++-----------------------
 1 files changed, 95 insertions(+), 94 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
index f547b6f..d4f4569 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
@@ -20,29 +20,71 @@
         /// 鍔熻兘鏄剧ず鍖哄煙
         /// </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()
+        public void LoadPage(int tId)
         {
-            new TopViewDiv(bodyView, Language.StringByID(StringId.PermissionToUse)).LoadTopView();
+            titleId = tId;
+            new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView();
 
             allRoomView = new FrameLayout()
             {
@@ -56,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,
@@ -91,40 +133,35 @@
             };
             bodyView.AddChidren(contentView);
 
-            var btnOption = new Button()
+            btnOption = new Button()
             {
-                Y = Application.GetRealHeight(519+64),
+                Y = Application.GetRealHeight(519 + 64),
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(220),
-                Height = Application.GetRealHeight(44),
+                Height = Application.GetRealWidth(44),
                 BackgroundColor = CSS_Color.MainColor,
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.MainBackgroundColor,
-                TextID = StringId.Confirm,
+                TextID = titleId == StringId.MemberPermissionManagement ? StringId.Confirm : StringId.Shared,
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 IsBold = true,
-                Radius = (uint) Application.GetRealWidth(22),
+                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();
-            };
-            LoadFunctionRow();
 
+            LoadFunctionRow(funs_RoomAll);
+          
             LoadEventList();
         }
         /// <summary>
         /// 鍔犺浇鍔熻兘鍒楄〃
         /// </summary>
-        void LoadFunctionRow()
+        void LoadFunctionRow(List<ShareData> shareDatas)
         {
             contentView.RemoveAll();
-            foreach (var function in room.functions)
+            foreach (var roomData in roomFunctionOrSceneList)
             {
                 var roomView = new FrameLayout()
                 {
@@ -141,7 +178,7 @@
                     TextSize = CSS_FontSize.SubheadingFontSize,
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextAlignment = TextAlignment.CenterLeft,
-                    Text = function.name,
+                    Text = roomData.name,
                 };
                 roomView.AddChidren(btnRoomText);
 
@@ -156,89 +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;
                 }
-                LoadEvent_SharedDataChange(btnChoose, btnRoomText, roomView, function);
+                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);
             }
+
+          
         }
 
-        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