mac
2024-07-25 f9181a9c8125136f597add7c30cb2ff508d54ba7
HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs
@@ -1,18 +1,143 @@
using System;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
{
    public class VisitorHistoryPage : FrameLayout
    {
        FrameLayout bodyView;
        private FrameLayout bodyView;
        private VerticalScrolViewLayout bodyScrolView;
        private List<VisitorTempPassword> pwdList;
        public VisitorHistoryPage()
        Action backAction;// 后退按键,刷新UI
        Action action;
        public override void RemoveFromParent()
        {
            backAction?.Invoke();
            base.RemoveFromParent();
        }
        public VisitorHistoryPage(Action action)
        {
            backAction = action;
            bodyView = this;
        }
        public void LoadPage()
        {
            action = () =>
            {
                LoadPage();
            };
            pwdList = getVisitorPasswordData();
            #region 访客记录按钮
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorRecord)).LoadTopView();
            #endregion
            bodyScrolView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64),
                VerticalScrollBarEnabled = false,
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            bodyView.AddChidren(bodyScrolView);
            foreach (VisitorTempPassword temPwd in pwdList)
            {
                FrameLayout itemLayout = new FrameLayout()
                {
                    X = Application.GetRealWidth(16),
                    Height = Application.GetRealWidth(50),
                    Width = Application.GetRealWidth(343),
                };
                // 访客二维码Text
                itemLayout.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(20),
                    Y = Application.GetRealWidth(6),
                    Text = Language.StringByID(StringId.VisitorInvitationRecord),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.text1Color,
                    TextSize = CSS_FontSize.TextFontSize,
                });
                // 时间Btn
                string startTime = temPwd.validBeginTime.Replace("-", "/");
                string endTime = temPwd.validEndTime.Replace("-", "/");
                itemLayout.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(14),
                    Y = Application.GetRealWidth(30),
                    Text = Language.StringByID(StringId.Time) + ":" + startTime + " - " + endTime,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                });
                // 后退
                itemLayout.AddChidren(new ImageView()
                {
                    Width = Application.GetRealWidth(16),
                    Height = Application.GetRealWidth(16),
                    Gravity = Gravity.CenterRight,
                    ImagePath = "Public/Right.png",
                });
                itemLayout.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(1),
                    Y = Application.GetRealWidth(49),
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
                Button btn = new Button();
                itemLayout.AddChidren(btn);//+= (sender, e)
                btn.MouseUpEventHandler += (sender, e) =>
                {
#if __IOS__
#else
                    VisitorQRCodePage page = new VisitorQRCodePage(action, temPwd);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
#endif
                };
                bodyScrolView.AddChidren(itemLayout);
            }
        }
        /// <summary>
        /// 获取访客临时密码列表
        /// </summary>
        private List<VisitorTempPassword> getVisitorPasswordData()
        {
            List<VisitorTempPassword> dataList = new List<VisitorTempPassword>();
            Dictionary<string, object> dictionary = new Dictionary<string, object>();
            dictionary.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.id);
            dictionary.Add("pageNo", 1);
            dictionary.Add("pageSize", 100);
            dictionary.Add("order", "descending");
            dictionary.Add("sort", "id");
            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
            ResponsePackNew pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GET_TEMP_PASSWORD_LIST, requestJson);
            if (pack != null)
            {
                if (pack.Code == StateCode.SUCCESS)
                {
                    string json = pack.Data.ToString();
                    var o = Newtonsoft.Json.JsonConvert.DeserializeObject<GetTempPasswordList>(json);
                    dataList = o.list;
                }
            }
            return dataList;
        }
    }
}
}