From 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 03 十二月 2019 10:47:51 +0800
Subject: [PATCH] 优化UI细节(请合并最新代码)
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 217 ++++++++++++++++++++++-------------------------------
1 files changed, 91 insertions(+), 126 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
old mode 100755
new mode 100644
index 0b5d4d8..e019808
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -17,101 +17,10 @@
/// <param name="common">Common.</param>
public void Changed(CommonDevice common)
{
- //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
- //{
- // return;
- //}
-
Shared.Application.RunOnMainThread(() =>
{
- //var dev = common as Panel;
});
}
- //浠庨棬閿佽淇℃伅
- void ReadDoorLockDeviceUserInfo()
- {
- System.Threading.Tasks.Task.Run(async () =>
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
- try
- {
- var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync();
- if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null)
- {
- var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList;
- foreach (var doorData in dataList)
- {
- var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj()
- {
- UserID = doorData.UserId,
- UnlockType = doorData.UserType
- };
- if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false)
- {
- doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1);
- }
- }
- }
- }
- catch { }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- CommonPage.Loading.Hide();
- });
- }
- });
- }
- //浠庢湇鍔″櫒璇讳俊鎭�
- void ReadDoorLockServerUserInfo(Shared.Phone.UserCenter.MemberInfoRes curAccountObj)
- {
- System.Threading.Tasks.Task.Run(async () =>
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
- try
- {
- // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
- var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
-
- localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark;
- if (doorLock.DeviceAddr != null)
- {
- localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- }
-
- var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("App/GetDoorLockPager", localDoorLockObj);
- if (getDoorLockInfoList != null)
- {
- foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
- {
- if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
- {
- doorLock.localDoorLockUserList.Remove(int.Parse(curDoorLockUser.DoorLockLocalUserId));
- }
- var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
- doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
- doorLockObj.PrimaryId = curDoorLockUser.Id;
- doorLockObj.EntryTime = curDoorLockUser.EntryTime;
- doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
- doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
- doorLock.localDoorLockUserList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId), doorLockObj);
- }
- }
- }
- catch { }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- CommonPage.Loading.Hide();
- });
- }
- });
- }
-
-
/// 鏋勯�犲嚱鏁�
/// </summary>
/// <param name="doorLock"></param>
@@ -122,9 +31,68 @@
#region 鈼� 鍙橀噺鐢虫槑__________________________
ZigBee.Device.DoorLock doorLock;
- List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
+ VerticalRefreshLayout midVerticalScrolViewLayout;
#endregion
+ /// <summary>
+ /// 鏁版嵁鍒锋柊
+ /// </summary>
+ void ReadAccountDoorLockInfoList()
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ var localAccountListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LocalAccountList();
+ if (localAccountListTemp != null)
+ {
+ doorLock.localAllAccountList.Clear();
+ doorLock.localAllAccountList = localAccountListTemp;
+
+ //鍒濆鍖栨潈闄愪俊鎭�
+ foreach (var sub in localAccountListTemp)
+ {
+ if (doorLock.IsFreezeAccount.ContainsKey(sub.SubAccountDistributedMark) == false)
+ {
+ doorLock.IsFreezeAccount.Add(sub.SubAccountDistributedMark, false);
+ }
+ if (doorLock.HasRemoteUnlockAccess.ContainsKey(sub.SubAccountDistributedMark) == false)
+ {
+ doorLock.HasRemoteUnlockAccess.Add(sub.SubAccountDistributedMark, false);
+ }
+ if (doorLock.IsFailedToGetDoorLockInfo.ContainsKey(sub.SubAccountDistributedMark) == false)
+ {
+ doorLock.IsFailedToGetDoorLockInfo.Add(sub.SubAccountDistributedMark, false);
+ }
+ }
+
+ //鑾峰彇鏈湴闂ㄩ攣鍒楄〃
+ var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock);
+ doorLock.ReSave();
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ MidFrameLayoutContent();
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ず鐣岄潰
+ /// </summary>
public void Show()
{
this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement));
@@ -139,7 +107,7 @@
var btnAddFrameLayout = new FrameLayout
{
- X = Application.GetRealWidth(829),
+ X = Application.GetRealWidth(829 - 116),
Height = Application.GetRealHeight(72),
Width = Application.GetRealWidth(190),
};
@@ -163,10 +131,14 @@
TextAlignment = TextAlignment.CenterLeft,
};
btnAddFrameLayout.AddChidren(btnUndistributeText);
-
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ btnUndistributeIcon.Width = 0;
+ btnUndistributeText.Width = 0;
+ }
EventHandler<MouseEventArgs> eHandler = (sender, e) =>
{
- var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, localAccountList);
+ var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, doorLock.localAllAccountList);
Shared.Phone.UserView.HomePage.Instance.AddChidren(undistributeDoorlockUserPage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
undistributeDoorlockUserPage.Show();
@@ -174,35 +146,35 @@
btnAddFrameLayout.MouseDownEventHandler += eHandler;
btnUndistributeText.MouseDownEventHandler += eHandler;
btnUndistributeIcon.MouseDownEventHandler += eHandler;
-
- MidFrameLayoutContent();
- }
-
- async void MidFrameLayoutContent()
- {
- var SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
- var masterAccount = new Shared.Phone.UserCenter.MemberInfoRes();
- masterAccount.Account = Shared.Common.Config.Instance.Account;
- masterAccount.AccountType = Shared.Common.Config.Instance.AccountType;
- masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid;
- masterAccount.UserName = UserCenterResourse.UserInfo.UserName;
- localAccountList.Add(masterAccount);
- localAccountList.AddRange(SubAccounList);
- var bodyView = new VerticalScrolViewLayout()
+ midVerticalScrolViewLayout = new VerticalRefreshLayout()
{
};
- this.midFrameLayout.AddChidren(bodyView);
-
- doorLock.localAllAccountList = localAccountList;
- for (int i = 0; i < localAccountList.Count; i++)
+ this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
+ midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
{
- var currentAccount = localAccountList[i];
+ midVerticalScrolViewLayout.BeginHeaderRefreshing();
+
+ midVerticalScrolViewLayout.EndHeaderRefreshing();
+ };
+ CommonPage.Loading.Start("Loading...");
+ ReadAccountDoorLockInfoList();
+ }
+
+ /// <summary>
+ /// 涓儴甯冨眬鏄剧ず
+ /// </summary>
+ async void MidFrameLayoutContent()
+ {
+ midVerticalScrolViewLayout.RemoveAll();
+ for (int i = 0; i < doorLock.localAllAccountList.Count; i++)
+ {
+ var currentAccount = doorLock.localAllAccountList[i];
var RowView = new FrameLayout()
{
- Height = Application.GetRealHeight(161),
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTopFrameLayout,
+ Height = Application.GetRealHeight(127 + 23),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
};
- bodyView.AddChidren(RowView);
+ midVerticalScrolViewLayout.AddChidren(RowView);
var btnText = new Button()
{
@@ -243,7 +215,7 @@
};
RowView.AddChidren(line2);
int currentIndex = i;
- if (currentIndex == localAccountList.Count - 1)
+ if (currentIndex == doorLock.localAllAccountList.Count - 1)
{
line2.Visible = false;
}
@@ -265,13 +237,6 @@
Shared.Phone.UserView.HomePage.Instance.AddChidren(masterManagementPage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
masterManagementPage.Show();
- }
- else if (currentIndex == 1)
- {
- var userDoorLockPage = new UserDoorLockPage(doorLock, currentAccount);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- userDoorLockPage.Show();
}
else
{
--
Gitblit v1.8.0