From 7c2541f609e8235c4c33b4fb2ee27125f73f8ee6 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期五, 24 六月 2022 13:28:36 +0800
Subject: [PATCH] 2022-06-24

---
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs |  183 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 147 insertions(+), 36 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
index 68285b6..fb79e54 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -1,10 +1,10 @@
 锘縰sing 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
 {
@@ -17,44 +17,59 @@
         private Button randomBtn;//闅忔満瀵嗙爜Btn
         private FrameLayout codeLayout;
         private ImageView codeIV;// 浜岀淮鐮�
+        private Button codeSaveTipBtn;
         private Button codeTip;//浜岀淮鐮佹湁鏁堟湡鎻愮ず
         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)
+            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;
                 };
 
                 bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-                new TopViewDiv(bodyView, "璁垮閭�璇�").LoadTopView_SettingText(click, "娴嬭瘯璁板綍");
-
+                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
+                    .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
             }
             else
             {
                 bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-                new TopViewDiv(bodyView, "璁垮閭�璇�").LoadTopView();
+                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
             }
             #endregion
 
@@ -69,7 +84,7 @@
             // 鎻愮ず鏂囧瓧
             bodyScrolView.AddChidren(new Button()
             {
-                Text = "*鎮ㄥ彂璧疯瀹簩缁寸爜鍚庯紝璇ヤ簩缁寸爜灏嗗湪鎮ㄨ缃殑鏈夋晥鏈熷唴锛屽彲鑷敱鍒风爜杩涜杩涘嚭锛岃璋ㄦ厧鍒嗕韩璇ヤ簩缁寸爜銆�",
+                Text = Language.StringByID(StringId.VisitorTip),
                 IsMoreLines = true,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextColor = CSS_Color.PromptingColor1,
@@ -81,7 +96,7 @@
             #region 鎵嬫満鍙�
             bodyScrolView.AddChidren(new Button()
             {
-                Text = "鎵嬫満鍙�",
+                Text = Language.StringByID(StringId.PhoneNumber),
                 Y = Application.GetRealWidth(10),
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 TextColor = CSS_Color.FirstLevelTitleColor,
@@ -97,14 +112,34 @@
                 Width = Application.GetRealWidth(335),
                 TextSize = CSS_FontSize.TextFontSize,
                 TextColor = CSS_Color.FirstLevelTitleColor,
-                PlaceholderText = "杈撳叆璁垮鎵嬫満鍙�",
+                
+                PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
                 Text = tempPassword.phone,
                 IsNumberKeyboardType = true,
                 PlaceholderTextColor = CSS_Color.PromptingColor1,
             };
             bodyScrolView.AddChidren(phoneNumberEditText);
-            // 鍒嗗壊绾�
-            bodyScrolView.AddChidren(new Button()
+            phoneNumberEditText.Foucs = true;
+            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);
+                    }
+                }
+            };
+
+             // 鍒嗗壊绾�
+             bodyScrolView.AddChidren(new Button()
             {
                 X = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(335),
@@ -117,7 +152,7 @@
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
             bodyScrolView.AddChidren(new Button()
             {
-                Text = "鍔ㄦ�佸瘑鐮�",
+                Text = Language.StringByID(StringId.linshimima),
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 Height = Application.GetRealHeight(20),
@@ -137,18 +172,32 @@
                 TextSize = CSS_FontSize.TextFontSize,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 Width = Application.GetRealWidth(335),
-                PlaceholderText = "杈撳叆璁�6浣嶅瘑鐮�",
-                Text = tempPassword.tempPwd,
+                PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                IsNumberKeyboardType = true,
                 PlaceholderTextColor = CSS_Color.PromptingColor1,
             };
             pwdLayout.AddChidren(pwdEditText);
+            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);
+                }
+            };
 
             //闅忔満瀵嗙爜Btn
             randomBtn = new Button()
             {
                 X = Application.GetRealWidth(275),
                 Width = Application.GetRealWidth(80),
-                Text = "闅忔満鐢熸垚",
+                Text = Language.StringByID(StringId.RandomGeneration),
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.TextFontSize,
@@ -181,7 +230,7 @@
 
             startLayout.AddChidren(new Button()
             {
-                Text = "浜岀淮鐮佺敓鏁堟椂闂�",
+                Text = Language.StringByID(StringId.EffectiveTime),
                 X = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(130),
                 TextSize = CSS_FontSize.SubheadingFontSize,
@@ -199,7 +248,7 @@
             };
             if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
             {
-                startTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             }
             else
             {
@@ -221,7 +270,7 @@
             // dialog鍥炶皟
             Action<string> startTimeAction = (str) =>
             {
-                startTimeText.Text = str +":00";
+                startTimeText.Text = str + ":00";
             };
             startTimeBtn.MouseUpEventHandler += (sender, e) =>
             {
@@ -255,7 +304,7 @@
 
             endLayout.AddChidren(new Button()
             {
-                Text = "浜岀淮鐮佸け鏁堟椂闂�",
+                Text = Language.StringByID(StringId.FailureTime),
                 X = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(130),
                 TextSize = CSS_FontSize.SubheadingFontSize,
@@ -274,7 +323,7 @@
             };
             if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
             {
-                endTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             }
             else
             {
@@ -337,15 +386,17 @@
             codeLayout.AddChidren(codeIV);
 
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), });
-            bodyScrolView.AddChidren(new Button()
+            codeSaveTipBtn = new Button()
             {
                 X = Application.GetRealWidth(16),
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealWidth(20),
-                Text = "闀挎寜鍙互鎶婁簩缁寸爜淇濆瓨鍒扮浉鍐�",
+                Text = Language.StringByID(StringId.LongPressQRCodeSave),
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.FirstLevelTitleColor,
-            });
+                Visible = false,
+            };
+            bodyScrolView.AddChidren(codeSaveTipBtn);
             #endregion
 
             bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
@@ -384,21 +435,67 @@
             };
             visitorVoucherBtn.MouseUpEventHandler += (sender, e) =>
             {
-                if (phoneNumberEditText.Text == "" || pwdEditText.Text == "")
+                if (startTimeText.Text.Trim() == "")
                 {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.VisitorStartTime),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
                     return;
                 }
+
+                if (endTimeText.Text.Trim() == "")
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.VisitorEndTime),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    return;
+                }
+
+                if (phoneNumberEditText.Text.Trim() == "" || phoneNumberEditText.Text.Trim().Length != 11)
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.PhoneNumberErrorTip),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    phoneNumberEditText.Foucs = true;
+                    return;
+                }
+
+                if (pwdEditText.Text.Trim() == "" || pwdEditText.Text.Trim().Length != 6)
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    pwdEditText.Foucs = true;
+                    return;
+                }
+
                 string tip = "";
                 string message = "";
                 if (codeIV.ImageBytes == null)
                 {
-                    tip = "璁垮鍑瘉";
-                    message = "鐢熸垚璁垮浜岀淮鐮佸苟灏嗕复鏃跺瘑鐮佸彂閫佽嚦璁垮鎵嬫満.";
+                    tip = Language.StringByID(StringId.tip);
+                    message = Language.StringByID(StringId.VisitorTipContent);
                 }
                 else
                 {
-                    tip = "璁垮鍑瘉";
-                    message = "纭畾鍒犻櫎璁垮鍑瘉锛�";
+                    tip = Language.StringByID(StringId.tip);
+                    message = Language.StringByID(StringId.VisitorDelTipContent);
                 }
                 new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show();
             };
