From d3189eaa6be7c70ed5ac783efe68f43211a90d27 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 20 七月 2023 08:58:56 +0800
Subject: [PATCH] Merge branch 'Dev-Branch' of http://172.16.1.23:6688/r/~wxr/OnPro into Dev-Branch
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs | 468 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 372 insertions(+), 96 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
index 062a590..97ec8e1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -21,6 +22,9 @@
Function device;
VideoDoorlockUser doorlockUser;
+ public Action delCallBackAction;
+
+ Loading waitPage;
public VideoDoorlockUserManagerPage(Function function,VideoDoorlockUser user)
{
@@ -28,6 +32,9 @@
device = function;
doorlockUser = user;
BackgroundColor = CSS_Color.BackgroundColor;
+ waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Hide();
}
public void LoadPage()
@@ -91,25 +98,44 @@
void initOptionView(bool isEdit)
{
- if(userPermissionsView!= null)
+ if(doorlockUser.faceCount == 0&&
+ doorlockUser.faceCount == 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);
+ if (userPermissionsView!= null)
{
userPermissionsView.RemoveAll();
+
+ if (isEdit)
+ {
+ permissionsViewHeight = Application.GetRealHeight(391 + 50);
+ childrenViewHeight = Application.GetRealWidth(156);
+ }
+ userPermissionsView.Height = permissionsViewHeight;
}
- int childrenViewHeight = Application.GetRealHeight( 108);
- int permissionsViewHeight = Application.GetRealHeight( 291+92);
- if (isEdit)
+ else
{
- permissionsViewHeight = Application.GetRealHeight(391 + 92);
- childrenViewHeight = Application.GetRealHeight(136);
+ userPermissionsView = new FrameLayout()
+ {
+ Height = permissionsViewHeight,
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+ contentView.AddChidren(userPermissionsView);
}
#region 闂ㄩ攣鐢ㄦ埛寮�閿佹柟寮忕鐞�
- userPermissionsView = new FrameLayout()
- {
- Height = permissionsViewHeight,
- BackgroundColor = CSS_Color.MainBackgroundColor,
- };
- contentView.AddChidren(userPermissionsView);
var userPermissionsTitleView = new FrameLayout()
{
@@ -135,11 +161,19 @@
TextAlignment = TextAlignment.CenterRight,
TextSize = CSS_FontSize.TextFontSize,
TextColor = CSS_Color.MainColor,
- TextID = StringId.Edit,
+ TextID = !isEdit? StringId.Edit: StringId.Complete,
};
userPermissionsTitleView.AddChidren(btnEditUserPermissions);
btnEditUserPermissions.MouseUpEventHandler = (sender, e) => {
- initOptionView(isEdit ? false : true);
+ if(!isEdit)
+ {
+ initOptionView(true);
+ }
+ else
+ {
+ initOptionView(false);
+ }
+
};
@@ -147,7 +181,7 @@
var unlockOptionView = new FrameLayout()
{
Y = userPermissionsTitleView.Bottom,
- Height = Application.GetRealHeight(231),
+ Height =2 * childrenViewHeight +Application.GetRealHeight(20),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
userPermissionsView.AddChidren(unlockOptionView);
@@ -157,7 +191,7 @@
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(64 + 32),
- Height = Application.GetRealHeight(64 + 24 + 20)
+ Height = childrenViewHeight
};
unlockOptionView.AddChidren(fingerprintView);
@@ -193,24 +227,71 @@
{
btnFingerprintText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.Fingerprints);
}
- }
- if (isEdit)
- {
- var btnClearFingerprints = new Button()
+ if (isEdit)
{
- Y = btnFingerprintText.Bottom,
- Width = Application.GetRealWidth(60),
- Height = Application.GetRealHeight(28),
- BorderWidth = 1,
- BorderColor = CSS_Color.MainColor,
- Radius = (uint)Application.GetRealWidth(4),
- TextID = StringId.Clear,
- };
- fingerprintView.AddChidren(btnClearFingerprints);
- btnClearFingerprints.MouseUpEventHandler = (sender, e) => {
-
- };
+ var btnClearFingerprints = new Button()
+ {
+ X = Application.GetRealWidth(18),
+ Y = btnFingerprintText.Bottom,
+ Width = Application.GetRealWidth(60),
+ Height = Application.GetRealHeight(28),
+ BorderWidth = 1,
+ BorderColor = CSS_Color.MainColor,
+ Radius = (uint)Application.GetRealWidth(4),
+ TextID = StringId.Clear,
+ TextColor = CSS_Color.MainColor,
+ };
+ fingerprintView.AddChidren(btnClearFingerprints);
+ btnClearFingerprints.MouseUpEventHandler = (sender, e) =>
+ {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFingerPassword(device.deviceId, doorlockUser.lockUserIndex);
+ if (pack != null && pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ doorlockUser.fingerCount = 0;
+ //鏇存柊鐣岄潰
+ initOptionView(true);
+ });
+ }
+ else
+ {
+ //澶辫触鎻愮ず
+ Application.RunOnMainThread(() =>
+ {
+ //澶辫触鎻愮ず
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = pack.message,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"delete finger error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+ }
}
#endregion
@@ -220,7 +301,7 @@
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(64 + 32),
- Height = Application.GetRealHeight(64 + 24 + 20)
+ Height = childrenViewHeight
};
unlockOptionView.AddChidren(digitalPasswordView);
@@ -244,33 +325,84 @@
};
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)
- {
- var btnClearDigitalPassword = new Button()
+ if (isEdit)
{
- Y = btnDigitalPasswordText.Bottom,
- Width = Application.GetRealWidth(60),
- Height = Application.GetRealHeight(28),
- BorderWidth = 1,
- BorderColor = CSS_Color.MainColor,
- Radius = (uint)Application.GetRealWidth(4),
- TextID = StringId.Clear,
- };
- digitalPasswordView.AddChidren(btnClearDigitalPassword);
+ var btnClearDigitalPassword = new Button()
+ {
+ X = Application.GetRealWidth(18),
+ Y = btnDigitalPasswordText.Bottom,
+ Width = Application.GetRealWidth(60),
+ Height = Application.GetRealHeight(28),
+ BorderWidth = 1,
+ BorderColor = CSS_Color.MainColor,
+ Radius = (uint)Application.GetRealWidth(4),
+ TextID = StringId.Clear,
+ TextColor = CSS_Color.MainColor,
+ };
+ digitalPasswordView.AddChidren(btnClearDigitalPassword);
+ btnClearDigitalPassword.MouseUpEventHandler = (sender, e) =>
+ {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserNumberPassword(device.deviceId, doorlockUser.lockUserIndex);
+ if (pack != null && pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ doorlockUser.pwdCount = 0;
+ //鏇存柊鐣岄潰
+ initOptionView(true);
+ });
+ }
+ else
+ {
+ //澶辫触鎻愮ず
+ Application.RunOnMainThread(() =>
+ {
+ //澶辫触鎻愮ず
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = pack.message,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"delete number password error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+
+ }
}
#endregion
@@ -279,7 +411,7 @@
{
X = Application.GetRealWidth(263),
Width = Application.GetRealWidth(64 + 32),
- Height = Application.GetRealHeight(64 + 24 + 20)
+ Height = childrenViewHeight
};
unlockOptionView.AddChidren(nfcView);
@@ -303,33 +435,81 @@
};
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)
- {
- var btnClearNfc = new Button()
+ if (isEdit)
{
- Y = btnNfcText.Bottom,
- Width = Application.GetRealWidth(60),
- Height = Application.GetRealHeight(28),
- BorderWidth = 1,
- BorderColor = CSS_Color.MainColor,
- Radius = (uint)Application.GetRealWidth(4),
- TextID = StringId.Clear,
- };
- nfcView.AddChidren(btnClearNfc);
+ var btnClearNfc = new Button()
+ {
+ X = Application.GetRealWidth(18),
+ Y = btnNfcText.Bottom,
+ Width = Application.GetRealWidth(60),
+ Height = Application.GetRealHeight(28),
+ BorderWidth = 1,
+ BorderColor = CSS_Color.MainColor,
+ Radius = (uint)Application.GetRealWidth(4),
+ TextID = StringId.Clear,
+ TextColor = CSS_Color.MainColor,
+ };
+ nfcView.AddChidren(btnClearNfc);
+ btnClearNfc.MouseUpEventHandler = (sender, e) => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserCardPassword(device.deviceId, doorlockUser.lockUserIndex);
+ if (pack != null && pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ doorlockUser.cardCount = 0;
+ //鏇存柊鐣岄潰
+ initOptionView(true);
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ //澶辫触鎻愮ず
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = pack.message,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"delete face error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+ }
}
#endregion
@@ -339,7 +519,7 @@
X = Application.GetRealWidth(16),
Y = fingerprintView.Bottom+ Application.GetRealHeight(20),
Width = Application.GetRealWidth(64 + 32),
- Height = Application.GetRealHeight(64 + 24 + 20)
+ Height = childrenViewHeight
};
unlockOptionView.AddChidren(faceView);
@@ -363,33 +543,82 @@
};
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)
- {
- var btnClearFace = new Button()
+ if (isEdit)
{
- Y = btnFaceText.Bottom,
- Width = Application.GetRealWidth(60),
- Height = Application.GetRealHeight(28),
- BorderWidth = 1,
- BorderColor = CSS_Color.MainColor,
- Radius = (uint)Application.GetRealWidth(4),
- TextID = StringId.Clear,
- };
- faceView.AddChidren(btnClearFace);
+ var btnClearFace = new Button()
+ {
+ X = Application.GetRealWidth(18),
+ Y = btnFaceText.Bottom,
+ Width = Application.GetRealWidth(60),
+ Height = Application.GetRealHeight(28),
+ BorderWidth = 1,
+ BorderColor = CSS_Color.MainColor,
+ Radius = (uint)Application.GetRealWidth(4),
+ TextID = StringId.Clear,
+ TextColor = CSS_Color.MainColor,
+ };
+ faceView.AddChidren(btnClearFace);
+ btnClearFace.MouseUpEventHandler = (sender, e) => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFacePassword(device.deviceId, doorlockUser.lockUserIndex);
+ if (pack != null && pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ doorlockUser.faceCount = 0;
+ //鏇存柊鐣岄潰
+ initOptionView(true);
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ //澶辫触鎻愮ず
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = pack.message,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"delete face error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+
+ }
}
#endregion
@@ -399,24 +628,79 @@
var delUserView = new FrameLayout()
{
- Y = permissionsViewHeight - Application.GetRealHeight(92),
- Height = Application.GetRealHeight(92),
+ Y = unlockOptionView.Bottom,
+ Height = Application.GetRealHeight(110),
BackgroundColor = CSS_Color.BackgroundColor,
};
userPermissionsView.AddChidren(delUserView);
Button btnDelUser = new Button()
{
- Y = Application.GetRealHeight(48),
+ Y = Application.GetRealHeight(40),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(220),
- Height = Application.GetRealHeight(44),
+ Height = Application.GetRealWidth(44),
BackgroundColor = CSS_Color.MainBackgroundColor,
TextColor = CSS_Color.WarningColor,
Radius = (uint)Application.GetRealWidth(22),
TextID = StringId.DeleteUser,
+ TextSize = CSS_FontSize.SubheadingFontSize,
};
delUserView.AddChidren(btnDelUser);
+
+ btnDelUser.MouseUpEventHandler = (sender, e) =>
+ {
+ new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteDoorlockUserTip, () =>
+ {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUser(device.deviceId, doorlockUser.lockUserIndex);
+ if (pack != null && pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ //鏇存柊鐣岄潰
+ new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteSuccess, () => {
+ this.RemoveFromParent();
+ delCallBackAction?.Invoke();
+ });
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ //澶辫触鎻愮ず
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = pack.message,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"delete face error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ });
+ };
+
}
@@ -446,8 +730,6 @@
{
return;
}
- var waitPage = new Loading();
- bodyView.AddChidren(waitPage);
waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
@@ -456,8 +738,6 @@
var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str);
if (resultObj.Code == StateCode.SUCCESS)
{
- UserInfo.Current.userName = str;
- UserInfo.Current.SaveUserInfo();
Application.RunOnMainThread(() =>
{
btnUserName.Text = str;
@@ -477,11 +757,7 @@
{
Application.RunOnMainThread(() =>
{
- if (waitPage != null)
- {
- waitPage.RemoveFromParent();
- waitPage = null;
- }
+ waitPage.Hide();
});
}
})
--
Gitblit v1.8.0