From 557c8c4f75aafc97533721766272410042440d34 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期六, 21 八月 2021 11:00:29 +0800 Subject: [PATCH] 安防功能 --- HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs | 532 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 319 insertions(+), 213 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs index cb86ac7..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,10 +39,10 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; - VerticalScrolViewLayout contentView = new VerticalScrolViewLayout() + contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(667 - 64), + Height = Application.GetRealHeight(527), }; bodyView.AddChidren(contentView); @@ -86,54 +102,156 @@ LoadEvent_EditSecurityAlarmName(btnDeploymentName); #endregion + /* #region 瑙﹀彂寤舵椂 - //var delayedRow = new FrameLayout() - //{ - // Height = Application.GetRealHeight(50), - // BackgroundColor = CSS_Color.MainBackgroundColor, - //}; - //contentView.AddChidren(delayedRow); + var delayedRow = new FrameLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(delayedRow); - //var btnDelayedTitle = new Button() - //{ - // X = Application.GetRealWidth(16), - // Width = Application.GetRealWidth(72), - // TextAlignment = TextAlignment.CenterLeft, - // TextColor = CSS_Color.FirstLevelTitleColor, - // TextSize = CSS_FontSize.TextFontSize, - // TextID = StringId.Name, - //}; - //delayedRow.AddChidren(btnDelayedTitle); + var btnDelayedTitle = new Button() + { + X = Application.GetRealWidth(16), + Width = Application.GetRealWidth(72), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.TriggerDelay, + }; + delayedRow.AddChidren(btnDelayedTitle); + btnDelayedTitle.Text += ":"; - //var btnDelayedText = new Button() - //{ - // X = Application.GetRealWidth(88), - // Width = Application.GetRealWidth(230), - // TextAlignment = TextAlignment.CenterLeft, - // TextColor = CSS_Color.TextualColor, - // TextSize = CSS_FontSize.TextFontSize, - // Text = securityAlarm.name - //}; - //delayedRow.AddChidren(btnDelayedText); + var btnDelayedText = new Button() + { + X = Application.GetRealWidth(88), + Width = Application.GetRealWidth(230), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.TextFontSize, + Text = securityAlarm.name + }; + delayedRow.AddChidren(btnDelayedText); - //var btnDelayedRight = new Button() - //{ - // X = Application.GetRealWidth(343), - // Gravity = Gravity.CenterVertical, - // Width = Application.GetMinRealAverage(16), - // Height = Application.GetMinRealAverage(16), - // UnSelectedImagePath = "Public/RightIcon.png", - //}; - //delayedRow.AddChidren(btnDelayedRight); + var btnDelayedRight = new Button() + { + X = Application.GetRealWidth(343), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/RightIcon.png", + }; + delayedRow.AddChidren(btnDelayedRight); - ////delayedRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); - //LoadEvent_EditSecurityAlarmName(btnDelayedTitle); + //delayedRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); #endregion + */ #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor }); - #region 甯冮槻鍔熻兘\鎶ヨ鐘舵�� + //甯冮槻鍔熻兘 + 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() { Height = Application.GetRealHeight(44), @@ -161,24 +279,80 @@ 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 }); - var inputTargetView = new VerticalScrolViewLayout() + inputTargetView = new VerticalScrolViewLayout() { ScrollEnabled = false, }; contentView.AddChidren(inputTargetView); - foreach (var target in securityAlarm.input) - { - inputTargetView.AddChidren(new InputRow(target.GetFunction().name, target.GetFunction().GetRoomListName())); - } - inputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.input.Count); + + 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() { @@ -207,22 +381,63 @@ 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 }); - var outputTargetView = new VerticalScrolViewLayout() + outputTargetView = new VerticalScrolViewLayout() { ScrollEnabled = false, }; contentView.AddChidren(outputTargetView); - foreach(var outTarget in securityAlarm.output) - { - inputTargetView.AddChidren(new OutputRow(outTarget.GetFunction().name, outTarget.GetFunction().GetRoomListName(),"")); - } - outputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.output.Count); + + 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> /// 淇敼瀹夐槻鍚嶇О @@ -233,174 +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; } - } - /// <summary> - /// 杈撳叆鏉′欢琛屾帶浠� - /// </summary> - public class InputRow : RowLayout - { - Button btnTitle; - - Button btnSubTitle; - - public InputRow(string title,string subtitle) - { - this.LineColor = 0x00000000; - this.Height = Application.GetRealHeight(65); - this.BackgroundColor = CSS_Color.MainBackgroundColor; - - btnTitle = new Button() - { - X = Application.GetRealWidth(16), - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(320), - Text = title, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - }; - this.AddChidren(btnTitle); - - btnSubTitle = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(24), - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(320), - Text = subtitle, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - this.AddChidren(btnSubTitle); - - } - - public void SetClickEvent(EventHandler<MouseEventArgs> eventHandler) - { - this.MouseUpEventHandler = eventHandler; - btnTitle.MouseUpEventHandler = eventHandler; - btnSubTitle.MouseUpEventHandler = eventHandler; - } - } - - /// <summary> - /// 杈撳嚭鏉′欢鎺т欢 - /// </summary> - public class OutputRow : RowLayout - { - Button btnTitle; - - Button btnSubTitle; - - Button btnState; - - Button btnRightIcon; - - public OutputRow(string title, string subtitle,string state) - { - this.LineColor = 0x00000000; - this.Height = Application.GetRealHeight(65); - this.BackgroundColor = CSS_Color.MainBackgroundColor; - - btnTitle = new Button() - { - X = Application.GetRealWidth(16), - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(320), - Text = title, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - }; - this.AddChidren(btnTitle); - - btnSubTitle = new Button() - { - X = Application.GetRealWidth(16), - Y = Application.GetRealHeight(24), - Height = Application.GetRealHeight(44), - Width = Application.GetRealWidth(320), - Text = subtitle, - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - this.AddChidren(btnSubTitle); - - btnState = new Button() - { - Width = Application.GetRealWidth(323), - TextAlignment = TextAlignment.CenterRight, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.PromptingColor1, - Text = state - }; - this.AddChidren(btnState); - - btnRightIcon = new Button() - { - X = Application.GetRealWidth(339), - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "FunctionIcon/ArmCenter/RightIcon.png", - }; - this.AddChidren(btnRightIcon); - } - - public void SetClickEvent(EventHandler<MouseEventArgs> eventHandler) - { - btnState.MouseUpEventHandler = eventHandler; - btnTitle.MouseUpEventHandler = eventHandler; - btnSubTitle.MouseUpEventHandler = eventHandler; - } - } } -- Gitblit v1.8.0