From 587c36e27131f2d028fcabc13b296a8de7470034 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 08 一月 2020 08:59:19 +0800
Subject: [PATCH] 2019.1.8
---
ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs | 318 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 203 insertions(+), 115 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
index dae9d48..cd409ea 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs
@@ -1,10 +1,12 @@
锘縰sing System;
+using System.Collections.Generic;
+
namespace Shared.Phone.UserCenter.Member
{
/// <summary>
/// 鎴愬憳淇℃伅绠$悊
/// </summary>
- public class MemberManagementForm : UserCenterCommonForm
+ public class MemberManagementForm : EditorCommonForm
{
#region 鈻� 鍙橀噺澹版槑___________________________
@@ -13,17 +15,13 @@
/// </summary>
private MemberInfoRes memberInfo = null;
/// <summary>
- /// TopFrameLayout
- /// </summary>
- private SpecialFrameLayout specialTopFrame = null;
- /// <summary>
/// 绠$悊鍛樻潈闄愬浘鏍囨帶浠�
/// </summary>
- private TopLayoutMostRightView btnTopIcon = null;
+ private MostRightIconControl btnTopIcon = null;
/// <summary>
/// 鏉冮檺鐨勭炕璇戝悕鎺т欢
/// </summary>
- private ViewNormalControl btnAuthority = null;
+ private NormalViewControl btnAuthority = null;
#endregion
@@ -38,10 +36,8 @@
this.memberInfo = info;
//璁剧疆鏍囬淇℃伅
- base.SetTitleText(Language.StringByID(R.MyInternationalizationString.MenberManagement));
-
- //涓轰簡鑳藉鏄剧ず妯″潡鍥炬牱
- bodyFrameLayout.BackgroundColor = UserCenterColor.Current.TopFrameLayout;
+ string title = string.IsNullOrEmpty(info.UserName) == true ? info.Account : info.UserName;
+ base.SetTitleText(title);
//鍒濆鍖栧彸涓婅鐨勫浘鏍�
this.InitTopRightIcon();
@@ -60,25 +56,35 @@
return;
}
//绠$悊鍛樻潈闄愬浘鏍�
- btnTopIcon = new TopLayoutMostRightView();
+ btnTopIcon = new MostRightIconControl(69, 69);
if (memberInfo.AccountType == 1)
{
- btnTopIcon.UnSelectedImagePath = "Account/HadAuthority.png";
+ btnTopIcon.UnSelectedImagePath = "Item/HadAuthority.png";
}
else
{
- btnTopIcon.UnSelectedImagePath = "Account/NotAuthority.png";
+ btnTopIcon.UnSelectedImagePath = "Item/NotAuthority.png";
}
topFrameLayout.AddChidren(btnTopIcon);
-
- btnTopIcon.MouseUpEventHandler += (sender, e) =>
+ btnTopIcon.InitControl();
+ btnTopIcon.ButtonClickEvent += (sender, e) =>
{
+ //纭畾鍙栨秷銆寋0}銆嶇鐞嗗憳鏉冮檺锛�
string msg = Language.StringByID(R.MyInternationalizationString.uDownSubAccountLevel);
if (memberInfo.AccountType != 1)
{
+ //纭畾鎺堟潈銆寋0}銆嶆垚涓虹鐞嗗憳?
msg = Language.StringByID(R.MyInternationalizationString.uUpSubAccountLevel);
}
- this.ShowConfirmMsg(msg, "UpOrDownSubAccountLevel");
+ msg = msg.Replace("{0}", string.IsNullOrEmpty(memberInfo.UserName) == true ? memberInfo.Account : memberInfo.UserName);
+
+ this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+ {
+ //浜屾瀹夊叏楠岃瘉,濡傛灉娌℃湁璁剧疆鏈�,鐩存帴璺宠繃楠岃瘉
+ HdlCheckLogic.Current.CheckSecondarySecurity(
+ () => { this.UpOrDownSubAccountLevel(); },
+ () => { this.UpOrDownSubAccountLevel(); });
+ });
};
}
@@ -87,6 +93,9 @@
/// </summary>
private void InitMiddleFrame()
{
+ //娓呯┖bodyFrame
+ this.ClearBodyFrame();
+
//鍒濆鍖栫敤鎴峰浘鏍�
this.InitMenberIconControl();
@@ -99,21 +108,36 @@
/// </summary>
private void InitMenberIconControl()
{
- this.specialTopFrame = new SpecialFrameLayout(400, 10);
- specialTopFrame.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
- bodyFrameLayout.AddChidren(specialTopFrame);
+ var frame = new FrameLayout();
+ frame.Height = Application.GetRealHeight(372);
+ frame.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(frame);
//鐢ㄦ埛鍥炬爣
- var btnUserIcon = new ProfilePhotoControl();
- btnUserIcon.Y = Application.GetRealHeight(40);
+ string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png");
+ var btnUserIcon = new ImageView();
+ btnUserIcon.Height = Application.GetMinRealAverage(207);
+ btnUserIcon.Width = Application.GetMinRealAverage(207);
+ btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2;
+ if (System.IO.File.Exists(iconPath) == true)
+ {
+ btnUserIcon.ImageBytes = Shared.IO.FileUtils.ReadFile(iconPath);
+ }
+ else
+ {
+ btnUserIcon.ImagePath = "Center/Admin.png";
+ }
+ btnUserIcon.Y = Application.GetRealHeight(45);
btnUserIcon.Gravity = Gravity.CenterHorizontal;
- btnUserIcon.UnSelectedImagePath = "Account/Admin.png";
- this.specialTopFrame.AddChidren(btnUserIcon);
+ frame.AddChidren(btnUserIcon);
+ //鑾峰彇鎴愬憳澶村儚
+ this.GetMemberIcon(btnUserIcon);
//鏉冮檺
- btnAuthority = new ViewNormalControl(800, true);
+ btnAuthority = new NormalViewControl(800, 50, true);
btnAuthority.TextAlignment = TextAlignment.Center;
- btnAuthority.Y = btnUserIcon.Bottom + Application.GetRealHeight(10);
+ btnAuthority.TextSize = 12;
+ btnAuthority.Y = btnUserIcon.Bottom + Application.GetRealHeight(23);
btnAuthority.Gravity = Gravity.CenterHorizontal;
btnAuthority.TextColor = UserCenterColor.Current.TextGrayColor;
btnAuthority.TextID = R.MyInternationalizationString.uMember;
@@ -122,19 +146,7 @@
//鎷ユ湁绠$悊鍛樻潈闄�
btnAuthority.TextID = R.MyInternationalizationString.uMemberHadActionAuthority;
}
- this.specialTopFrame.AddChidren(btnAuthority);
-
- //鏄电О
- var btnName = new ViewNormalControl(800, true);
- btnName.TextAlignment = TextAlignment.Center;
- btnName.Y = btnAuthority.Bottom + Application.GetRealHeight(10);
- btnName.Text = memberInfo.UserName;
- btnName.Gravity = Gravity.CenterHorizontal;
- this.specialTopFrame.AddChidren(btnName, HeightAutoMode.IncreaseOnly);
- if (string.IsNullOrEmpty(memberInfo.UserName) == true)
- {
- btnName.Text = memberInfo.Account;
- }
+ frame.AddChidren(btnAuthority);
}
#endregion
@@ -146,65 +158,69 @@
/// </summary>
private void InitInfoList()
{
- //鍒涘缓涓�涓狥rameLayout
- var frameLayout = new FrameLayout();
- frameLayout.Height = bodyFrameLayout.Height - specialTopFrame.Height - Application.GetRealHeight(50);
- frameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
- frameLayout.Y = specialTopFrame.Bottom + Application.GetRealHeight(50);
- bodyFrameLayout.AddChidren(frameLayout);
-
//鏍囬:鎴愬憳鏉冮檺
- var btnMenberTile = new ViewNormalControl(800, true);
+ var btnMenberTile = new DetailTitleControl(800, 60, true);
btnMenberTile.X = ControlCommonResourse.XXLeft;
- btnMenberTile.Y = Application.GetRealHeight(20);
+ btnMenberTile.Y = Application.GetRealHeight(418);
+ btnMenberTile.TextColor = UserCenterColor.Current.TextColor2;
btnMenberTile.TextID = R.MyInternationalizationString.MenberAuthority;
- frameLayout.AddChidren(btnMenberTile);
+ btnMenberTile.TextSize = 15;
+ bodyFrameLayout.AddChidren(btnMenberTile);
+
+ var frame = new FrameListControl();
+ frame.Height = Application.GetRealHeight(311);
+ frame.BackgroundColor = UserCenterColor.Current.White;
+ frame.Y = Application.GetRealHeight(501);
+ bodyFrameLayout.AddChidren(frame);
+
+ //濉炰竴涓┖鐧界殑杩涘幓鍗犵┖闂�
+ var rowTemp = new FrameRowControl();
+ rowTemp.UseClickStatu = false;
+ rowTemp.Height = Application.GetRealHeight(23) - frame.rowSpace;
+ frame.AddChidren(rowTemp);
//娣诲姞杩滅▼鎿嶄綔琛�
- var rowLayout = new RowLayout();
- rowLayout.Y = btnMenberTile.Bottom + Application.GetRealHeight(10);
- rowLayout.Height = ControlCommonResourse.ListViewRowHeight;
- frameLayout.AddChidren(rowLayout);
- this.AddRemoteRow(rowLayout);
+ var rowRemote = new FrameRowControl(frame.rowSpace / 2);
+ rowRemote.UseClickStatu = false;
+ frame.AddChidren(rowRemote);
+ this.AddRemoteRow(rowRemote);
//娣诲姞宸插叡浜唴瀹硅
- var rowDevice = new StatuRowLayout();
- rowDevice.Y = rowLayout.Bottom;
- frameLayout.AddChidren(rowDevice);
- this.AddShardContentRow(rowDevice);
-
- //娣诲姞鐢婚潰搴曢儴鐨勮鏄�
- var frameNote = new FrameLayout();
- frameNote.Height = ControlCommonResourse.NormalControlHeight * 2;
- frameNote.Y = Application.GetRealHeight(680);
- frameLayout.AddChidren(frameNote);
+ var rowShard = new FrameRowControl(frame.rowSpace / 2);
+ frame.AddChidren(rowShard);
+ this.AddShardContentRow(rowShard);
//涓�鏃︾Щ闄よ瀹跺涵鎴愬憳锛屼粬/濂瑰皢鏃犳硶浣跨敤璇ョ綉鍏充笅鎵�缁戝畾鐨勮澶�
- Button btnNote1 = new ViewNormalControl(Application.GetRealWidth(800), ControlCommonResourse.NormalControlHeight * 2, false);
+ var btnNote1 = new NormalViewControl(613, 100, true);
+ btnNote1.X = Application.GetRealWidth(248);
+ btnNote1.Y = Application.GetRealHeight(1327);
+ btnNote1.TextSize = 12;
btnNote1.TextID = R.MyInternationalizationString.RemoveMenberAndDonotUserBindGatewayDevice;
btnNote1.IsMoreLines = true;
- btnNote1.TextColor = UserCenterColor.Current.Gray;
- btnNote1.Gravity = Gravity.CenterHorizontal;
+ btnNote1.TextColor = UserCenterColor.Current.TextGrayColor1;
btnNote1.TextAlignment = TextAlignment.Center;
- frameNote.AddChidren(btnNote1);
+ bodyFrameLayout.AddChidren(btnNote1);
- var btnIcon = new IconViewControl(80);
- btnIcon.X = btnNote1.X - Application.GetRealWidth(80);
+ var btnIcon = new IconViewControl(58);
+ btnIcon.X = Application.GetRealWidth(167);
+ btnIcon.Y = btnNote1.Y;
btnIcon.UnSelectedImagePath = "Item/Tips.png";
- btnIcon.Gravity = Gravity.CenterVertical;
- frameNote.AddChidren(btnIcon);
+ bodyFrameLayout.AddChidren(btnIcon);
//娣诲姞绉婚櫎鎸夐挳
var btnDelete = new BottomClickButton();
btnDelete.TextID = R.MyInternationalizationString.RemoveBotton;
- btnDelete.Y = frameNote.Bottom + Application.GetRealHeight(100);
- btnDelete.BackgroundColor = UserCenterColor.Current.Red;
- frameLayout.AddChidren(btnDelete);
- btnDelete.MouseUpEventHandler += (sender, e) =>
+ btnDelete.BackgroundColor = 0xfff75858;
+ bodyFrameLayout.AddChidren(btnDelete);
+ btnDelete.ButtonClickEvent += (sender, e) =>
{
//纭畾瑕佺Щ闄よ瀹跺涵鎴愬憳鍚楋紵
string msg = Language.StringByID(R.MyInternationalizationString.uConfirmRemoveMember);
- this.ShowConfirmMsg(msg, "DeleteSubAccount");
+ this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+ {
+ //鍒犻櫎瀛愯处鍙�
+ this.DeleteSubAccount();
+ });
};
}
@@ -216,26 +232,54 @@
/// 娣诲姞杩滅▼鎿嶄綔琛�
/// </summary>
/// <param name="row">Row.</param>
- private void AddRemoteRow(RowLayout row)
+ private void AddRemoteRow(FrameRowControl row)
{
//鍥炬爣
- var btnIcon = new RowLeftIconView();
+ var btnIcon = row.AddLeftIcon(81);
btnIcon.UnSelectedImagePath = "Item/Remote.png";
- btnIcon.SelectedImagePath = "Item/RemoteSelected.png";
- row.AddChidren(btnIcon);
//鏂囧瓧:杩滅▼鎿嶄綔
- var btnName = new RowCenterView(true);
+ var btnName = row.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.RemoteManipulation), 500);
btnName.TextID = R.MyInternationalizationString.RemoteManipulation;
- row.AddChidren(btnName);
+ btnName.TextSize = 15;
//寮�鍏�
- var btnSwitch = new SwichControl();
- row.AddChidren(btnSwitch);
- btnSwitch.MouseUpEventHandler += (sender, e) =>
+ var btnSwitch = row.AddMostRightSwitchIcon();
+ if (this.memberInfo.IsAllowRemoteCtrl == true)
{
- btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ btnSwitch.IsSelected = true;
+ }
+ btnSwitch.ButtonClickEvent += (sender, e) =>
+ {
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ var pra = new
+ {
+ HouseDistributedMark = Common.Config.Instance.Home.Id,
+ DistributedMark = this.memberInfo.DistributedMark,
+ IsAllowRemoteCtrl = !btnSwitch.IsSelected
+ };
+ //鎵撳紑杩涘害鏉�
+ this.ShowProgressBar();
+ var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/ChangeSubAccountIsAllowRemoteCtrl", false, pra);
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+
+ if (result == false)
+ {
+ return;
+ }
+ this.memberInfo.IsAllowRemoteCtrl = !btnSwitch.IsSelected;
+
+ Application.RunOnMainThread(() =>
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ });
+ });
+
};
+ //搴曠嚎
+ row.AddBottomLine();
}
#endregion
@@ -246,27 +290,25 @@
/// 娣诲姞宸插叡浜唴瀹硅
/// </summary>
/// <param name="row">Row.</param>
- private void AddShardContentRow(StatuRowLayout row)
+ private void AddShardContentRow(FrameRowControl row)
{
//鍥炬爣
- var btnIcon = new RowLeftIconView();
- btnIcon.UnSelectedImagePath = "Item/ShardDevice.png";
- btnIcon.SelectedImagePath = "Item/ShardDeviceSelected.png";
- row.AddChidren(btnIcon);
+ var btnIcon = row.AddLeftIcon(81);
+ btnIcon.UnSelectedImagePath = "Item/ShardMenu.png";
- //鏂囧瓧:宸插叡浜唴瀹硅
- var btnName = new RowCenterView(true);
- btnName.TextID = R.MyInternationalizationString.uHadSharedContent;
- row.AddChidren(btnName);
+ //鍏变韩
+ var btnName = row.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uShared2), 500);
+ btnName.TextID = R.MyInternationalizationString.uShared2;
+ btnName.TextSize = 15;
//鍙冲浘鏍�
- row.AddRightIconControl();
+ row.AddRightArrow();
var memberShardInfo = new MemberShardInfoData();
- row.MouseUpEvent += (sender, e) =>
+ row.ButtonClickEvent += (sender, e) =>
{
- var form = new SharedContent.SearchConfigureSharedListRoomForm();
- this.AddForm(form, memberInfo, memberShardInfo);
+ var form = new SharedContent.LookSharedListRoomForm();
+ form.AddForm(memberInfo, memberShardInfo);
};
}
@@ -285,7 +327,7 @@
var pra = new UpOrDownLevelPra();
pra.DistributedMark = memberInfo.DistributedMark;
- bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpSubAccount", pra);
+ bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpSubAccount", false, pra);
if (result == false)
{
this.CloseProgressBar();
@@ -298,24 +340,25 @@
Application.RunOnMainThread(() =>
{
+ if (this.Parent == null)
+ {
+ return;
+ }
//鍙樻洿鏉冮檺鍥炬爣
if (memberInfo.AccountType == 1)
{
- btnTopIcon.UnSelectedImagePath = "Account/HadAuthority.png";
+ btnTopIcon.UnSelectedImagePath = "Item/HadAuthority.png";
}
else
{
- btnTopIcon.UnSelectedImagePath = "Account/NotAuthority.png";
+ btnTopIcon.UnSelectedImagePath = "Item/NotAuthority.png";
}
//鍙樻洿鏉冮檺鏂囧瓧
btnAuthority.TextID = memberInfo.AccountType == 1 ? R.MyInternationalizationString.uMemberHadActionAuthority : R.MyInternationalizationString.uMember;
//鎵撳紑鏄剧ず鎴愬姛鐨勭敾闈�
- if (memberInfo.AccountType == 1)
- {
- var form = new SubAccountLevelUpSuccessForm();
- this.AddForm(form, memberInfo);
- }
+ var form = new SubAccountLevelUpSuccessForm();
+ form.AddForm(memberInfo);
});
}
@@ -326,7 +369,7 @@
/// <summary>
/// 鍒犻櫎瀛愯处鍙�
/// </summary>
- public async void DeleteSubAccount()
+ private async void DeleteSubAccount()
{
//寮�鍚繘搴︽潯
this.ShowProgressBar();
@@ -334,7 +377,7 @@
var pra = new DeleteSubAccountPra();
pra.SubAccount = memberInfo.SubAccountDistributedMark;
- bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/DeletedSubAccount", pra);
+ bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/DeletedSubAccount", false, pra);
//鍏抽棴杩涘害鏉�
this.CloseProgressBar();
@@ -343,12 +386,57 @@
return;
}
- Application.RunOnMainThread(() =>
+ //绉婚櫎缂撳瓨
+ UserCenterResourse.ListMemberInfo.RemoveAll((obj) =>
{
- //浠庢垚鍛樹竴瑙堢敾闈㈢Щ闄�
- this.LoadFormMethodByName("MemberListForm", "DeleteRowByAccount", memberInfo.Account);
- //鑷韩鍏抽棴
- this.CloseForm();
+ if (obj.SubAccountDistributedMark == memberInfo.SubAccountDistributedMark)
+ {
+ return true;
+ }
+ return false;
+ });
+ UserCenterLogic.SaveLocalMemberListInfo();
+
+ //浠庢垚鍛樹竴瑙堢敾闈㈢Щ闄�
+ this.LoadFormMethodByName("MemberListForm", "DeleteRowByAccount", memberInfo.Account);
+ //鑷韩鍏抽棴
+ this.CloseForm();
+ }
+
+ #endregion
+
+ #region 鈻� 鑾峰彇鎴愬憳澶村儚_______________________
+
+ /// <summary>
+ /// 鑾峰彇鎴愬憳澶村儚
+ /// </summary>
+ private void GetMemberIcon(ImageView btnUserIcon)
+ {
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ var pra = new AccountInfoPra();
+ pra.Account = memberInfo.Account;
+ var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" });
+ if (result == null)
+ {
+ return;
+ }
+ var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result));
+ if (revertObj == null || revertObj.ResponseData == null)
+ {
+ return;
+ }
+ var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
+ if (infoResult.HeadImage != null)
+ {
+ //鍐欏叆澶村儚鍐呭
+ string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png");
+ Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage);
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ btnUserIcon.ImageBytes = Shared.IO.FileUtils.ReadFile(iconPath);
+ });
+ }
});
}
--
Gitblit v1.8.0