From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 16 七月 2024 13:59:56 +0800 Subject: [PATCH] 增加全部挂断 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs | 237 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 159 insertions(+), 78 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs index 36eea30..5c17463 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs @@ -18,13 +18,14 @@ VerticalScrolViewLayout contentView; FrameLayout userPermissionsView; - Button btnUserName; + //Button btnUserName; Function device; VideoDoorlockUser doorlockUser; public Action delCallBackAction; - + public Action<string> updataUserNameAction; Loading waitPage; + public VideoDoorlockUserManagerPage(Function function,VideoDoorlockUser user) { @@ -33,12 +34,23 @@ doorlockUser = user; BackgroundColor = CSS_Color.BackgroundColor; waitPage = new Loading(); - bodyView.AddChidren(waitPage); - waitPage.Hide(); + + } + + public override void RemoveFromParent() + { + base.RemoveFromParent(); + bodyView = null; + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } } public void LoadPage() { + bodyView.AddChidren(waitPage); new TopViewDiv(bodyView, Language.StringByID(StringId.UserManagement)).LoadTopView(); contentView = new VerticalScrolViewLayout() @@ -47,6 +59,8 @@ Height = Application.GetRealHeight(667 - 70), }; bodyView.AddChidren(contentView); + + #region 鐢ㄦ埛鍚嶇О var userNameView = new FrameLayout() @@ -75,7 +89,7 @@ }; userNameView.AddChidren(btnEditUserNameIcon); - btnUserName = new Button() + var btnUserName = new Button() { X = Application.GetRealWidth(100), Width = Application.GetRealWidth(230), @@ -94,22 +108,125 @@ contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) }); initOptionView(false); + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + Action<string> callBack = (str) => + { + if (string.IsNullOrEmpty(str)) + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + return; + } + if (str == UserInfo.Current.userName) + { + return; + } + if (System.Text.Encoding.Unicode.GetBytes(str).Length > 20) + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.LengthOutOfRange), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + return; + } + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); + var pack = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId, str); + if (pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + btnUserName.Text = str; + updataUserNameAction?.Invoke(str); + }); + } + else + { + //澶辫触鎻愮ず + Application.RunOnMainThread(() => + { + if (string.IsNullOrEmpty(pack.message)) + { + pack.message = Language.StringByID(StringId.OperationFailed); + } + { + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = $"{pack.message}({pack.Code})", + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + } + }); + } + } + catch (Exception ex) + { + MainPage.Log($"update user name error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }; + var pa = new PublicAssmebly(); + pa.entryMaxLength = 20; + pa.LoadDialog_EditParater(StringId.ChangeName, "", callBack, StringId.UesrNameCannotBeEmpty, 0, new List<string>()); + }; + btnUserName.MouseUpEventHandler = eventHandler; + btnEditUserNameIcon.MouseUpEventHandler = eventHandler; + userNameView.MouseUpEventHandler = eventHandler; + } void initOptionView(bool isEdit) { + if(doorlockUser.faceCount == 0&& + doorlockUser.fingerCount == 0 && + doorlockUser.pwdCount == 0 && + doorlockUser.cardCount == 0) + { + new PublicAssmebly().TipMsg(StringId.Tip, StringId.VideoDoorlockDelDataTip, () => + { + delCallBackAction?.Invoke(); + this.RemoveFromParent(); + }); + return; + } + + int childrenViewHeight = Application.GetRealWidth(116); - int permissionsViewHeight = Application.GetRealHeight(291 + 92); + int permissionsViewHeight = Application.GetRealHeight(291 + 92 + 100); if (userPermissionsView!= null) { userPermissionsView.RemoveAll(); if (isEdit) { - permissionsViewHeight = Application.GetRealHeight(391 + 50); + permissionsViewHeight = Application.GetRealHeight(391 + 50 + 100); childrenViewHeight = Application.GetRealWidth(156); } - userPermissionsView.Height = permissionsViewHeight; + userPermissionsView.Height = permissionsViewHeight ; } else { @@ -231,16 +348,19 @@ fingerprintView.AddChidren(btnClearFingerprints); btnClearFingerprints.MouseUpEventHandler = (sender, e) => { - waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFingerPassword(device.deviceId, doorlockUser.lockUserIndex); if (pack != null && pack.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { + doorlockUser.fingerCount = 0; //鏇存柊鐣岄潰 initOptionView(true); }); @@ -310,17 +430,17 @@ }; digitalPasswordView.AddChidren(btnDigitalPasswordText); - if (doorlockUser.fingerCount > 0) + if (doorlockUser.pwdCount > 0) { btnDigitalPasswordIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/DigitalPasswordOnIcon.png"; btnDigitalPasswordText.TextColor = CSS_Color.FirstLevelTitleColor; if (Language.CurrentLanguage == "Chinese") { - btnDigitalPasswordText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.DigitalPassword); + btnDigitalPasswordText.Text = doorlockUser.pwdCount + "缁�" + Language.StringByID(StringId.DigitalPassword); } else { - btnDigitalPasswordText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.DigitalPassword); + btnDigitalPasswordText.Text = doorlockUser.pwdCount + " " + Language.StringByID(StringId.DigitalPassword); } if (isEdit) @@ -340,16 +460,19 @@ digitalPasswordView.AddChidren(btnClearDigitalPassword); btnClearDigitalPassword.MouseUpEventHandler = (sender, e) => { - waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserNumberPassword(device.deviceId, doorlockUser.lockUserIndex); if (pack != null && pack.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { + doorlockUser.pwdCount = 0; //鏇存柊鐣岄潰 initOptionView(true); }); @@ -419,17 +542,17 @@ }; nfcView.AddChidren(btnNfcText); - if (doorlockUser.fingerCount > 0) + if (doorlockUser.cardCount > 0) { btnNfcIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/NfcOnIcon.png"; btnNfcText.TextColor = CSS_Color.FirstLevelTitleColor; if (Language.CurrentLanguage == "Chinese") { - btnNfcText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.NfcKey); + btnNfcText.Text = doorlockUser.cardCount + "缁�" + Language.StringByID(StringId.NfcKey); } else { - btnNfcText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.NfcKey); + btnNfcText.Text = doorlockUser.cardCount + " " + Language.StringByID(StringId.NfcKey); } if (isEdit) @@ -448,16 +571,19 @@ }; nfcView.AddChidren(btnClearNfc); btnClearNfc.MouseUpEventHandler = (sender, e) => { - waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserCardPassword(device.deviceId, doorlockUser.lockUserIndex); if (pack != null && pack.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { + doorlockUser.cardCount = 0; //鏇存柊鐣岄潰 initOptionView(true); }); @@ -500,7 +626,7 @@ var faceView = new FrameLayout() { X = Application.GetRealWidth(16), - Y = fingerprintView.Bottom, + Y = fingerprintView.Bottom+ Application.GetRealHeight(20), Width = Application.GetRealWidth(64 + 32), Height = childrenViewHeight }; @@ -526,17 +652,17 @@ }; faceView.AddChidren(btnFaceText); - if (doorlockUser.fingerCount > 0) + if (doorlockUser.faceCount > 0) { btnFaceIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FaceOnIcon.png"; btnFaceText.TextColor = CSS_Color.FirstLevelTitleColor; if (Language.CurrentLanguage == "Chinese") { - btnFaceText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.FaceKey); + btnFaceText.Text = doorlockUser.faceCount + "缁�" + Language.StringByID(StringId.FaceKey); } else { - btnFaceText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.FaceKey); + btnFaceText.Text = doorlockUser.faceCount + " " + Language.StringByID(StringId.FaceKey); } if (isEdit) @@ -555,16 +681,19 @@ }; faceView.AddChidren(btnClearFace); btnClearFace.MouseUpEventHandler = (sender, e) => { - waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFacePassword(device.deviceId, doorlockUser.lockUserIndex); if (pack != null && pack.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { + doorlockUser.faceCount = 0; //鏇存柊鐣岄潰 initOptionView(true); }); @@ -611,7 +740,7 @@ var delUserView = new FrameLayout() { Y = unlockOptionView.Bottom, - Height = Application.GetRealHeight(110), + Height = Application.GetRealHeight(310), BackgroundColor = CSS_Color.BackgroundColor, }; userPermissionsView.AddChidren(delUserView); @@ -634,11 +763,13 @@ { new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteDoorlockUserTip, () => { - waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { + Application.RunOnMainThread(() => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + }); var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUser(device.deviceId, doorlockUser.lockUserIndex); if (pack != null && pack.Code == StateCode.SUCCESS) { @@ -655,6 +786,9 @@ { Application.RunOnMainThread(() => { + if (string.IsNullOrEmpty(pack.message)) { + pack.message = Language.StringByID(StringId.OperationFailed); + } //澶辫触鎻愮ず var tip = new Tip() { @@ -694,60 +828,7 @@ /// </summary> void LoadEvent_EditUserName() { - EventHandler<MouseEventArgs> eventHandler = (sender, e) => - { - Action<string> callBack = (str) => - { - if (string.IsNullOrEmpty(str)) - { - new Tip() - { - CloseTime = 1, - Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), - Direction = AMPopTipDirection.None, - }.Show(bodyView); - return; - } - if (str == UserInfo.Current.userName) - { - return; - } - waitPage.Start(Language.StringByID(StringId.PleaseWait)); - new System.Threading.Thread(() => - { - try - { - var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str); - if (resultObj.Code == StateCode.SUCCESS) - { - Application.RunOnMainThread(() => - { - btnUserName.Text = str; - }); - } - else - { - //澶辫触鎻愮ず - IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); - } - } - catch (Exception ex) - { - MainPage.Log($"update user name error : {ex.Message}"); - } - finally - { - Application.RunOnMainThread(() => - { - waitPage.Hide(); - }); - } - }) - { IsBackground = true }.Start(); - }; - new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, doorlockUser.lockUserName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>()); - }; - btnUserName.MouseUpEventHandler = eventHandler; + //btnUserName.MouseUpEventHandler = eventHandler; } -- Gitblit v1.8.0