From 07c91e3b27d10bad17ad2f805aab7b74e24fad2b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 06 十一月 2023 14:58:48 +0800 Subject: [PATCH] 场景增加配置自动化使能;安防增加干接点触发条件 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 284 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 237 insertions(+), 47 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs index 4373932..f1d18b8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs @@ -98,8 +98,10 @@ public void LoadPage(Action backRefresh) { - //DB_ResidenceData.Instance.sceneChooseRoomId - new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh); + var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)); + topView.maginY = 10; + topView.LoadTopView(backRefresh); + initPage(); } @@ -109,8 +111,8 @@ VerticalScrolViewLayout contentView = new VerticalScrolViewLayout() { - Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(603-50), + Y = Application.GetRealHeight(64 + 10), + Height = Application.GetRealHeight(603-50-10), }; bodyView.AddChidren(contentView); contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12) }); @@ -552,26 +554,6 @@ }; row.AddChidren(btnFunctionInfo); - var btnFunctionDelayInfo = new Button() - { - Width = Application.GetRealWidth(327), - Y = Application.GetRealWidth(35), - Height = Application.GetRealWidth(32), - TextAlignment = TextAlignment.TopRight, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - row.AddChidren(btnFunctionDelayInfo); - - if (!string.IsNullOrEmpty(scenefunction.delay) && Convert.ToInt32( scenefunction.delay) > 0) - { - btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText(); - } - else - { - btnFunctionDelayInfo.Text = Language.StringByID(StringId.NoDelay); - } - var btnFunctionName = new Button() { X = Application.GetRealWidth(16), @@ -583,31 +565,72 @@ }; row.AddChidren(btnFunctionName); - var btnFunctionFloorAndRoom = new Button() + if (scenefunction.type == "7") { - X = Application.GetRealWidth(16), - Y = Application.GetRealWidth(24), - Height = Application.GetRealWidth(41), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.TextFontSize, - Text = scenefunction.localFunction.GetRoomListName(), - }; - row.AddChidren(btnFunctionFloorAndRoom); + btnFunctionName.Gravity = Gravity.CenterVertical; + btnFunctionInfo.TextAlignment = TextAlignment.CenterRight; + btnFunctionInfo.Gravity = Gravity.CenterVertical; - EventHandler<MouseEventArgs> skipEvent = (sender, e) => + btnFunctionName.MouseUpEventHandler = (sender, e) => { + try + { + LoadAutomationSettingDialog(scenefunction, btnFunctionInfo); + } + catch (Exception ex) + { + MainPage.Log($"load automation error : {ex.Message}"); + } + }; + } + else { - var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction); - MainPage.BasePageView.AddChidren(ssf); - ssf.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - btnFunctionName.MouseUpEventHandler = skipEvent; - btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent; - btnFunctionDelayInfo.MouseUpEventHandler = skipEvent; - btnFunctionInfo.MouseUpEventHandler = skipEvent; - btnRight.MouseUpEventHandler = skipEvent; - row.MouseUpEventHandler = skipEvent; + var btnFunctionDelayInfo = new Button() + { + Width = Application.GetRealWidth(327), + Y = Application.GetRealWidth(35), + Height = Application.GetRealWidth(32), + TextAlignment = TextAlignment.TopRight, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + row.AddChidren(btnFunctionDelayInfo); + + if (!string.IsNullOrEmpty(scenefunction.delay) && Convert.ToInt32(scenefunction.delay) > 0) + { + btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText(); + } + else + { + btnFunctionDelayInfo.Text = Language.StringByID(StringId.NoDelay); + } + + + var btnFunctionFloorAndRoom = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealWidth(24), + Height = Application.GetRealWidth(41), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.TextFontSize, + Text = scenefunction.localFunction.GetRoomListName(), + }; + row.AddChidren(btnFunctionFloorAndRoom); + + EventHandler<MouseEventArgs> skipEvent = (sender, e) => + { + var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction); + MainPage.BasePageView.AddChidren(ssf); + ssf.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + btnFunctionName.MouseUpEventHandler = skipEvent; + btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent; + btnFunctionDelayInfo.MouseUpEventHandler = skipEvent; + btnFunctionInfo.MouseUpEventHandler = skipEvent; + btnRight.MouseUpEventHandler = skipEvent; + row.MouseUpEventHandler = skipEvent; + } Button btnDelSceneFunction = new Button() { BackgroundColor = CSS_Color.WarningColor, @@ -712,6 +735,172 @@ } + + /// <summary> + /// 鍔犺浇鑷姩鍖栭厤缃脊绐� + /// </summary> + void LoadAutomationSettingDialog(SceneFunction temp, Button btnTipText) + { + Dialog dialog = new Dialog(); + + var pView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(pView); + + var optionBaseView = new FrameLayout() + { + Y = Application.GetRealHeight(500), + Height = Application.GetRealHeight(160), + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + }; + pView.AddChidren(optionBaseView); + + var optionView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(100), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + ScrollEnabled = false, + }; + optionBaseView.AddChidren(optionView); + + var btnOn = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.OpenArm, + }; + optionView.AddChidren(btnOn); + + optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); + + var btnOff = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.Close, + }; + optionView.AddChidren(btnOff); + + var btnCancel = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(8) + optionView.Bottom, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + TextID = StringId.Cancel, + TextColor = CSS_Color.WarningColor, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + optionBaseView.AddChidren(btnCancel); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + btnOn.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + temp = new SceneFunction(); + temp.type = "7"; + temp.status.Add(new SceneFunctionStatus() + { + key = "enable", + value = "true" + }); + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => { + try + { + var code = scene.EditScene(); + Application.RunOnMainThread(() => + { + if (code == "0") + { + btnTipText.TextID = StringId.OpenArm; + } + }); + } + catch { } + finally + { + Application.RunOnMainThread(() => { + if(waitPage!= null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + }; + btnOff.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + temp = new SceneFunction(); + temp.type = "7"; + temp.status.Add(new SceneFunctionStatus() + { + key = "enable", + value = "false" + }); + + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => { + try + { + var code = scene.EditScene(); + Application.RunOnMainThread(() => + { + if (code == "0") + { + btnTipText.TextID = StringId.Close; + } + }); + } + catch { } + finally + { + Application.RunOnMainThread(() => { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + }; + + } + + } //-------------------------------------- public partial class SceneEditPage @@ -759,7 +948,8 @@ void LoadEvent_ChangeFunctionList() { btnAddFunctionTitle.MouseUpEventHandler = (sender, e) => { - var sefp =new SceneFunctionListChoosePage(scene,refreshFunctionRowAction); + //var sefp =new SceneFunctionListChoosePage(scene,refreshFunctionRowAction); + var sefp = new SceneTargetTypeChoosePage(scene, refreshFunctionRowAction); MainPage.BasePageView.AddChidren(sefp); sefp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; -- Gitblit v1.8.0