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