From d1ab259186e2341a0839c87300065e9bb5f14e9c Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 12 十一月 2019 10:42:14 +0800
Subject: [PATCH] 2019.11.12

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs |  173 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 143 insertions(+), 30 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
index aa8a2a9..a78b742 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -13,13 +13,62 @@
         #region 鈼� 鍙橀噺鐢虫槑__________________________
         public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
         public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
-        public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
+
+        #region 鈼� 搴曢儴鏈夊渾瑙掑竷灞�__________________________
+        public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 };
+        public FrameLayout bottomRadiusFrameLayout1 = new FrameLayout()
         {
             Height = Application.GetRealHeight(100),
             Y = Application.GetRealHeight(930),
             Radius = 17,
             BackgroundColor = ZigbeeColor.Current.XMWhite,
         };
+        public FrameLayout bottomRadiusFrameLayout2 = new FrameLayout()
+        {
+            Height = Application.GetRealHeight(806 - 50),
+            Y = Application.GetRealHeight(930 + 48),
+            BackgroundColor = ZigbeeColor.Current.XMWhite,
+        };
+        public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
+        {
+            Height = Application.GetRealHeight(806),
+            Y = Application.GetRealHeight(930),
+        };
+
+        public Button btnCancel = new Button
+        {
+            X = Application.GetRealWidth(81),
+            Y = Application.GetRealHeight(40),
+            Height = Application.GetRealHeight(58),
+            Width = Application.GetRealWidth(101),
+            Text = Language.StringByID(R.MyInternationalizationString.Cancel),
+            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+            TextSize = 14,
+        };
+
+        public Button btnBottomTitle = new Button
+        {
+            X = Application.GetRealWidth(446 - 50),
+            Y = Application.GetRealHeight(35),
+            Height = Application.GetRealHeight(63),
+            Width = Application.GetRealWidth(284),
+            Text = Language.StringByID(R.MyInternationalizationString.MatchPerson),
+            TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+            TextSize = 16,
+        };
+
+        public Button btnFinish = new Button
+        {
+            X = Application.GetRealWidth(919),
+            Y = Application.GetRealHeight(40),
+            Height = Application.GetRealHeight(58),
+            Width = Application.GetRealWidth(101),
+            Text = Language.StringByID(R.MyInternationalizationString.Complete),
+            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+            TextSize = 14,
+        };
+        #endregion
+
         public FrameLayout titleFrameLayout = new FrameLayout
         {
             Y = Application.GetRealHeight(92),
@@ -44,6 +93,14 @@
             Height = Application.GetRealHeight(51),
             Width = Application.GetRealWidth(30),
             UnSelectedImagePath = "DoorLock/Left.png",
+        };
+
+        /// <summary>
+        /// 鏍囬杩斿洖鎸夐敭
+        /// </summary>
+        public Button btnTip = new Button
+        {
+            Gravity = Gravity.Center,
         };
 
         /// <summary>
@@ -94,6 +151,7 @@
             titleFrameLayout.AddChidren(title);
             titleFrameLayout.AddChidren(btnBackFrameLayout);
             btnBackFrameLayout.AddChidren(btnBack);
+            this.midFrameLayout.AddChidren(this.btnTip);
         }
         /// <summary>
         /// 闂ㄩ攣涓儴甯冨眬
@@ -101,7 +159,6 @@
         /// <param name="frameLayout"></param>
         public void MidFrameLayout(FrameLayout frameLayout)
         {
-            //midFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCBackgroundColor;
             midFrameLayout.Y = topFrameLayout.Bottom;
             this.AddChidren(midFrameLayout);
         }
@@ -122,10 +179,24 @@
         }
 
         /// <summary>
+        /// 闂ㄩ攣搴曢儴甯﹀渾瑙掑竷灞�
+        /// </summary>
+        /// <param name="frameLayout"></param>
+        public void BottomRadiusFrameLayout(FrameLayout frameLayout)
+        {
+            this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout1);
+            this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout2);
+            this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout);
+            this.bottomRadiusFrameLayout.AddChidren(btnCancel);
+            this.bottomRadiusFrameLayout.AddChidren(btnBottomTitle);
+            this.bottomRadiusFrameLayout.AddChidren(btnFinish);
+        }
+
+        /// <summary>
         /// 杩滅▼鎺у埗鏉冮檺澶勭悊
         /// </summary>
         /// <param name="btnNext"></param>
-        public void RemotePasswordDialog(ZigBee.Device.DoorLock doorLock, Button btnNext)
+        public void RemotePasswordDialog(ZigBee.Device.DoorLock doorLock, Button btnNext = null)
         {
             var dialog = new Dialog { };
             var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.BindDoorLock));
@@ -153,7 +224,10 @@
 
             doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
             {
-                btnNext.IsSelected = false;
+                if (btnNext != null)
+                {
+                    btnNext.IsSelected = false;
+                }
                 dialog.Close();
             };
             DateTime oldTime = DateTime.MaxValue;
