From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:34:32 +0800
Subject: [PATCH] 2024年07月25日17:33:40

---
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs |  146 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 113 insertions(+), 33 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
index 26a6115..66a4f2a 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -1,10 +1,12 @@
-锘縰sing System;
+锘�#if __Android__
+
+using System;
 using HDL_ON.UI.CSS;
 using Shared;
-using Com.Hdl.Hdllinphonesdk.Dialog;
 using HDL_ON.DAL.Server;
 using System.Collections.Generic;
 using Com.Hdl.Hdllinphonesdk.Utils;
+using Com.Hdl.Hdllinphonesdk.Dialog;
 
 namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
 {
@@ -22,27 +24,41 @@
         private Button visitorVoucherBtn;
         private VisitorTempPassword tempPassword;
 
+        Action backAction;// 鍚庨��鎸夐敭锛屽埛鏂癠I
+
         public VisitorQRCodePage()
         {
             bodyView = this;
         }
 
-        public VisitorQRCodePage(VisitorTempPassword pwd)
+        public VisitorQRCodePage(Action action,VisitorTempPassword pwd)
         {
             bodyView = this;
             this.tempPassword = pwd;
+            backAction = action;
+        }
+
+        public override void RemoveFromParent()
+        {
+            this.tempPassword = null;
+            backAction?.Invoke();
+            base.RemoveFromParent();
         }
 
         public void LoadPage()
         {
-            #region 椤堕儴瀵艰埅鏍�
-            if (tempPassword == null)
+#region 椤堕儴瀵艰埅鏍�
+            if (tempPassword == null || tempPassword.id == null)
             {
                 tempPassword = new VisitorTempPassword();
 
                 Action click = () =>
                 {
-                    VisitorHistoryPage page = new VisitorHistoryPage();
+                    Action action = () =>
+                    {
+                        LoadPage();
+                    };
+                    VisitorHistoryPage page = new VisitorHistoryPage(action);
                     MainPage.BasePageView.AddChidren(page);
                     page.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -51,14 +67,13 @@
                 bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                 new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
                     .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
-
             }
             else
             {
                 bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                 new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
             }
-            #endregion
+#endregion
 
             bodyScrolView = new VerticalScrolViewLayout()
             {
@@ -80,7 +95,7 @@
                 Height = Application.GetRealHeight(60),
             });
 
-            #region 鎵嬫満鍙�
+#region 鎵嬫満鍙�
             bodyScrolView.AddChidren(new Button()
             {
                 Text = Language.StringByID(StringId.PhoneNumber),
@@ -99,13 +114,15 @@
                 Width = Application.GetRealWidth(335),
                 TextSize = CSS_FontSize.TextFontSize,
                 TextColor = CSS_Color.FirstLevelTitleColor,
-                
+
                 PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
                 Text = tempPassword.phone,
                 IsNumberKeyboardType = true,
                 PlaceholderTextColor = CSS_Color.PromptingColor1,
             };
             bodyScrolView.AddChidren(phoneNumberEditText);
+            //phoneNumberEditText.Foucs = true;
+
             // 鍒嗗壊绾�
             bodyScrolView.AddChidren(new Button()
             {
@@ -114,9 +131,9 @@
                 Height = Application.GetRealHeight(1),
                 BackgroundColor = CSS_Color.DividingLineColor,
             });
-            #endregion
+#endregion
 
-            #region 鍔ㄦ�佸瘑鐮�
+#region 鍔ㄦ�佸瘑鐮�
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
             bodyScrolView.AddChidren(new Button()
             {
@@ -141,7 +158,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 Width = Application.GetRealWidth(335),
                 PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
-                Text = tempPassword.tempPwd,
+                IsNumberKeyboardType = true,
                 PlaceholderTextColor = CSS_Color.PromptingColor1,
             };
             pwdLayout.AddChidren(pwdEditText);
@@ -158,11 +175,6 @@
             };
             pwdLayout.AddChidren(randomBtn);
             bodyScrolView.AddChidren(pwdLayout);
-            randomBtn.MouseUpEventHandler += (sender, e) =>
-            {
-                string tPwd = getRandomPwd();
-                pwdEditText.Text = tPwd;
-            };
 
             // 鍒嗗壊绾�
             bodyScrolView.AddChidren(new Button()
@@ -172,14 +184,13 @@
                 Height = Application.GetRealHeight(1),
                 BackgroundColor = CSS_Color.DividingLineColor,
             });
-            #endregion
+#endregion
 
-            #region 浜岀淮鐮佺敓鏁堟椂闂�
+#region 浜岀淮鐮佺敓鏁堟椂闂�
             FrameLayout startLayout = new FrameLayout()
             {
                 Height = Application.GetRealHeight(40),
                 Y = Application.GetRealWidth(10),
-                BackgroundColor = CSS_Color.BackgroundColor,
             };
 
             startLayout.AddChidren(new Button()
@@ -247,9 +258,9 @@
                 BackgroundColor = CSS_Color.DividingLineColor,
             });
 
-            #endregion
+#endregion
 
-            #region 浜岀淮鐮佸け鏁堟椂闂�
+#region 浜岀淮鐮佸け鏁堟椂闂�
             FrameLayout endLayout = new FrameLayout()
             {
                 Height = Application.GetRealHeight(40),
@@ -320,9 +331,9 @@
                     string error = ex.Message;
                 }
             };
