From b74c052b43d7c4a830386940a036eb7c2ec9abc2 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期二, 14 一月 2020 13:37:26 +0800 Subject: [PATCH] 2020-1-14-01 --- ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs | 129 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 29 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs index e3d24b5..6941358 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs @@ -12,10 +12,10 @@ Tag = "LockLogic"; } Button selectedIcon = new Button(); - VerticalScrolViewLayout middle; + VerticalRefreshLayout middle; public int conditionsIndex = -1; - public async void Show() + public void Show() { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 var topRowLayout = new RowLayout @@ -36,6 +36,7 @@ Height = Application.GetRealHeight(69), Y = Application.GetRealHeight(92), TextID = MyInternationalizationString.userlist, + IsBold = true, //Text = "閫夋嫨鐢ㄦ埛", }; topRowLayout.AddChidren(titleName); @@ -69,14 +70,38 @@ #endregion - middle = new VerticalScrolViewLayout + middle = new VerticalRefreshLayout { Y = topRowLayout.Bottom, Height = Application.GetRealHeight(1920 - 184), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); + middle.BeginHeaderRefreshingAction += () => + { + //閲嶆柊鍒锋柊logic鍒楄〃 + string macport = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint.ToString(); + for (int i = 0; i < Send.LockList.Count; i++) + { + if (Send.LockList[i].DoorLockMacPort == macport) + { + ///浠庡垪琛ㄧЩ闄ゅ綋鍓嶉棬閿佸叏閮ㄧ殑鏃ф暟鎹紱 + Send.LockList.Remove(Send.LockList[i]); + i--; + } + } + Read(); + //鍏抽棴鍒锋柊View锛� + middle.EndHeaderRefreshing(); + }; + Read(); + } + /// <summary> + /// 璇诲彇褰撳墠闂ㄩ攣鐨勪簯绔暟鎹紱 + /// </summary> + public void Read() + { bool d = false; string macport = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint.ToString(); for (int i = 0; i < Send.LockList.Count; i++) @@ -89,21 +114,34 @@ } } CommonPage.Loading.Start(); - if (!d) + middle.RemoveAll(); + System.Threading.Tasks.Task.Run(async () => { - var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr); - Send.LockList.AddRange(allMemberslist); - } - UserAllView(macport); - CommonPage.Loading.Hide(); - + try + { + if (!d) + { + var allMemberslist = await Send.AllMembers(macport); + Send.LockList.AddRange(allMemberslist); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + UserAllView(macport); + }); + } + }); } /// <summary> /// 鏄剧ず鎵�鏈夌敤鎴� /// </summary> - void UserAllView(string macport) + public void UserAllView(string macport) { - + middle.RemoveAll(); for (int i = 0; i < Send.LockList.Count; i++) { var user = Send.LockList[i]; @@ -167,10 +205,10 @@ /// 閫夋嫨鏌愪釜鐢ㄦ埛 /// </summary> /// <param name="membershipIfon">瑙﹀彂婧愬垪琛�</param> - /// <param name="userName">鐢ㄦ埛鍚嶅瓧</param> - void SelectedUserID(Send.MembershipIfon membershipIfon) { + public void SelectedUserID(Send.MembershipIfon membershipIfon) + { - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; + var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); flMain.MouseUpEventHandler += (sender1, e1) => @@ -178,7 +216,7 @@ flMain.RemoveFromParent(); }; - + var lockcolorfra1 = new FrameLayout { @@ -190,7 +228,7 @@ Radius = (uint)Application.GetRealHeight(60), }; flMain.AddChidren(lockcolorfra1); - lockcolorfra1.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + lockcolorfra1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); #region -------鍙栨秷 瀹屾垚 var lockRow = new RowLayout @@ -243,13 +281,21 @@ lockRow.AddChidren(Btncomplete); #endregion - string SelectedLockStatus = ""; + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50); lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50); + if (membershipIfon.UserIdMode.Count > 9) + { + ///鍏冪礌瓒呭嚭10涓紝鏆傛椂榛樿鏄剧ず10; + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 9) - 20 - 50); + lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 9) + 20 + 50); + } + string SelectedLockStatus = ""; ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱 string attriButeId = ""; string attriButeData2 = ""; string modeName = ""; + for (int j = 0; j < membershipIfon.UserIdMode.Count; j++) { var userIdmode = membershipIfon.UserIdMode[j]; @@ -279,7 +325,30 @@ TextSize = 14, }; doorlockRow.AddChidren(doorlockBtn); - + if (string.IsNullOrEmpty(doorlockBtn.Text)) + { + string strname = ""; + switch (userIdmode.OpenMode) + { + case 0: + { + strname = Language.StringByID(MyInternationalizationString.lockpassword); + } + break; + case 3: + { + strname = Language.StringByID(MyInternationalizationString.ic); + } + break; + case 15: + { + strname = Language.StringByID(MyInternationalizationString.fingerprint); + } + break; + } + doorlockBtn.Text = strname + "ID" + userIdmode.UserId; + } + var doorlockSelected = new Button { X = Application.GetRealWidth(860), @@ -301,10 +370,10 @@ selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; - //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - attriButeId = userIdmode.OpenMode.ToString(); + //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + attriButeId = userIdmode.OpenMode.ToString(); attriButeData2 = userIdmode.UserId; - modeName = userIdmode.ModeName; + modeName = doorlockBtn.Text; }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; @@ -320,11 +389,12 @@ selectedIcon = doorlockSelected; doorlockSelected.Visible = true; } - + } } - + + Btncomplete.MouseUpEventHandler += (sender, e) => { var lockConditionsInfo = new Dictionary<string, string>(); @@ -339,7 +409,8 @@ lockConditionsInfo.Add("Range", "0"); var accounts = new Dictionary<string, string>(); accounts.Add("Type", "1"); - accounts.Add("Account", membershipIfon.UserName+ modeName); + accounts.Add("Account", Config.Instance.Guid); + accounts.Add("Option3", membershipIfon.UserName + modeName);//鐢ㄦ潵鏄剧ず鍚嶇О accounts.Add("UserId", attriButeData2); if (SelectedLockStatus != "") { @@ -409,9 +480,9 @@ { if (conditionsIndex == -1) { - var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt), - Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), - Language.StringByID(MyInternationalizationString.complete)); + var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, + Language.StringByID(MyInternationalizationString.usertip), + Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } @@ -422,6 +493,6 @@ lockLogicCommunalPage.Show(() => { }); }; } - + } } -- Gitblit v1.8.0