mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs
@@ -11,13 +11,17 @@
    public class VideoDoorlockUserListPage : FrameLayout
    {
        FrameLayout bodyView;
        VerticalScrolViewLayout contentView;
        Function device;
        List<VideoDoorlockUser> userList;
        public VideoDoorlockUserListPage(Function function)
        {
            bodyView = this;
            device = function;
            userList = new List<VideoDoorlockUser>();
        }
        public void LoadPage()
@@ -26,12 +30,27 @@
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            var contentView = new VerticalScrolViewLayout()
            contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(667 - 70),
                Height = Application.GetRealHeight(607 - 70),
            };
            bodyView.AddChidren(contentView);
            var btnTip = new Button()
            {
                Y = Application.GetRealHeight(667 - 70),
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(60),
                TextAlignment = TextAlignment.TopLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.TextualColor,
                TextID = StringId.VideoDoorlockManagerTip,
                IsMoreLines = true,
            };
            bodyView.AddChidren(btnTip);
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
@@ -45,52 +64,11 @@
                    {
                        if (pack.Code == StateCode.SUCCESS)
                        {
                            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<VideoDoorlockUser>>(pack.Data.ToString());
                            if (list != null)
                            userList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<VideoDoorlockUser>>(pack.Data.ToString());
                            if (userList != null)
                            {
                                Application.RunOnMainThread(() => {
                                    foreach (var user in list)
                                    {
                                        contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                                        var row = new FrameLayout()
                                        {
                                            Gravity = Gravity.CenterHorizontal,
                                            Height = Application.GetRealHeight(50),
                                            Radius = (uint)Application.GetRealWidth(12),
                                            BackgroundColor = CSS_Color.MainBackgroundColor,
                                            Width = Application.GetRealWidth(343),
                                        };
                                        contentView.AddChidren(row);
                                        var btnRight = new Button()
                                        {
                                            X = Application.GetRealWidth(307),
                                            Gravity = Gravity.CenterVertical,
                                            Width = Application.GetMinRealAverage(16),
                                            Height = Application.GetMinRealAverage(16),
                                            UnSelectedImagePath = "Public/Right.png",
                                        };
                                        row.AddChidren(btnRight);
                                        var btnName = new Button()
                                        {
                                            X = Application.GetRealWidth(12),
                                            TextAlignment = TextAlignment.CenterLeft,
                                            TextColor = CSS_Color.FirstLevelTitleColor,
                                            TextSize = CSS_FontSize.TextFontSize,
                                            Text = user.lockUserName
                                        };
                                        row.AddChidren(btnName);
                                        btnName.MouseUpEventHandler = (sender, e) => {
                                            var page = new VideoDoorlockUserManagerPage(device, user);
                                            MainPage.BasePageView.AddChidren(page);
                                            page.LoadPage();
                                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                                        };
                                    }
                                    initView();
                                });
                            }
                        }
@@ -120,6 +98,65 @@
        }
        void initView()
        {
            contentView.RemoveAll();
            foreach (var user in userList)
            {
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                var row = new FrameLayout()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Height = Application.GetRealHeight(50),
                    Radius = (uint)Application.GetRealWidth(12),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                    Width = Application.GetRealWidth(343),
                };
                contentView.AddChidren(row);
                var btnRight = new Button()
                {
                    X = Application.GetRealWidth(307),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/Right.png",
                };
                row.AddChidren(btnRight);
                var btnName = new Button()
                {
                    X = Application.GetRealWidth(12),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = user.lockUserName
                };
                row.AddChidren(btnName);
                btnName.MouseUpEventHandler = (sender, e) => {
                    var page = new VideoDoorlockUserManagerPage(device, user);
                    page.delCallBackAction = () => {
                        userList.Remove(user);
                        initView();
                    };
                    page.updataUserNameAction = (name) => {
                        btnName.Text = name;
                        user.lockUserName = name;
                    };
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
            }
        }
    }
    public class VideoDoorlockUser