From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 21 七月 2020 09:46:53 +0800 Subject: [PATCH] 请合并最新多功能面板代码 --- ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs | 560 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 560 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs new file mode 100755 index 0000000..db897ce --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs @@ -0,0 +1,560 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace Shared.Phone.UserCenter.UserMain +{ + /// <summary> + /// 涓汉涓績涓荤敾闈� + /// </summary> + public class UserMainForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 涓昏彍鍗曡儗鏅 + /// </summary> + private NormalFrameLayout frameMainMenuBack = null; + /// <summary> + /// 鍏朵粬鑿滃崟鐨勫鍣ㄦ帶浠� + /// </summary> + private FrameListControl frameOtherMenuContr = null; + /// <summary> + /// 鐢ㄦ埛鍚嶅瓧 + /// </summary> + private NormalViewControl btnUserName = null; + /// <summary> + /// 鐢ㄦ埛韬唤 + /// </summary> + private NormalViewControl btnAuthority = null; + /// <summary> + /// 鐢ㄦ埛澶村儚 + /// </summary> + private ImageView btnUserIcon = null; + /// <summary> + /// 鐨囧啝 + /// </summary> + private IconViewControl btnImperialCrown = null; + /// <summary> + /// 淇℃伅鎻愮ず鎺т欢 + /// </summary> + private MessageManagementControl msgControl = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓), + /// 娉ㄦ剰锛氬洜涓哄闈㈢殑妗嗘灦闂锛屽湪澶栭潰涓嶈兘浣跨敤搴曞眰鐨勬柟娉� + /// 涓嶇劧锛屽彲鑳戒細鏈変簺鍏遍�氬弬鏁板嚭閿� + /// </summary> + public void ShowForm() + { + this.FormID = "UserMainForm"; + + //鐗规畩澶勭悊锛氭仮澶嶅彲鍏抽棴杩涘害鏉★紝鍒棶涓轰粈涔堬紝鎴戜篃涓嶇煡閬撲负浠�涔堬紝浠ラ槻涓囦竴鑰屽凡 + ProgressBar.SetCloseBarFlag(false); + //鍒濆鍖栧ご閮ㄦ帶浠� + this.InitTopFrameLayout(); + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitBodyFrameLayout(); + //绉婚櫎杩斿洖閿� + base.RemoveBackButton(); + + //body鍗犲畬鏁翠釜灞忓箷,闄や簡搴曢儴鑿滃崟 + bodyFrameLayout.Y = 0; + bodyFrameLayout.Height = this.Height; + bodyFrameLayout.BackgroundColor = UserCenterColor.Current.BlackBackGround; + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //涓汉涓績 + var btnTitle = new NormalViewControl(350, 100, true); + btnTitle.X = ControlCommonResourse.XXLeft; + btnTitle.Y = Application.GetRealHeight(112); + btnTitle.TextColor = UserCenterColor.Current.White; + btnTitle.TextSize = 24; + btnTitle.IsBold = true; + btnTitle.TextID = R.MyInternationalizationString.UserCenter; + bodyFrameLayout.AddChidren(btnTitle); + + var btnBack1 = new PicViewControl(1031, 942); + btnBack1.Y = btnTitle.Bottom - Application.GetRealHeight(10); + btnBack1.UnSelectedImagePath = "Center/MainBack1.png"; + bodyFrameLayout.AddChidren(btnBack1); + var btnBack2 = new PicViewControl(392, 172); + btnBack2.X = Application.GetRealWidth(688); + btnBack2.UnSelectedImagePath = "Center/MainBack2.png"; + bodyFrameLayout.AddChidren(btnBack2); + + //淇℃伅鎻愮ず鎺т欢 + this.msgControl = new MessageManagementControl(); + msgControl.Y = Application.GetRealHeight(127); + msgControl.X = Application.GetRealWidth(953); + bodyFrameLayout.AddChidren(this.msgControl); + + //鐧芥 + var frameBack = new FrameLayout(); + frameBack.BackgroundColor = UserCenterColor.Current.BodyFrameLayout; + frameBack.Y = Application.GetRealHeight(380); + frameBack.Gravity = Gravity.CenterHorizontal; + frameBack.Radius = (uint)Application.GetRealHeight(29); + frameBack.Width = bodyFrameLayout.Width - Application.GetRealWidth(29 * 2); + frameBack.Height = bodyFrameLayout.Height - Application.GetRealHeight(380) + Application.GetRealHeight(100); + bodyFrameLayout.AddChidren(frameBack); + + //鍒濆鍖栦釜浜轰俊鎭殑鎺т欢 + this.InitUserInfoControl(frameBack); + + //鍒濆鍖栦富鑿滃崟鐨勬帶浠� + this.InitMainMenuInfoControl(frameBack); + + //鍒濆鍖栧叾浠栬彍鍗� + this.InitOtherMenuControl(frameBack); + } + + #endregion + + #region 鈻� 涓汉淇℃伅鐨勬帶浠禵____________________ + + /// <summary> + /// 鍒濆鍖栦釜浜轰俊鎭殑鎺т欢 + /// </summary> + /// <param name="frameWhite">鑳屾櫙</param> + private void InitUserInfoControl(FrameLayout frameWhite) + { + //鐢ㄦ埛澶村儚 + this.btnUserIcon = new ImageView(); + btnUserIcon.Height = this.GetPictrueRealSize(280); + btnUserIcon.Width = this.GetPictrueRealSize(280); + btnUserIcon.Radius = (uint)this.GetPictrueRealSize(280) / 2; + btnUserIcon.X = Application.GetRealWidth(121); + if (Common.Config.Instance.Home.IsVirtually == false) + { + btnUserIcon.ImageBytes = Shared.IO.FileUtils.ReadFile(UserCenterResourse.UserInfo.UserIconFile); + } + else + { + btnUserIcon.ImagePath = "Account/Cat.png"; + } + bodyFrameLayout.AddChidren(btnUserIcon); + btnUserIcon.Y = frameWhite.Y - Application.GetRealHeight(109); + btnUserIcon.MouseUpEventHandler += (sender, e) => + { + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欑洿鎺ユ彁绀�:纭畾閫�鍑哄綋鍓嶈处鍙凤紵 + string msg = Language.StringByID(R.MyInternationalizationString.uLogoutAccountMsg); + this.ShowMassage(ShowMsgType.Confirm, msg, () => + { + //閫�鍑鸿处鍙� + UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account); + }); + return; + } + var form = new UserInformationForm(); + form.AddForm(); + }; + + //鐨囧啝 + this.btnImperialCrown = new IconViewControl(60); + btnImperialCrown.X = Application.GetRealWidth(346); + btnImperialCrown.Y = Application.GetRealHeight(475); + btnImperialCrown.UnSelectedImagePath = "Center/ImperialCrown.png"; + bodyFrameLayout.AddChidren(btnImperialCrown); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + btnImperialCrown.Visible = false; + } + + //鐢ㄦ埛鏄电О + this.btnUserName = new NormalViewControl(605, 60, true); + btnUserName.IsBold = true; + btnUserName.X = btnUserIcon.Right + Application.GetRealWidth(5); + btnUserName.Y = Application.GetRealHeight(43); + if (UserCenterResourse.UserInfo != null) + { + btnUserName.Text = UserCenterResourse.UserInfo.UserName; + } + frameWhite.AddChidren(btnUserName); + + //鐢ㄦ埛韬唤 + this.btnAuthority = new NormalViewControl(605, 60, true); + btnAuthority.X = btnUserName.X; + btnAuthority.Y = btnUserName.Bottom; + btnAuthority.TextColor = UserCenterColor.Current.TextGrayColor3; + btnAuthority.TextSize = 12; + if (UserCenterResourse.UserInfo != null) + { + btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; + } + frameWhite.AddChidren(btnAuthority); + } + + #endregion + + #region 鈻� 涓昏彍鍗曠殑鎺т欢_______________________ + + /// <summary> + /// 鍒濆鍖栦富鑿滃崟鐨勬帶浠� + /// </summary> + /// <param name="frameWhite">鑳屾櫙</param> + private void InitMainMenuInfoControl(FrameLayout frameWhite) + { + if (frameMainMenuBack != null) + { + frameMainMenuBack.RemoveAll(); + } + else + { + //鑳屾櫙妗� + frameMainMenuBack = new NormalFrameLayout(); + frameMainMenuBack.Y = Application.GetRealHeight(288); + frameMainMenuBack.Gravity = Gravity.CenterHorizontal; + frameMainMenuBack.Height = Application.GetRealHeight(371); + frameMainMenuBack.Width = frameWhite.Width - Application.GetRealWidth(29 * 2); + frameMainMenuBack.Radius = (uint)Application.GetRealHeight(17); + frameMainMenuBack.BackgroundColor = UserCenterColor.Current.White; + frameWhite.AddChidren(frameMainMenuBack); + } + + //鏍囬锛氱鐞� + var frameTitle = new FrameLayout(); + frameTitle.Y = Application.GetRealHeight(6); + frameTitle.Width = Application.GetRealWidth(907); + frameTitle.Height = Application.GetRealHeight(121); + frameTitle.Gravity = Gravity.CenterHorizontal; + frameMainMenuBack.AddChidren(frameTitle); + var btnTitle = new NormalViewControl(500, 60, true); + btnTitle.Gravity = Gravity.CenterVertical; + btnTitle.TextID = R.MyInternationalizationString.uManagement; + frameTitle.AddChidren(btnTitle); + var btnLine = new NormalViewControl(frameTitle.Width, 1, false); + btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; + btnLine.Y = frameTitle.Height - 1; + frameTitle.AddChidren(btnLine); + + //鍒涘缓鍏ㄩ儴鐨勪富鑿滃崟鎺т欢 + this.CreatAllMainMenuControl(frameMainMenuBack); + } + + /// <summary> + /// 鍒涘缓鍏ㄩ儴鐨勪富鑿滃崟鎺т欢 + /// </summary> + /// <param name="frameBack"></param> + private void CreatAllMainMenuControl(FrameLayout frameBack) + { + var frameMenu = new FrameLayout(); + frameMenu.Y = Application.GetRealHeight(184); + frameMenu.Height = Application.GetRealHeight(153); + frameBack.AddChidren(frameMenu); + + //鎴愬憳绠$悊 + string unSelectPic = "Center/MenberManagement.png"; + int TextID = R.MyInternationalizationString.uMember; + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鐢熸垚鎺т欢 + var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); + frame.ButtonClickEvent += (sender, e) => + { + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥 + return; + } + var form = new Member.MemberListForm(); + form.AddForm(); + }; + } + + //璁惧绠$悊 + unSelectPic = "Center/DeviceManagement.png"; + TextID = R.MyInternationalizationString.uDevice; + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鐢熸垚鎺т欢 + var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); + frame.ButtonClickEvent += (sender, e) => + { + HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); + //鎷ユ湁缃戝叧,鎴栬�呮槸铏氭嫙浣忓畢,鍒欒繘鍏ヨ澶囧垪琛ㄧ晫闈� + if (string.IsNullOrEmpty(GatewayResourse.AppOldSelectGatewayId) == false + || Common.Config.Instance.Home.IsVirtually == true) + { + var form = new Device.DeviceListMainForm(); + form.AddForm(); + } + else + { + //娌℃湁缃戝叧,鍒欒繘鍏ョ綉鍏冲垪琛ㄧ晫闈� + var form = new GatewayManage.GatewayListForm(); + form.AddForm(); + } + }; + } + + //浣忓畢绠$悊 + unSelectPic = "Center/ResidenceManagement.png"; + TextID = R.MyInternationalizationString.uResidence; + if (1 == 1)//缁熶竴鏍煎紡濂界湅涓�鐐硅�屽凡 + { + //鐢熸垚鎺т欢 + var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); + frame.ButtonClickEvent += (sender, e) => + { + //浣忓畢鎺ュ彛涓嶉渶瑕佺壒娈婄殑鐧婚檰Token + var form = new Residence.ResidenceListForm(); + form.AddForm(); + }; + } + + //瀹夐槻绠$悊 + unSelectPic = "Center/SafetyManagement.png"; + TextID = R.MyInternationalizationString.uSafety; + //杩欎釜璐﹀彿鎷ユ湁缃戝叧鐨勬儏鍐典笅锛屾墠鏄剧ず杩欎釜鑿滃崟 + if (HdlGatewayLogic.Current.GetAllLocalGateway().Count > 0) + { + //鐢熸垚鎺т欢 + var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); + frame.ButtonClickEvent += (sender, e) => + { + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥 + return; + } + var form = new Safety.SafetyManagementMainForm(); + form.AddForm(); + }; + } + //閲嶆柊璁╁畠灞呬腑 + frameMenu.Gravity = Gravity.CenterHorizontal; + } + + /// <summary> + /// 鍒涘缓涓�涓富鑿滃崟鎺т欢 + /// </summary> + /// <param name="frameBack">鑳屾櫙妗�</param> + /// <param name="textId">鏄剧ず鏂囨湰</param> + /// <param name="UnSelectPic">鍥剧墖瀵硅薄</param> + /// <returns></returns> + private FrameRowControl CreatMainMenuControl(FrameLayout frameBack, int textId, string UnSelectPic) + { + int width = 236; + //澶栨 + var frame = new FrameRowControl(); + frame.Width = Application.GetRealWidth(width); + frame.Height = frameBack.Height; + frame.Gravity = Gravity.CenterVertical; + frame.X = frameBack.ChildrenCount * Application.GetRealWidth(width); + frameBack.AddChidren(frame); + frame.RemoveBaseClickEvent(); + //鍙樻洿澶у皬 + frameBack.Width = frameBack.ChildrenCount * Application.GetRealWidth(width); + + //鍥炬爣 + var btnIcon = new IconViewControl(81); + btnIcon.Gravity = Gravity.CenterHorizontal; + btnIcon.UnSelectedImagePath = UnSelectPic; + frame.AddChidren(btnIcon); + + //鏂囧瓧 + var btnText = new NormalViewControl(frame.Width, Application.GetRealHeight(72), false); + btnText.TextSize = 12; + btnText.Y = btnIcon.Bottom; + btnText.TextAlignment = TextAlignment.Center; + btnText.TextID = textId; + frame.AddChidren(btnText); + + return frame; + } + + #endregion + + #region 鈻� 鍒濆鍖栧叾浠栬彍鍗昣____________________ + + /// <summary> + /// 鍒濆鍖栧叾浠栬彍鍗� + /// </summary> + /// <param name="frameWhite">鑳屾櫙</param> + private void InitOtherMenuControl(FrameLayout frameWhite) + { + if (this.frameOtherMenuContr != null) + { + frameOtherMenuContr.RemoveAll(); + } + else + { + frameOtherMenuContr = new FrameListControl(26); + frameOtherMenuContr.Y = Application.GetRealHeight(698); + frameOtherMenuContr.Height = ControlCommonResourse.ListViewRowHeight * 4 + Application.GetRealHeight(26 * 4); + frameWhite.AddChidren(frameOtherMenuContr); + } + + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鏁版嵁澶囦唤 + var rowback = new FrameRowControl(frameOtherMenuContr.rowSpace / 2); + frameOtherMenuContr.AddChidren(rowback); + //鍚戝彸鍥炬爣 + var btnBackRight = rowback.AddRightArrow(); + btnBackRight.X -= ControlCommonResourse.XXLeft / 2; + //鍥炬爣 + var btnBackIcon = rowback.AddLeftIcon(); + btnBackIcon.X -= ControlCommonResourse.XXLeft / 2; + btnBackIcon.UnSelectedImagePath = "Center/Backup.png"; + //搴曠嚎 + var btnBackLine = rowback.AddBottomLine(); + btnBackLine.X -= ControlCommonResourse.XXLeft / 2; + //鏁版嵁澶囦唤View + var btnBackView = rowback.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDataBackup), 300); + btnBackView.X -= ControlCommonResourse.XXLeft / 2; + rowback.ButtonClickEvent += (sender, e) => + { + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥 + return; + } + var form = new HdlBackup.HdlBackupListForm(); + form.AddForm(); + }; + } + + //鎰忚鍙嶉 + var rowSuggestion = new FrameRowControl(frameOtherMenuContr.rowSpace / 2); + frameOtherMenuContr.AddChidren(rowSuggestion); + //鍚戝彸鍥炬爣 + var btnSuRight = rowSuggestion.AddRightArrow(); + btnSuRight.X -= ControlCommonResourse.XXLeft / 2; + //鍥炬爣 + var btnSuggestionIcon = rowSuggestion.AddLeftIcon(); + btnSuggestionIcon.X -= ControlCommonResourse.XXLeft / 2; + btnSuggestionIcon.UnSelectedImagePath = "Center/Opinion.png"; + //搴曠嚎 + var btnSuLine = rowSuggestion.AddBottomLine(); + btnSuLine.X -= ControlCommonResourse.XXLeft / 2; + //鎰忚鍙嶉View + var btnSuView = rowSuggestion.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.Suggestions), 300); + btnSuView.X -= ControlCommonResourse.XXLeft / 2; + rowSuggestion.ButtonClickEvent += (sender, e) => + { + var form = new Suggestion.FeedbackForm(); + form.AddForm(); + }; + + //鍏充簬鎴戜滑 + var rowAbount = new FrameRowControl(frameOtherMenuContr.rowSpace / 2); + frameOtherMenuContr.AddChidren(rowAbount); + //鍚戝彸鍥炬爣 + var btnAbountRight = rowAbount.AddRightArrow(); + btnAbountRight.X -= ControlCommonResourse.XXLeft / 2; + //鍥炬爣 + var btnAbountIcon = rowAbount.AddLeftIcon(); + btnAbountIcon.X -= ControlCommonResourse.XXLeft / 2; + btnAbountIcon.UnSelectedImagePath = "Center/Abount.png"; + //搴曠嚎 + var btnAbountLine = rowAbount.AddBottomLine(); + btnAbountLine.X -= ControlCommonResourse.XXLeft / 2; + //鍏充簬鎴戜滑View + var btnAbountView = rowAbount.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAboutMe), 300); + btnAbountView.X -= ControlCommonResourse.XXLeft / 2; + rowAbount.ButtonClickEvent += (sender, e) => + { + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥 + return; + } + var form = new Abount.AbountForm(); + form.AddForm(); + }; + + if (UserCenterResourse.HideOption.CenterHideMenu == 1) + { + //闅愬尶鑿滃崟 + var rowHide = new FrameRowControl(frameOtherMenuContr.rowSpace / 2); + frameOtherMenuContr.AddChidren(rowHide); + //鍚戝彸鍥炬爣 + var btnHideRight = rowHide.AddRightArrow(); + btnHideRight.X -= ControlCommonResourse.XXLeft / 2; + //鍥炬爣 + var btnHideIcon = rowHide.AddLeftIcon(); + btnHideIcon.X -= ControlCommonResourse.XXLeft / 2; + btnHideIcon.UnSelectedImagePath = "Center/Abount.png"; + //搴曠嚎 + var btnHideLine = rowHide.AddBottomLine(); + btnHideLine.X -= ControlCommonResourse.XXLeft / 2; + //闅愬尶鑿滃崟View + var btnHideView = rowHide.AddLeftCaption("闅愬尶鑿滃崟", 300); + btnHideView.X -= ControlCommonResourse.XXLeft / 2; + rowHide.ButtonClickEvent += (sender, e) => + { + var from = new HideOption.HideOptionMainForm(); + from.AddForm(); + }; + } + } + + #endregion + + #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________ + + /// <summary> + /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠� + /// </summary> + public override int FormActionAgainEvent() + { + //铏氭嫙浣忓畢涓嶉渶瑕佸埛鏂� + if (Common.Config.Instance.Home.IsVirtually == true) + { + return -1; + } + //鐢ㄦ埛澶村儚 + if (UserCenterResourse.UserInfo.UserIconFileChanged == true) + { + UserCenterResourse.UserInfo.UserIconFileChanged = false; + btnUserIcon.ImageBytes = Shared.IO.FileUtils.ReadFile(UserCenterResourse.UserInfo.UserIconFile); + } + //鐢ㄦ埛鍚嶅瓧 + btnUserName.Text = UserCenterResourse.UserInfo.UserName; + if (UserCenterResourse.UserInfo != null) + { + //鐢ㄦ埛韬唤 + btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; + } + //鐨囧啝 + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + this.btnImperialCrown.Visible = false; + } + else + { + this.btnImperialCrown.Visible = true; + } + + //鍒锋柊淇℃伅鎻愮ず鎺т欢 + this.msgControl?.RefreshStatu(); + + //鍒濆鍖栦富鑿滃崟鐨勬帶浠� + this.InitMainMenuInfoControl(null); + //鍒濆鍖栧叾浠栬彍鍗曠殑鎺т欢 + this.InitOtherMenuControl(null); + + return 1; + } + + #endregion + } +} -- Gitblit v1.8.0