From af9c3e0b3b1eb370e966b3ca9db3f62848d4189b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 21 八月 2021 13:03:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/newBranch1' into WJC

---
 HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs |  387 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 343 insertions(+), 44 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs
index b3fbc04..5de018c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs
@@ -9,12 +9,28 @@
     public class ArmDeploymentSettingPage : FrameLayout
     {
         FrameLayout bodyView;
-        SecurityAlarm securityAlarm; 
+        /// <summary>
+        /// 涓婚鐣岄潰
+        /// </summary>
+        VerticalScrolViewLayout contentView;
+        /// <summary>
+        /// 杈撳叆鏉′欢鍒楄〃鍖哄煙鐣岄潰
+        /// </summary>
+        VerticalScrolViewLayout inputTargetView;
+        /// <summary>
+        /// 鍛婅鐩爣鍒楄〃鍖哄煙鐣岄潰
+        /// </summary>
+        VerticalScrolViewLayout outputTargetView;
 
-        public ArmDeploymentSettingPage(SecurityAlarm alarm )
+
+        SecurityAlarm securityAlarm;
+        Action refreshAction;
+
+        public ArmDeploymentSettingPage(SecurityAlarm alarm, Action action)
         {
             bodyView = this;
             securityAlarm = alarm;
+            refreshAction = action;
         }
 
         public void LoadPage()
@@ -23,9 +39,10 @@
 
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
-            VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
+            contentView = new VerticalScrolViewLayout()
             {
-                Height = Application.GetRealHeight(667 - 64),
+                Y = Application.GetRealHeight(64),
+                Height = Application.GetRealHeight(527),
             };
             bodyView.AddChidren(contentView);
 
@@ -44,6 +61,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 TextID = StringId.DeploymentInformation,
+                IsBold = true,
             };
             deploymentTitleRow.AddChidren(btnDeploymentTitle);
 
@@ -67,6 +85,7 @@
                 TextID = StringId.Name,
             };
             deploymentNameRow.AddChidren(btnDeploymentNameTitle);
+            btnDeploymentNameTitle.Text += ":";
 
             var btnDeploymentName = new Button()
             {
@@ -83,6 +102,7 @@
             LoadEvent_EditSecurityAlarmName(btnDeploymentName);
             #endregion
 
+            /*
             #region 瑙﹀彂寤舵椂
             var delayedRow = new FrameLayout()
             {
@@ -98,9 +118,10 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.Name,
+                TextID = StringId.TriggerDelay,
             };
             delayedRow.AddChidren(btnDelayedTitle);
+            btnDelayedTitle.Text += ":";
 
             var btnDelayedText = new Button()
             {
@@ -124,11 +145,111 @@
             delayedRow.AddChidren(btnDelayedRight);
 
             //delayedRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
-            LoadEvent_EditSecurityAlarmName(btnDelayedTitle);
             #endregion
+            */
 
             #endregion
             contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor });
+
+            //甯冮槻鍔熻兘
+            iniDefenseView();
+            //鍛婅鐩爣
+            iniAlarmView();
+
+            #region 搴曢儴鍖哄煙
+            var bottomView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(591),
+                Height = Application.GetRealHeight(100),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(22),
+            };
+            this.AddChidren(bottomView);
+
+            var btnConfrim = new Button()
+            {
+                X = Application.GetRealWidth(78),
+                Y = Application.GetRealHeight(12),
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(44),
+                Radius = (uint)Application.GetRealWidth(22),
+                BackgroundColor = CSS_Color.MainColor,
+                TextID = StringId.Confirm,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                TextAlignment = TextAlignment.Center,
+            };
+            bottomView.AddChidren(btnConfrim);
+
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
+                if (securityAlarm.input.Count == 0)
+                {
+                    var tip = new Tip()
+                    {
+                        Text = "璇烽�夋嫨甯冮槻鐩爣",
+                        CloseTime = 3,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip.Show(MainPage.BaseView);
+                    return;
+                }
+                if (securityAlarm.output.Count == 0)
+                {
+                    var tip = new Tip()
+                    {
+                        Text = "璇烽�夋嫨鍛婅鐩爣",
+                        CloseTime = 3,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip.Show(MainPage.BaseView);
+
+                    return;
+                }
+
+                var waitPage = new Loading();
+                waitPage.Start();
+                new System.Threading.Thread(() =>
+                {
+                    try
+                    {
+                        var code = securityAlarm.SaveInfo();
+                        if (code == StateCode.SUCCESS)
+                        {
+                            SecurityCenter.Security.GetSecurityAlarmList();
+                            Application.RunOnMainThread(() =>
+                            {
+                                this.RemoveFromParent();
+                                refreshAction?.Invoke();
+                            });
+                        }
+                        else
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                IMessageCommon.Current.ShowErrorInfoAlter(code);
+                            });
+                        }
+                    }
+                    catch { }
+                    finally
+                    {
+                        Application.RunOnMainThread(() => {
+                            waitPage.Hide();
+                        });
+                    }
+                })
+                { IsBackground = true }.Start();
+            };
+            #endregion
+
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栭儴鍒嗗姛鑳藉尯鍩�
+        /// </summary>
+        private void iniDefenseView()
+        {
 
             #region 甯冮槻鍔熻兘
             var deploymentFunctionRow = new FrameLayout()
@@ -144,15 +265,179 @@
                 TextColor = CSS_Color.MainColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.DeploymentInformation,
+                TextID = StringId.DefenseFunctionArmState,
+                IsBold = true,
             };
             deploymentFunctionRow.AddChidren(btnFunctionTitle);
 
