From 7bea8bc6d399e9097e3565c2eed48ee6145d6b2f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 七月 2023 20:49:11 +0800
Subject: [PATCH] 萤石猫眼,门锁,摄像头功能对接

---
 HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs |  108 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 63 insertions(+), 45 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs
index c8d91ad..f1b120c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs
+++ b/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,7 +30,7 @@
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
 
-            var contentView = new VerticalScrolViewLayout()
+            contentView = new VerticalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(64),
                 Height = Application.GetRealHeight(667 - 70),
@@ -45,52 +49,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 +83,61 @@
 
         }
 
+
+        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();
+                    };
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+            }
+
+
+        }
+
+
     }
 
     public class VideoDoorlockUser

--
Gitblit v1.8.0