From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 86 ++++++++++++++++++++++++++----------------- 1 files changed, 52 insertions(+), 34 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index db92327..25bdf6f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -9,36 +9,34 @@ /// <summary> /// 闂ㄩ攣绠$悊 /// </summary> - public class UserManagement : DoorLockCommonLayout, ZigBee.Common.IStatus + public class UserManagement : DoorLockCommonLayout { - /// <summary> - /// 鎸夐敭妯″紡鎺ユ敹 - /// </summary> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - Shared.Application.RunOnMainThread(() => - { - }); - } /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> public UserManagement(ZigBee.Device.DoorLock doorLock) { this.doorLock = doorLock; + localAllAccountListTemp = doorLock.localAllAccountList; + localDoorLockUserListTemp = doorLock.localDoorLockUserList; } #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock; - VerticalScrolViewLayout midVerticalScrolViewLayout; + VerticalRefreshLayout midVerticalScrolViewLayout; + public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountListTemp = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; + public Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj> localDoorLockUserListTemp = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>(); + + #endregion - void ReadAccountList() + /// <summary> + /// 鏁版嵁鍒锋柊 + /// </summary> + void ReadAccountDoorLockInfoList() { System.Threading.Tasks.Task.Run(async () => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); try { var localAccountListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LocalAccountList(); @@ -46,9 +44,11 @@ { doorLock.localAllAccountList.Clear(); doorLock.localAllAccountList = localAccountListTemp; + localAllAccountListTemp = doorLock.localAllAccountList; + + //鍒濆鍖栨潈闄愪俊鎭� foreach (var sub in localAccountListTemp) { - //鍒濆鍖栨潈闄愪俊鎭� if (doorLock.IsFreezeAccount.ContainsKey(sub.SubAccountDistributedMark) == false) { doorLock.IsFreezeAccount.Add(sub.SubAccountDistributedMark, false); @@ -61,6 +61,13 @@ { doorLock.IsFailedToGetDoorLockInfo.Add(sub.SubAccountDistributedMark, false); } + } + + //鑾峰彇鏈湴闂ㄩ攣鍒楄〃 + if (localDoorLockUserListTemp.Count == 0) + { + var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + localDoorLockUserListTemp = doorLock.localDoorLockUserList; } doorLock.ReSave(); } @@ -79,11 +86,15 @@ { MidFrameLayoutContent(); CommonPage.Loading.Hide(); + midVerticalScrolViewLayout.EndHeaderRefreshing(); }); } }); } + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> public void Show() { this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement)); @@ -115,15 +126,18 @@ var btnUndistributeText = new Button { Height = Application.GetRealHeight(72), - Width = Application.GetRealWidth(121), + Width = Application.GetRealWidth(150), TextID = R.MyInternationalizationString.Undistributed, TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, X = btnUndistributeIcon.Right, + IsBold = true, + TextSize = 13, TextAlignment = TextAlignment.CenterLeft, }; btnAddFrameLayout.AddChidren(btnUndistributeText); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { + btnAddFrameLayout.Width = 0; btnUndistributeIcon.Width = 0; btnUndistributeText.Width = 0; } @@ -137,13 +151,29 @@ btnAddFrameLayout.MouseDownEventHandler += eHandler; btnUndistributeText.MouseDownEventHandler += eHandler; btnUndistributeIcon.MouseDownEventHandler += eHandler; - midVerticalScrolViewLayout = new VerticalScrolViewLayout() - { - }; + midVerticalScrolViewLayout = new VerticalRefreshLayout() { }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); - ReadAccountList(); + + if (localAllAccountListTemp.Count == 0) + { + CommonPage.Loading.Start("Loading..."); + ReadAccountDoorLockInfoList(); + } + else + { + MidFrameLayoutContent(); + } + + midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () => + { + midVerticalScrolViewLayout.BeginHeaderRefreshing(); + ReadAccountDoorLockInfoList(); + }; } + /// <summary> + /// 涓儴甯冨眬鏄剧ず + /// </summary> async void MidFrameLayoutContent() { midVerticalScrolViewLayout.RemoveAll(); @@ -162,7 +192,7 @@ X = Application.GetRealWidth(58), Width = Application.GetRealWidth(300), TextAlignment = TextAlignment.CenterLeft, - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, TextSize = 14, }; @@ -201,7 +231,7 @@ line2.Visible = false; } - if (currentAccount.UserName != null) + if (!string.IsNullOrEmpty(currentAccount.UserName)) { btnText.Text = currentAccount.UserName; } @@ -231,18 +261,6 @@ RowView.MouseUpEventHandler += eHandler; btnText.MouseUpEventHandler += eHandler; } - } - - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { } } } -- Gitblit v1.8.0