From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 8 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index a34d257..f224f74 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -27,18 +27,26 @@ 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 + /// <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,6 +54,7 @@ { doorLock.localAllAccountList.Clear(); doorLock.localAllAccountList = localAccountListTemp; + localAllAccountListTemp = doorLock.localAllAccountList; //鍒濆鍖栨潈闄愪俊鎭� foreach (var sub in localAccountListTemp) @@ -65,7 +74,11 @@ } //鑾峰彇鏈湴闂ㄩ攣鍒楄〃 - var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + if (localDoorLockUserListTemp.Count == 0) + { + var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + localDoorLockUserListTemp = doorLock.localDoorLockUserList; + } doorLock.ReSave(); } else @@ -83,11 +96,15 @@ { MidFrameLayoutContent(); CommonPage.Loading.Hide(); + midVerticalScrolViewLayout.EndHeaderRefreshing(); }); } }); } + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> public void Show() { this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement)); @@ -119,10 +136,12 @@ 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); @@ -141,13 +160,31 @@ btnAddFrameLayout.MouseDownEventHandler += eHandler; btnUndistributeText.MouseDownEventHandler += eHandler; btnUndistributeIcon.MouseDownEventHandler += eHandler; - midVerticalScrolViewLayout = new VerticalScrolViewLayout() + midVerticalScrolViewLayout = new VerticalRefreshLayout() { }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); - ReadAccountDoorLockInfoList(); + + if (localAllAccountListTemp.Count == 0) + { + CommonPage.Loading.Start("Loading..."); + ReadAccountDoorLockInfoList(); + } + else + { + MidFrameLayoutContent(); + } + + midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () => + { + midVerticalScrolViewLayout.BeginHeaderRefreshing(); + ReadAccountDoorLockInfoList(); + }; } + /// <summary> + /// 涓儴甯冨眬鏄剧ず + /// </summary> async void MidFrameLayoutContent() { midVerticalScrolViewLayout.RemoveAll(); @@ -166,7 +203,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, }; @@ -205,7 +242,7 @@ line2.Visible = false; } - if (currentAccount.UserName != null) + if (!string.IsNullOrEmpty(currentAccount.UserName)) { btnText.Text = currentAccount.UserName; } -- Gitblit v1.8.0