-            #endregion
+#endregion
 
-            #region 浜岀淮鐮�
+#region 浜岀淮鐮�
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), });
             codeLayout = new FrameLayout()
             {
@@ -351,7 +362,7 @@
                 Visible = false,
             };
             bodyScrolView.AddChidren(codeSaveTipBtn);
-            #endregion
+#endregion
 
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
             visitorVoucherBtn = new Button()
@@ -367,7 +378,6 @@
             };
             bodyScrolView.AddChidren(visitorVoucherBtn);
 
-            //
             Action voucher_action = () =>
             {
                 if (codeIV.ImageBytes == null)
@@ -430,7 +440,7 @@
                 {
                     var tip_dialog = new Tip()
                     {
-                        Text = Language.StringByID(StringId.linshimima),
+                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                         CloseTime = 2,
                         Direction = AMPopTipDirection.None
                     };
@@ -470,11 +480,68 @@
                 {
                     msg = Language.StringByID(StringId.saveFail);
                 }
-                EmptyTipView tipView = new EmptyTipView(msg, 160);
-                tipView.Gravity = Gravity.CenterHorizontal;
-                bodyView.AddChidren(tipView);
+
+                var tip_dialog = new Tip()
+                {
+                    Text = msg,
+                    CloseTime = 2,
+                    Direction = AMPopTipDirection.None
+                };
+                tip_dialog.Show(MainPage.BaseView);
 #endif
             };
+
+            if (tempPassword != null && tempPassword.id != null && tempPassword.id != "")
+            {
+                pwdEditText.Text = tempPassword.tempPwd;
+                pwdEditText.PlaceholderText = Language.StringByID(StringId.TemporaryPasswordInvalid);
+                pwdEditText.Enable = false;
+                phoneNumberEditText.Enable = false;
+                randomBtn.Visible = false;
+                startTimeBtn.Enable = false;
+                endTimeBtn.Enable = false;
+            }
+            else
+            {
+                pwdEditText.FoucsChanged = (sender, e) =>
+                {
+                    if (!pwdEditText.Foucs)
+                    {
+                        // 6浣嶅瘑鐮侀獙璇�
+                        var tip_dialog = new Tip()
+                        {
+                            Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                            CloseTime = 2,
+                            Direction = AMPopTipDirection.None
+                        };
+                        tip_dialog.Show(MainPage.BaseView);
+                    }
+                };
+
+                randomBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    string tPwd = getRandomPwd();
+                    pwdEditText.Text = tPwd;
+                };
+
+                phoneNumberEditText.FoucsChanged = (sender, e) =>
+                {
+                    if (!phoneNumberEditText.Foucs)
+                    {
+                        //鎵嬫満鍙风爜閿欒鎻愮ず
+                        if (!Utlis.CheckPhoneNumber(phoneNumberEditText.Text.Trim(), "86"))
+                        {
+                            var tip_dialog = new Tip()
+                            {
+                                Text = Language.StringByID(StringId.PhoneNumberErrorTip),
+                                CloseTime = 2,
+                                Direction = AMPopTipDirection.None
+                            };
+                            tip_dialog.Show(MainPage.BaseView);
+                        }
+                    }
+                };
+            }
 
             RefreshVisitorVoucherBtn();
         }
@@ -484,9 +551,11 @@
         /// </summary>
         private void RefreshVisitorVoucherBtn()
         {
+            if (tempPassword == null) return;
+
             if (tempPassword.tempPwd != null && tempPassword.tempPwd != "")
             {
-                codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height);
+                codeIV.ImageBytes = Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height);
                 //鍒ゆ柇浜岀淮鐮佹槸鍚﹀け鏁�
                 DateTime endTime = DateTime.Parse(tempPassword.validEndTime);
                 DateTime currentTime = DateTime.Now;
@@ -501,11 +570,13 @@
                         Text = Language.StringByID(StringId.QRcodeIsInvalid),
                     };
                     codeLayout.AddChidren(codeTip);
+                    visitorVoucherBtn.Visible = false;
                 }
                 visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
             }
             else
             {
+                visitorVoucherBtn.Visible = true;
                 visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
             }
         }
@@ -595,4 +666,13 @@
             return pwd;
         }
     }
-}
\ No newline at end of file
+}
+#else
+using Shared;
+
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class VisitorQRCodePage : FrameLayout
+    { }
+}
+#endif
\ No newline at end of file

--
Gitblit v1.8.0