From 557c8c4f75aafc97533721766272410042440d34 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期六, 21 八月 2021 11:00:29 +0800
Subject: [PATCH] 安防功能
---
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