From 264f86c363a6a019fac8eb138877fee9e4734e2d Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期六, 21 八月 2021 17:45:44 +0800 Subject: [PATCH] Merge branch 'WJC' into wxr7 --- HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs | 79 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 insertions(+), 11 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs index cdb06f7..31845a4 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs @@ -36,11 +36,18 @@ viewLayout.AddChidren(functionView.FLayoutView()); //鍦烘櫙 - LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView(); + LogicView.SelectTypeView sceneView= new LogicView.SelectTypeView(); sceneView.frameLayout.Y = functionView.frameLayout.Bottom; sceneView.btnText.TextID = StringId.Scenes; sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; viewLayout.AddChidren(sceneView.FLayoutView()); + + //瀹夐槻 + LogicView.SelectTypeView securityView = new LogicView.SelectTypeView(); + securityView.frameLayout.Y = sceneView.frameLayout.Bottom; + securityView.btnText.TextID = StringId.anfang; + securityView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png"; + viewLayout.AddChidren(securityView.FLayoutView()); //寤舵椂 LogicView.SelectTypeView delayView = new LogicView.SelectTypeView(); @@ -64,6 +71,11 @@ sceneView.btnClick.MouseUpEventHandler += (sen, e) => { SceneMethod(); + }; + //瀹夐槻鐐瑰嚮浜嬩欢 + securityView.btnClick.MouseUpEventHandler += (sen, e) => + { + SecurityMethod(this); }; //寤舵椂鐐瑰嚮浜嬩欢 delayView.btnClick.MouseUpEventHandler += (sen, e) => @@ -92,7 +104,7 @@ nameList.Add(scene.name); } PublicInterface publicInterface = new PublicInterface(); - publicInterface.FrameOrVv(this, nameList, StringId.addSceneLogic, (index) => + publicInterface.FrameOrVv(this, nameList,new List<string> { }, StringId.addSceneLogic, (index) => { var sceneSelecetd = sceneList[index]; Output outputDevice = new Output(); @@ -108,7 +120,41 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } - + /// <summary> + /// 娣诲姞瀹夐槻 + /// </summary> + public void SecurityMethod(FrameLayout frameLayout, bool edit=false, int index1=-1) + { + List<string> stateList = new List<string>(); + if (edit&& index1 != -1) { + Output output = Logic.currlogic.output[index1]; + var security = LogicMethod.CurrLogicMethod.GetSecurity(output.sid); + stateList.Add(security.name); + } + var securityList = LogicMethod.CurrLogicMethod.GetSecurityList(); + List<string> nameList = new List<string>(); + for (int i = 0; i < securityList.Count; i++) + { + var security = securityList[i]; + nameList.Add(security.name); + } + PublicInterface publicInterface = new PublicInterface(); + publicInterface.FrameOrVv(frameLayout, nameList, stateList, StringId.addSecurityLogic,(index) => + { + var securitySelecetd = securityList[index]; + Output outputDevice = new Output(); + outputDevice.target_type = "3"; + outputDevice.sid = securitySelecetd.sid; + //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�; + outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "security" }, { "value", "0" } } }; + AddOutput(outputDevice,true); + LogicMethod.CurrLogicMethod.RemoveAllView(); + AddLogic addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + } /// <summary> /// 寤舵椂鏃堕棿鏂规硶 /// </summary> @@ -137,7 +183,7 @@ if (edit) { Output output = Logic.currlogic.output[index]; - if (output.target_type == "3") + if (output.target_type == "4") { List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>; foreach (var dic in dicList) @@ -169,7 +215,7 @@ } Output outputTime= new Output(); outputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); - outputTime.target_type = "3"; + outputTime.target_type = "4"; Dictionary<string, string> dic = new Dictionary<string, string>(); LogicMethod.CurrLogicMethod.dictionary(dic, "key", "delay"); LogicMethod.CurrLogicMethod.dictionary(dic, "value", timepoint); @@ -195,23 +241,34 @@ }; } - /// <summary> /// 娣诲姞鐩爣 /// </summary> /// <param name="target"></param> - private void AddOutput(Output target) + /// <param name="bool_if">琛ㄧず鍚敤涓嶅悓鏉′欢</param> + private void AddOutput(Output target,bool bool_if=false) { int indexValue = -1; for (int i = 0; i < Logic.currlogic.output.Count; i++) { - if (Logic.currlogic.output[i].sid == target.sid) + if (bool_if) { - indexValue = i; - break; + ///瀹夐槻鍏佽涓�绉� + if (Logic.currlogic.output[i].target_type == target.target_type) + { + indexValue = i; + break; + } + } + else + { + if (Logic.currlogic.output[i].sid == target.sid) + { + indexValue = i; + break; + } } } - if (indexValue != -1) { Logic.currlogic.output.RemoveAt(indexValue); -- Gitblit v1.8.0