@@ -163,22 +237,22 @@
                 if (DateTime.Now < ZigBee.Device.DoorLock.minValue)
                 {
                     CommonPage.Loading.Hide();
-                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterThirtySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
+                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
                     return;
                 }
 
                 if (DateTime.Now >= oldTime && ZigBee.Device.DoorLock.RemoteUnlockCount == 0)
                 {
-                    ZigBee.Device.DoorLock.RemoteUnlockCount = 3;
+                    ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
                     oldTime = DateTime.MaxValue;
                 }
 
                 if (ZigBee.Device.DoorLock.RemoteUnlockCount <= 0)
                 {
-                    ZigBee.Device.DoorLock.minValue = DateTime.Now.AddSeconds(+20);
+                    ZigBee.Device.DoorLock.minValue = DateTime.Now.AddSeconds(+15);
                     oldTime = ZigBee.Device.DoorLock.minValue;
                     CommonPage.Loading.Hide();
-                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterThirtySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
+                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
                     return;
                 }
 
@@ -197,12 +271,14 @@
                     System.Threading.Thread.Sleep(500);
                     ZigBee.Device.DoorLock.RemoteUnlockPassword = editInputPassword.Text;
                     ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
-                    ZigBee.Device.DoorLock.RemoteUnlockCount = 3;
+                    ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
                     oldTime = DateTime.MaxValue;
                     CommonPage.Loading.Hide();
                     dialog.Close();
-                    btnNext.IsSelected = true;
-
+                    if (btnNext != null)
+                    {
+                        btnNext.IsSelected = true;
+                    }
                     if (!UserCenterResourse.Option.DoorUnLockByRemote)
                     {
                         var dialog2 = new Dialog { };
@@ -259,13 +335,13 @@
         }
 
         /// <summary>
-        /// 
+        /// 杩滅▼寮�閿佽姹�
         /// </summary>
         /// <param name="doorLock">闂ㄩ攣璁惧</param>
         /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param>
         /// <param name="progressButton">闂ㄩ攣寮�鎴栧叧鏃惰繘搴︽樉绀�</param>
         /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param>
-        public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton, Button btnDoorLockPic, Button btnStatus)
+        public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null)
         {
             if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
             {
@@ -286,11 +362,23 @@
                 };
                 doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
                 {
-                    var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
-                    Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
-                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                    userDoorLockPage.Show();
-                    dialog.Close();
+                    if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+                    {
+                        var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
+                        Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                        userDoorLockPage.Show();
+                        dialog.Close();
+                    }
+                    else
+                    {
+                        var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+                        Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                        userDoorLockPage.Show();
+                        dialog.Close();
+                    }
+
                 };
                 return;
             }
@@ -360,27 +448,52 @@
                 action = async () =>
                 {
                     //杩滅▼寮�閿�
-                    progressButton.Y = Application.GetRealHeight(10);
-                    btnDoorLockPic.IsSelected = true;
-                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
+                    if (progressButton != null)
+                    {
+                        progressButton.Y = Application.GetRealHeight(10);
+                    }
+                    if (btnDoorLockPic != null)
+                    {
+                        btnDoorLockPic.IsSelected = true;
+                    }
+                    if (btnStatus != null)
+                    {
+                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
+                    }
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
                     var remoteControlResult = await doorLock.RemoteControlAsync(ZigBee.Device.DoorLock.RemoteUnlockPassword);
 
                     if (remoteControlResult != null && remoteControlResult.responseData != null && remoteControlResult.responseData.status == 0)
                     {
-                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
-                        System.Threading.Thread.Sleep(2000);
-                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
-                        System.Threading.Thread.Sleep(3000);
-                        progressButton.Y = Application.GetRealHeight(347);
-                        btnDoorLockPic.IsSelected = false;
-                        btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+
+                        if (progressButton != null)
+                        {
+                            progressButton.Y = Application.GetRealHeight(347);
+                        }
+                        if (btnDoorLockPic != null)
+                        {
+                            btnDoorLockPic.IsSelected = false;
+                        }
+                        if (btnStatus != null)
+                        {
+                            System.Threading.Thread.Sleep(2000);
+                            //btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
+                            System.Threading.Thread.Sleep(3000);
+                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose);
+                        }
                         CommonPage.Loading.Hide();
                     }
                     else
                     {
-                        progressButton.Y = Application.GetRealHeight(347);
-                        btnDoorLockPic.IsSelected = false;
+                        if (progressButton != null)
+                        {
+                            progressButton.Y = Application.GetRealHeight(347);
+                        }
+                        if (btnDoorLockPic != null)
+                        {
+                            btnDoorLockPic.IsSelected = false;
+                        }
+
                         CommonPage.Loading.Hide();
                     }
                 };

--
Gitblit v1.8.0