From 3c8f41f50076a3b904705ef9f94d1a827ecd8c52 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 28 八月 2021 15:43:19 +0800
Subject: [PATCH] 2021-8-28-4

---
 HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs |  260 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 228 insertions(+), 32 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
index 6ab343a..6f1d164 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Shared;
@@ -9,7 +10,31 @@
         /// <summary>
         /// 涓荤獥浣�
         /// </summary>
-        FrameLayout bodyView;
+        public static ArmCenterPage bodyView;
+        /// <summary>
+        /// 鑷畾涔夊竷闃插尯鍩�
+        /// </summary>
+        HorizontalScrolViewLayout customDeploymentView;
+        /// <summary>
+        /// 
+        /// </summary>
+        FrameLayout alarmIconBgView;
+        //瀹夐槻鐘舵�佽儗鏅浘
+        Button btnArmTipIcon;
+        /// <summary>
+        /// 瀹夐槻璀︽姤鍥炬爣
+        /// </summary>
+        Button btnInalarmIcon;
+        /// <summary>
+        /// 褰撳墠甯冮槻鍚嶇О
+        /// </summary>
+        Button btnDefenseName;
+
+        /// <summary>
+        /// 鎾ら槻鍖哄煙
+        /// </summary>
+        FrameLayout disarmView;
+
         public ArmCenterPage()
         {
             bodyView = this;
@@ -37,25 +62,96 @@
                 Height =Application.GetRealWidth(32),
             });
 
-            //瀹夐槻鐘舵�佽儗鏅浘
-            Button btnArmTipIcon = new Button()
+            alarmIconBgView = new FrameLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(198),
                 Height = Application.GetRealWidth(198),
+            };
+            contentView.AddChidren(alarmIconBgView);
+
+            btnArmTipIcon = new Button()
+            {
+                //Gravity = Gravity.CenterHorizontal,
+                //Width = Application.GetRealWidth(198),
+                //Height = Application.GetRealWidth(198),
                 UnSelectedImagePath = "FunctionIcon/ArmCenter/NoDefenseBigIcon.png",
                 SelectedImagePath = "FunctionIcon/ArmCenter/InDefenseBigIcon.png",
             };
-            contentView.AddChidren(btnArmTipIcon);
+            alarmIconBgView.AddChidren(btnArmTipIcon);
+
+            btnInalarmIcon = new Button()
+            {
+                Width = Application.GetRealWidth(198),
+                Height = Application.GetRealWidth(198),
+            };
+            btnInalarmIcon.MouseUpEventHandler = (sender, e) => {
+                if(SecurityCenter.Ins.InDefenseMode!= null)
+                {
+                    SecurityCenter.Ins.InDefenseMode.alarm = false;
+                    Control.Ins.ControlSecurity(SecurityCenter.Ins.InDefenseMode, "enable");
+                }
+            };
+            InitAlarmStatus(SecurityCenter.Ins.InAlarm);
+
+
+            btnDefenseName = new Button()
+            {
+                Y = Application.GetRealWidth(117),
+                Height = Application.GetRealHeight(81),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextColor =  CSS_Color.MainBackgroundColor,
+            };
+            alarmIconBgView.AddChidren(btnDefenseName);
 
             contentView.AddChidren(new Button()
             {
                 Height = Application.GetRealWidth(16),
             });
 
