using System; using Shared; using HDL_ON.UI.CSS; using HDL_ON.Stan; using HDL_ON.Entity; using System.Collections.Generic; namespace HDL_ON.UI { /// /// 管理员权限迁移的成员列表界面 /// public class AdminMigrationMemberListPage : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 成员列表 /// private List listMember = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //管理员权限转移 base.SetTitleText(Language.StringByID(StringId.AdminAuthorityTransfer)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { HdlThreadLogic.Current.RunThread(() => { this.ShowProgressBar(); //获取成员列表 var responePack = new DAL.Server.HttpServerRequest().GetResidenceMemberAccount(); if (responePack.Code != DAL.Server.StateCode.SUCCESS) { //提示 DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); this.CloseProgressBar(ShowReLoadMode.YES); return; } this.CloseProgressBar(); this.listMember = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString()); if (listMember.Count == 0) { //检测不到可供选择的成员 HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.NotHadMemberToSelect)); return; } HdlThreadLogic.Current.RunMain(() => { //列表控件 var listView = new VerticalListControl(); listView.Height = bodyFrameLayout.Height; listView.BackgroundColor = CSS_Color.MainBackgroundColor; bodyFrameLayout.AddChidren(listView); var listIcon = new List(); for (int i = 0; i < listMember.Count; i++) { //添加成员行控件 var btnIcon = this.AddMemberRowcontrol(listView, listMember[i], i != listMember.Count - 1); listIcon.Add(btnIcon); } //调整桌布高度 listView.AdjustRealHeight(0); //获取成员头像 this.DownLoadUserIcon(listIcon); }); }); } #endregion #region ■ 添加成员行控件_____________________ /// /// 添加成员行控件 /// /// 列表控件 /// 成员信息 /// 是否添加底线 private ImageView AddMemberRowcontrol(VerticalListControl listView, ResidenceMemberInfo memberInfo, bool addLine) { //行控件 var rowContr = new FrameRowControl(); rowContr.Height = Application.GetRealHeight(65); listView.AddChidren(rowContr); //头像(初始) var btnIcon = new ImageView(); btnIcon.X = HdlControlResourse.XXLeft; btnIcon.Width = this.GetPictrueRealSize(36); btnIcon.Height = this.GetPictrueRealSize(36); btnIcon.Gravity = Gravity.CenterVertical; btnIcon.Radius = (uint)this.GetPictrueRealSize(36) / 2; btnIcon.ImagePath = "LoginIcon/2.png"; rowContr.AddChidren(btnIcon); //昵称 var nickName = string.IsNullOrEmpty(memberInfo.nickName) == true ? memberInfo.memberName : memberInfo.nickName; var btnName = rowContr.AddTopView(nickName, 200); btnName.TextColor = CSS_Color.textColor; btnName.X = btnIcon.Right + Application.GetRealWidth(12); btnName.Y = Application.GetRealHeight(12); //邮箱或者手机号 var strPhone = string.IsNullOrEmpty(memberInfo.childAccountPhone) == true ? memberInfo.childAccountEmail : memberInfo.childAccountPhone; var btnPhone = rowContr.AddBottomView(strPhone, 200); btnPhone.X = btnName.X; btnPhone.Y = btnName.Bottom + Application.GetRealHeight(4); //右箭头 rowContr.AddRightArrow(); //底线 if (addLine == true) { rowContr.AddBottomLine(); } rowContr.ButtonClickEvent += (sender, e) => { var form = new AdminMigrationMemberConfirmPage(); form.AddForm(memberInfo); }; return btnIcon; } #endregion #region ■ 获取成员头像_______________________ /// /// 获取成员头像 /// /// 头像控件列表,它的索引和this.listMember一致 private void DownLoadUserIcon(List listIcon) { HdlThreadLogic.Current.RunThread(() => { for (int i = 0; i < this.listMember.Count; i++) { var resultData = ImageUtlis.Current.DownHeadImageByImageKey(this.listMember[i].memberHeadIcon, false, this.listMember[i].childAccountRegionUrl); if (this.Parent == null) { //界面已经关闭 return; } if (resultData != null && resultData.Length > 0) { int nowIndex = i; HdlThreadLogic.Current.RunMain(() => { listIcon[nowIndex].ImageBytes = resultData; }, ShowErrorMode.NO); } System.Threading.Thread.Sleep(200); } }, ShowErrorMode.NO); } #endregion } }