From bbaae33cad1dadaad27eeac712d30fff248bffa5 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期二, 17 三月 2020 17:46:25 +0800 Subject: [PATCH] 2020-03-17-2 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 90 ++++++++++++++++++++++++++++++--------------- 1 files changed, 60 insertions(+), 30 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index 9669fe7..f7b5d99 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -17,14 +17,8 @@ /// <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; }); } /// 鏋勯�犲嚱鏁� @@ -33,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 - 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(); @@ -52,9 +54,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); @@ -68,13 +72,20 @@ 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(); } else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); } } @@ -85,11 +96,15 @@ { MidFrameLayoutContent(); CommonPage.Loading.Hide(); + midVerticalScrolViewLayout.EndHeaderRefreshing(); }); } }); } + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> public void Show() { this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement)); @@ -104,7 +119,7 @@ var btnAddFrameLayout = new FrameLayout { - X = Application.GetRealWidth(829), + X = Application.GetRealWidth(829 - 116), Height = Application.GetRealHeight(72), Width = Application.GetRealWidth(190), }; @@ -121,14 +136,21 @@ 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; + } EventHandler<MouseEventArgs> eHandler = (sender, e) => { var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, doorLock.localAllAccountList); @@ -139,14 +161,29 @@ btnAddFrameLayout.MouseDownEventHandler += eHandler; btnUndistributeText.MouseDownEventHandler += eHandler; btnUndistributeIcon.MouseDownEventHandler += eHandler; - midVerticalScrolViewLayout = new VerticalScrolViewLayout() - { - }; + midVerticalScrolViewLayout = new VerticalRefreshLayout() { }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); - ReadAccountList(); - // MidFrameLayoutContent(); + + if (localAllAccountListTemp.Count == 0) + { + CommonPage.Loading.Start("Loading..."); + ReadAccountDoorLockInfoList(); + } + else + { + MidFrameLayoutContent(); + } + + midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () => + { + midVerticalScrolViewLayout.BeginHeaderRefreshing(); + ReadAccountDoorLockInfoList(); + }; } + /// <summary> + /// 涓儴甯冨眬鏄剧ず + /// </summary> async void MidFrameLayoutContent() { midVerticalScrolViewLayout.RemoveAll(); @@ -155,8 +192,8 @@ 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, }; midVerticalScrolViewLayout.AddChidren(RowView); @@ -165,7 +202,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, }; @@ -204,7 +241,7 @@ line2.Visible = false; } - if (currentAccount.UserName != null) + if (!string.IsNullOrEmpty(currentAccount.UserName)) { btnText.Text = currentAccount.UserName; } @@ -221,13 +258,6 @@ Shared.Phone.UserView.HomePage.Instance.AddChidren(masterManagementPage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; masterManagementPage.Show(); - } - else if (currentIndex == 3) - { - 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