-            #region 鑷畾涔夊竷闃�
-            //鑷畾涔夊竷闃叉爣棰�
-            Button btnCustomDeploymentTitle = new Button()
+
+            #region 鎾ら槻鍖哄煙
+            Button btnDisarm;
+            disarmView = new FrameLayout()
+            {
+                Height = 0,
+            };
+            contentView.AddChidren(disarmView);
+
+            btnDisarm = new Button()
+            {
+                Y = Application.GetRealHeight(10),
+                Width = Application.GetRealWidth(148),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.MainBackgroundColor,
+                Text = "鎾ら槻",
+                Radius = (uint)Application.GetRealWidth(20),
+                Gravity = Gravity.CenterHorizontal,
+            };
+            disarmView.AddChidren(btnDisarm);
+            btnDisarm.MouseUpEventHandler = (sender, e) => {
+                //foreach (var temp in FunctionList.List.securities)
+                //{
+                //    if (temp.status == "enable")
+                //    {
+                //        Control.Ins.ControlSecurity(temp, "disable");
+                //        break;
+                //    }
+                //}
+                if(SecurityCenter.Ins.InDefenseMode!= null)
+                {
+                    Control.Ins.ControlSecurity(SecurityCenter.Ins.InDefenseMode, "disable");
+                }
+            };
+
+                #endregion
+
+                #region 鑷畾涔夊竷闃�
+                //鑷畾涔夊竷闃叉爣棰�
+                Button btnCustomDeploymentTitle = new Button()
             {
                 X = Application.GetRealWidth(24),
                 Height = Application.GetRealWidth(54),
@@ -67,7 +163,7 @@
             };
             contentView.AddChidren(btnCustomDeploymentTitle);
 
-            HorizontalScrolViewLayout customDeploymentView = new HorizontalScrolViewLayout()
+            customDeploymentView = new HorizontalScrolViewLayout()
             {
                 X = Application.GetRealWidth(23),
                 Height = Application.GetRealWidth(80),
@@ -75,28 +171,7 @@
             };
             contentView.AddChidren(customDeploymentView);
 
-            //customDeploymentView.AddChidren(new Button()
-            //{
-            //    Width = Application.GetRealWidth(23),
-            //});
-            var view = new ArmDiyView("FunctionIcon/ArmCenter/AtHomeDefenseIcon.png", "FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png",
-                Language.StringByID(StringId.HouseDefense));
-            customDeploymentView.AddChidren(view);
-            EventHandler<MouseEventArgs> event1 = (sender, e) =>
-            {
-               ShowArmDialog(new SecurityAlarm());
-            };
-            view.SetClickEvent(event1);
-            
 
-            if(FunctionList.List.securities.Count>3)
-            {
-                customDeploymentView.ScrollEnabled = true;
-            }
-
-            foreach (var mode in FunctionList.List.securities)
-            {
-            }
             #endregion
 
             contentView.AddChidren(new Button()
@@ -104,6 +179,8 @@
                 Height = Application.GetRealHeight(20),
             });
 
+            #region 鍥哄畾甯冮槻鍖哄煙
+            /*
             var fixedDeploymentView = new FrameLayout()
             {
                 Height = Application.GetRealHeight(133),
@@ -134,7 +211,6 @@
             };
             fixedDeploymentView.AddChidren(btnFixedDeploymentTip);
 
-            //鍥哄畾甯冮槻鍖哄煙
             var fixedDeploymentTypeView = new HorizontalScrolViewLayout()
             {
                 Y = btnFixedDeploymentTip.Bottom + Application.GetRealHeight(15),
@@ -148,7 +224,7 @@
                 Width = Application.GetRealWidth(24),
             });
 
-
+            #endregion
 
 
             //鐏惧鎶ヨ
@@ -163,10 +239,77 @@
             //闃茬洍鎶ヨ
             var burglarAlarmView = new FixedArmView("FunctionIcon/ArmCenter/BurglarAlarmIcon.png", Language.StringByID(StringId.BurglarAlarm), Language.StringByID(StringId.AlarmMute));
             fixedDeploymentTypeView.AddChidren(burglarAlarmView);
+            */
+            #endregion
+
+
+
+
+            ///鍒锋柊鐣岄潰
+            LoadEvent_RefreshSecurityStatus();
 
         }
 
+        public void InitAlarmStatus(bool inAlarm)
+        {
+            try
+            {
+                if (inAlarm)
+                {
+                    alarmIconBgView.AddChidren(btnInalarmIcon);
+                }
+                else
+                {
+                    btnInalarmIcon.RemoveFromParent();
+                }
+            }
+            catch { }
+        }
 