+            var btnAddTarget = new Button()
+            {
+                X = Application.GetRealWidth(337),
+                Y = Application.GetRealHeight(6),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = "FunctionIcon/ArmCenter/AddTargetIcon.png",
+            };
+            deploymentFunctionRow.AddChidren(btnAddTarget);
+            ///娣诲姞杈撳叆鐩爣
+            btnAddTarget.MouseUpEventHandler = (sender, e) => {
+                Action<SecurityAlarm> action = (outTemp) => {
+                    securityAlarm = outTemp;
+                    iniInputTargetView();
+                };
+                var page = new AddInputPage(securityAlarm, action);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+
             deploymentFunctionRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
 
+            inputTargetView = new VerticalScrolViewLayout()
+            {
+                ScrollEnabled = false,
+            };
+            contentView.AddChidren(inputTargetView);
+
+            iniInputTargetView();
 
             #endregion
+            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor });
+
         }
+
+        /// <summary>
+        /// 鍒濆鍖栬緭鍏ユ潯浠跺尯鍩熺晫闈�
+        /// </summary>
+        /// <param name=""></param>
+        private void iniInputTargetView()
+        {
+            inputTargetView.RemoveAll();
+            if (securityAlarm.input.Count > 0)
+            {
+                foreach (var target in securityAlarm.input)
+                {
+                    inputTargetView.AddChidren(new InputRow(target.GetFunction().name, target.GetFunction().GetRoomListName(), target.StateText()));
+                }
+                inputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.input.Count);
+                //if (outputTargetView != null)
+                //{
+                //    contentView.AddChidren(outputTargetView);
+                //}
+            }
+            else
+            {
+                inputTargetView.AddChidren(new Button()
+                {
+                    Height = Application.GetRealHeight(65),
+                    TextAlignment = TextAlignment.Center,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextID = StringId.ThereIsNoAssociatedTaskDeploymentStatus,
+                    IsMoreLines = true,
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                });
+
+                inputTargetView.Height = Application.GetRealHeight(68);
+                //if(outputTargetView!= null)
+                //{
+                //    contentView.AddChidren(outputTargetView);
+                //}
+            }
+
+
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栧憡璀︾洰鏍囧尯鍩�
+        /// </summary>
+        private void iniAlarmView()
+        {
+            #region 鍛婅鐩爣
+            var outputRow = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(44),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            contentView.AddChidren(outputRow);
+
+            var btnOutputRowTitle = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                TextColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.AlarmTargetAfterTriggering,
+                IsBold = true,
+            };
+            outputRow.AddChidren(btnOutputRowTitle);
+
+            var btnAddOutTarget = new Button()
+            {
+                X = Application.GetRealWidth(337),
+                Y = Application.GetRealHeight(6),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = "FunctionIcon/ArmCenter/AddTargetIcon.png",
+            };
+            outputRow.AddChidren(btnAddOutTarget);
+
+            btnAddOutTarget.MouseUpEventHandler = (sender, e) => {
+                Action<SecurityAlarm> action = (outTemp) => {
+                    securityAlarm = outTemp;
+                    iniAlarmListView();
+                };
+                var page = new AddOutputPage(securityAlarm, action);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+
+            outputRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
+
+
+            outputTargetView = new VerticalScrolViewLayout()
+            {
+                ScrollEnabled = false,
+            };
+            contentView.AddChidren(outputTargetView);
+
+            iniAlarmListView();
+
+            #endregion
+            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor });
+
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栧憡璀﹀垪琛ㄥ尯鍩�
+        /// </summary>
+        private void iniAlarmListView()
+        {
+            outputTargetView.RemoveAll();
+            if (securityAlarm.output.Count > 0)
+            {
+                foreach (var outTarget in securityAlarm.output)
+                {
+                    outputTargetView.AddChidren(new OutputRow(outTarget.GetFunction().name, outTarget.GetFunction().GetRoomListName(), "鎵撳紑"));
+                }
+                outputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.output.Count);
+            }
+            else
+            {
+                outputTargetView.AddChidren(new Button()
+                {
+                    Height = Application.GetRealHeight(65),
+                    TextAlignment = TextAlignment.Center,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextID = StringId.ThereIsNoAssociatedTaskDeploymentStatus,
+                    IsMoreLines = true,
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                });
+            }
+        }
+
 
         /// <summary>
         /// 淇敼瀹夐槻鍚嶇О
