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 | 144 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 127 insertions(+), 17 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs index 2f90442..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,31 +17,46 @@ 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; @@ -50,7 +65,6 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)) .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord)); - } else { @@ -98,14 +112,34 @@ 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); - // 鍒嗗壊绾� - 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), @@ -139,10 +173,24 @@ 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); + 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() @@ -200,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 { @@ -222,7 +270,7 @@ // dialog鍥炶皟 Action<string> startTimeAction = (str) => { - startTimeText.Text = str +":00"; + startTimeText.Text = str + ":00"; }; startTimeBtn.MouseUpEventHandler += (sender, e) => { @@ -275,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 { @@ -338,7 +386,7 @@ 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), @@ -346,7 +394,9 @@ 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), }); @@ -385,10 +435,56 @@ }; 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) @@ -434,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; @@ -449,13 +547,15 @@ TextColor = CSS_Color.textWhiteColor, BackgroundColor = CSS_Color.DialogTransparentColor1, 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); } } @@ -489,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