using System; using Shared; using HDL_ON.Entity; using HDL_ON.UI.CSS; using System.Collections.Generic; namespace HDL_ON.UI { /// /// 成员管理 成员列表页面 /// public partial class MemberManagementPage : FrameLayout { MemberManagementPage bodyView; Loading waitPage; VerticalScrolViewLayout contentView; List residenceMemberInfos; Action action; public MemberManagementPage() { bodyView = this; residenceMemberInfos = new List(); } public void LoadPage() { bodyView.BackgroundColor = CSS_Color.BackgroundColor; //创建读取成员账号线程 var thread = LoadThread_GetResidenceMemberAccount(); waitPage = new Loading(); new PublicAssmebly().LoadPage_WaitPage(thread, bodyView, waitPage); Action backAction = () => { }; Action backAction_AddMember = () => { LoadThread_GetResidenceMemberAccount().Start(); }; Action refreshAction = () => { var mmp = new AddMemberScanPage(backAction_AddMember); MainPage.BasePageView.AddChidren(mmp); mmp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; new TopViewDiv(bodyView, Language.StringByID(StringId.MemberManagement)).LoadTopView_MemberTopView(refreshAction, backAction); contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(590), }; bodyView.AddChidren(contentView); LoadMemberRow(); } /// /// 加载成员列表区域 /// void LoadMemberRow() { contentView.RemoveAll(); foreach (var memberInfo in residenceMemberInfos) { contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12), }); var sView = new VerticalScrolViewLayout() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), //Height = Application.GetRealWidth(230), Height = Application.GetRealWidth(180), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(12), BorderColor = 0x00000000, BorderWidth = 0, ScrollEnabled = false, VerticalScrollBarEnabled = false,//隐藏滚动条 }; if (Entity.DB_ResidenceData.Instance.SupportFacePass) { sView.Height = Application.GetRealWidth(180 + 50); } contentView.AddChidren(sView); #region 头像信息 var view1 = new FrameLayout() { Height = Application.GetRealWidth(79), }; sView.AddChidren(view1); var userTypeView = new FrameLayout() { Width = Application.GetRealWidth(122), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(270), Y = Application.GetRealHeight(16), BackgroundImagePath = "PersonalCenter/UserTypebg.png", }; view1.AddChidren(userTypeView); var btnUserTypeName = new Button() { X = Application.GetRealWidth(28), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(17 * 3), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = StringId.Member }; userTypeView.AddChidren(btnUserTypeName); if(Language.CurrentLanguage == "English") { userTypeView.X = Application.GetRealWidth(260); } var memberHeadImageView = new ImageView() { X = Application.GetRealWidth(16), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(48), Height = Application.GetMinRealAverage(48), Radius = (uint)Application.GetMinRealAverage(24), ImagePath = memberInfo.headImagePagePath, }; view1.AddChidren(memberHeadImageView); var btnMemberName = new Button() { X = Application.GetRealWidth(88), Y = Application.GetRealWidth(20), Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(24), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, //Text = memberInfo.UserName, Text = HDLCommon.Current.GetUserName(memberInfo.memberName) }; view1.AddChidren(btnMemberName); var btnMemberEmail = new Button() { X = Application.GetRealWidth(88), Y = btnMemberName.Bottom, Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(17), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = memberInfo.Account, }; view1.AddChidren(btnMemberEmail); sView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealWidth(1), Width = Application.GetRealWidth(311), BackgroundColor = CSS_Color.DividingLineColor, }); #endregion #region 昵称信息 var view2 = new FrameLayout() { Height = Application.GetRealWidth(49), }; sView.AddChidren(view2); var btnNicknameTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextID = StringId.Nickname, }; view2.AddChidren(btnNicknameTitle); var btnNickname = new Button() { Width = Application.GetRealWidth(295), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, Text = memberInfo.nickName }; view2.AddChidren(btnNickname); var btnNicknameRight = new Button() { X = Application.GetRealWidth(311), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; view2.AddChidren(btnNicknameRight); sView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealWidth(1), Width = Application.GetRealWidth(311), BackgroundColor = CSS_Color.DividingLineColor, }); LoadView_EidtNickname(btnNickname, btnNicknameRight, memberInfo); #endregion #region 使用权限 var view3 = new FrameLayout() { Height = Application.GetRealWidth(49), }; sView.AddChidren(view3); var btnPermissionTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(330), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextID = StringId.PermissionToUse, }; view3.AddChidren(btnPermissionTitle); var btnPermissionRight = new Button() { X = Application.GetRealWidth(311), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; view3.AddChidren(btnPermissionRight); sView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealWidth(1), Width = Application.GetRealWidth(311), BackgroundColor = CSS_Color.DividingLineColor, }); EventHandler eHandler = (sender, e) => { action = () => { residenceMemberInfos.Remove(memberInfo); LoadMemberRow(); }; var mmp = new MemberPermissionPage(memberInfo, action); MainPage.BasePageView.AddChidren(mmp); mmp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; view3.MouseUpEventHandler = eHandler; btnPermissionTitle.MouseUpEventHandler = eHandler; btnPermissionRight.MouseUpEventHandler = eHandler; #endregion #region 人脸管理 if (Entity.DB_ResidenceData.Instance.SupportFacePass) { var view4 = new FrameLayout() { Height = Application.GetRealWidth(49), }; sView.AddChidren(view4); var btnFaceManagementTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(330), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextID = StringId.FaceManagemant, }; view4.AddChidren(btnFaceManagementTitle); var btnFaceManagementRight = new Button() { X = Application.GetRealWidth(311), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; view4.AddChidren(btnFaceManagementRight); //sView.AddChidren(new Button() //{ // Gravity = Gravity.CenterHorizontal, // Height = Application.GetRealWidth(1), // Width = Application.GetRealWidth(311), // BackgroundColor = CSS_Color.DividingLineColor, //}); EventHandler eFaceHandler = (sender, e) => { if (OnAppConfig.Instance.FaceManagementTip) { return; } Dialog dialog = new Dialog() { BackgroundColor = CSS_Color.DialogTransparentColor1, }; FrameLayout contentView = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(192), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(10), }; dialog.AddChidren(contentView); Button btnTitle = new Button() { Y = Application.GetRealHeight(16), Height = Application.GetRealHeight(30), TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, TextID = StringId.FaceProtocolPrompt, }; contentView.AddChidren(btnTitle); Button btnMsg = new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealHeight(35), Y = btnTitle.Bottom, Width = Application.GetRealHeight(200), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = " 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读", IsMoreLines = true, }; contentView.AddChidren(btnMsg); Button btnMsg1 = new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealHeight(15), Y = btnMsg.Bottom, Width = Application.GetRealHeight(200), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = " 《On Pro人脸信息采集协议》", IsMoreLines = true, }; contentView.AddChidren(btnMsg1); Button btnMsg2 = new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealHeight(35), Y = btnMsg1.Bottom, Width = Application.GetRealHeight(200), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = " 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。", IsMoreLines = true, }; contentView.AddChidren(btnMsg2); Button btnLine = new Button() { Y = Application.GetRealHeight(149), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(270 / 2), BackgroundColor = CSS.CSS_Color.DividingLineColor, }; contentView.AddChidren(btnLine); Button btnCancel = new Button() { Y = btnLine.Bottom, Width = Application.GetRealWidth(135), Height = Application.GetRealHeight(43), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, //SelectedTextColor = CSS_Color.MainBackgroundColor, //SelectedBackgroundColor = CSS_Color.MainColor, TextID = StringId.Disagree, }; contentView.AddChidren(btnCancel); Button btnConfirm = new Button() { X = btnCancel.Right, Y = btnLine.Y, Width = Application.GetRealWidth(135), Height = Application.GetRealHeight(45), TextAlignment = TextAlignment.Center, //TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.MainBackgroundColor, BackgroundColor = CSS_Color.MainColor, TextID = StringId.Agree, }; contentView.AddChidren(btnConfirm); //例:右下圆角 大小为50 int mRectCornerID = HDLUtils.RectCornerBottomRight; btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); dialog.Show(); btnCancel.MouseUpEventHandler += (sender, e) => { dialog.Close(); }; btnMsg1.MouseUpEventHandler += (sender, e) => { string url = "https://developer.hdlcontrol.com/人脸信息采集协议.html"; if (Language.CurrentLanguage != "Chinese") { url = "https://developer.hdlcontrol.com/Face information collection protocol.html"; } new WebViewDialog().LoadPage("人脸信息采集协议", url); dialog.Close(); }; }; view4.MouseUpEventHandler = eHandler; btnFaceManagementTitle.MouseUpEventHandler = eFaceHandler; btnFaceManagementRight.MouseUpEventHandler = eFaceHandler; } #endregion //#region 创建场景 2020-12-23 隐藏创建场景按钮 //var view4 = new FrameLayout() //{ // Height = Application.GetRealWidth(50), //}; //sView.AddChidren(view4); //var btnCreateSceneTitle = new Button() //{ // X = Application.GetRealWidth(16), // Width = Application.GetRealWidth(200), // TextAlignment = TextAlignment.CenterLeft, // TextColor = CSS_Color.FirstLevelTitleColor, // TextSize = CSS_FontSize.TextFontSize, // TextID = StringId.CreateScene, //}; //view4.AddChidren(btnCreateSceneTitle); //var btnCreateSceneRight = new Button() //{ // X = Application.GetRealWidth(287), // Y = Application.GetRealHeight(4), // Width = Application.GetMinRealAverage(38), // Height = Application.GetMinRealAverage(38), // UnSelectedImagePath = "Public/Switch_2.png", // SelectedImagePath = "Public/SwitchOn_2.png", // IsSelected = memberInfo.isAllowCreateScene //}; //view4.AddChidren(btnCreateSceneRight); //LoadView_ChangeCreateSceneState(btnCreateSceneRight, btnCreateSceneTitle, memberInfo); //#endregion } } } }