@@ -163,51 +448,65 @@
             {
                 Action<string> callBack = (str) =>
                 {
-                    var waitPage = new Loading();
-                    bodyView.AddChidren(waitPage);
-                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
-                    new System.Threading.Thread(() =>
+                    //鍚嶇О涓嶈兘涓虹┖
+                    if (string.IsNullOrEmpty(str))
                     {
-                        try
+                        new Tip()
                         {
-                            securityAlarm.name = str;
-                            var responsePack = new HttpServerRequest().EditSecurity(new List<SecurityAlarm>() { securityAlarm});
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.NameCannotBeEmpty),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(bodyView);
+                        return;
+                    }
 
-                            if (responsePack.Code == StateCode.SUCCESS)
-                            {
-                                Application.RunOnMainThread(() =>
-                                {
-                                    btnDeploymentName.Text = str;
-                                });
-                            }
-                            else
-                            {
-                                IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
-                            }
-                        }
-                        catch (Exception ex)
-                        {
-                            MainPage.Log($"update user name error : {ex.Message}");
-                        }
-                        finally
-                        {
-                            Application.RunOnMainThread(() =>
-                            {
-                                if (waitPage != null)
-                                {
-                                    waitPage.RemoveFromParent();
-                                    waitPage = null;
-                                }
-                            });
-                        }
-                    })
-                    { IsBackground = true }.Start();
+
+                    btnDeploymentName.Text = securityAlarm.name = str;
+
+                    //var waitPage = new Loading();
+                    //bodyView.AddChidren(waitPage);
+                    //waitPage.Start(Language.StringByID(StringId.PleaseWait));
+                    //new System.Threading.Thread(() =>
+                    //{
+                    //    try
+                    //    {
+                    //        securityAlarm.name = str;
+                    //        var responsePack = new HttpServerRequest().EditSecurity(new List<SecurityAlarm>() { securityAlarm});
+                    //        if (responsePack.Code == StateCode.SUCCESS)
+                    //        {
+                    //            Application.RunOnMainThread(() =>
+                    //            {
+                    //                btnDeploymentName.Text = str;
+                    //            });
+                    //        }
+                    //        else
+                    //        {
+                    //            IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
+                    //        }
+                    //    }
+                    //    catch (Exception ex)
+                    //    {
+                    //        MainPage.Log($"update user name error : {ex.Message}");
+                    //    }
+                    //    finally
+                    //    {
+                    //        Application.RunOnMainThread(() =>
+                    //        {
+                    //            if (waitPage != null)
+                    //            {
+                    //                waitPage.RemoveFromParent();
+                    //                waitPage = null;
+                    //            }
+                    //        });
+                    //    }
+                    //})
+                    //{ IsBackground = true }.Start();
                 };
                 new PublicAssmebly().LoadDialog_EditParater(StringId.Name, securityAlarm.name, callBack, StringId.NameCannotBeEmpty, 0, new List<string>());
             };
             btnDeploymentName.MouseUpEventHandler = eventHandler;
         }
 
-
     }
+
 }

--
Gitblit v1.8.0