+        /// <summary>
+        /// 鍒濆鍖栬嚜瀹氫箟甯冮槻鍖哄煙
+        /// </summary>
+        private void iniCustomDeploymentView()
+        {
+            customDeploymentView.RemoveAll();
+
+            foreach (var mode in FunctionList.List.securities)
+            {
+                var armDiyView = new ArmDiyView("FunctionIcon/ArmCenter/AtHomeDefenseIcon.png", "FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png",
+                mode.name);
+                customDeploymentView.AddChidren(armDiyView);
+                EventHandler<MouseEventArgs> event2 = (sender, e) =>
+                {
+                    ShowArmDialog(mode);
+                };
+                armDiyView.SetClickEvent(event2);
+                if (mode.status == "enable")
+                {
+                    armDiyView.LightingView(true);
+                }
+            }
+
+            if (FunctionList.List.securities.Count < 4)
+            {
+                var view = new ArmDiyView("FunctionIcon/ArmCenter/AddDefenseIcon.png", "FunctionIcon/ArmCenter/AddDefenseIcon.png",
+                  Language.StringByID(StringId.Custom));
+                customDeploymentView.AddChidren(view);
+                EventHandler<MouseEventArgs> event1 = (sender, e) =>
+                {
+                    Action refreshAction = () =>
+                    {
+                        iniCustomDeploymentView();
+                    };
+
+                    var addDefensePage = new AddAlarmDeploymentPage(new SecurityAlarm(), refreshAction);
+                    MainPage.BasePageView.AddChidren(addDefensePage);
+                    addDefensePage.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+                view.SetClickEvent(event1);
+            }
+
+        }
 
         private void ShowArmDialog(SecurityAlarm alarm)
         {
@@ -231,10 +374,31 @@
 
             dialog.Show();
 
+            if(alarm.status == "enable")
+            {
+                btnOpen.TextColor = CSS_Color.PromptingColor1;
+                btnOpen.Text = Language.StringByID(StringId.AlreadyOpened).Trim() ;
+            }
+
+            btnOpen.MouseUpEventHandler = (sender, e) => {
+                if (alarm.status == "disable")
+                {
+                    Control.Ins.ControlSecurity(alarm, "enable");
+                }else
+                {
+                    Control.Ins.ControlSecurity(alarm, "disable");
+                }
+                dialog.Close();  
+            };
+
 
             btnCheckModify.MouseUpEventHandler = (sender, e) => {
                 dialog.Close();
-                var armSetPage = new ArmDeploymentSettingPage(alarm);
+                Action refreshAction = () =>
+                {
+                    iniCustomDeploymentView();
+                };
+                var armSetPage = new AddAlarmDeploymentPage(alarm,refreshAction);
                 MainPage.BasePageView.AddChidren(armSetPage);
                 armSetPage.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -247,7 +411,31 @@
 
         }
 
+        public static void LoadEvent_RefreshSecurityStatus()
+        {
+            Application.RunOnMainThread(() =>
+            {
+                if (bodyView != null)
+                {
+                    bodyView.iniCustomDeploymentView();
+                    bodyView.disarmView.Height = 0;
+                    bodyView.btnArmTipIcon.IsSelected = false;
+                    bodyView.btnDefenseName.Text = "";
+                    foreach (var temp in FunctionList.List.securities)
+                    {
+                        if (temp.status == "enable")
+                        {
+                            bodyView.disarmView.Height = Application.GetRealHeight(68);
+                            bodyView.btnArmTipIcon.IsSelected = true;
+                            bodyView.btnDefenseName.Text = temp.name;
 
+                            bodyView.InitAlarmStatus(temp.alarm);
+                            break;
+                        }
+                    }
+                }
+            });
+        }
     }
 
 
@@ -298,6 +486,14 @@
             btnText.MouseUpEventHandler = eventHandler;
         }
 
+        /// <summary>
+        /// 鐐逛寒鍖哄煙
+        /// </summary>
+        public void LightingView(bool seleted)
+        {
+            btnIcon.IsSelected = seleted;
+        }
+
 
     }
 

--
Gitblit v1.8.0