@@ -413,11 +510,11 @@
                 string msg = "";
                 if (bol)
                 {
-                    msg = "淇濆瓨鎴愬姛锛�";
+                    msg = Language.StringByID(StringId.SavedSuccessfully);
                 }
                 else
                 {
-                    msg = "淇濆瓨澶辫触锛�";
+                    msg = Language.StringByID(StringId.saveFail);
                 }
                 EmptyTipView tipView = new EmptyTipView(msg, 160);
                 tipView.Gravity = Gravity.CenterHorizontal;
@@ -433,9 +530,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;
@@ -447,15 +546,17 @@
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.textWhiteColor,
                         BackgroundColor = CSS_Color.DialogTransparentColor1,
-                        Text = "浜岀淮鐮佸凡澶辨晥",
+                        Text = Language.StringByID(StringId.QRcodeIsInvalid),
                     };
                     codeLayout.AddChidren(codeTip);
+                    visitorVoucherBtn.Visible = false;
                 }
-                visitorVoucherBtn.Text = "鍒犻櫎璁垮鍑瘉";
+                visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
             }
             else
             {
-                visitorVoucherBtn.Text = "鐢熸垚璁垮鍑瘉";
+                visitorVoucherBtn.Visible = true;
+                visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
             }
         }
 
@@ -488,9 +589,19 @@
                 {
                     pwd.id = pack.Data.ToString();
                     codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height);
+                    codeSaveTipBtn.Visible = true;
+                    RefreshVisitorVoucherBtn();
+                }
+                else {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = pack.message,
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
                 }
             }
-            RefreshVisitorVoucherBtn();
             return result;
         }
 

--
Gitblit v1.8.0