From a46cd0adb5af29e8a9cf47c219475acaedfcf839 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 01 十二月 2020 17:09:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/WJC' --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 262 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs new file mode 100644 index 0000000..5f3a71b --- /dev/null +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -0,0 +1,262 @@ +锘縰sing System; +using Shared; +using System.Collections.Generic; +namespace HDL_ON.UI.UI2.Intelligence.Automation +{ + public class InpOrOutLogicMethod + { + /// <summary> + /// 杈撳叆鏉′欢澶勭悊鏂规硶 + /// </summary> + /// <param name="thisView">褰撳墠鐣岄潰</param> + /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> + public static void InputCondition(FrameLayout thisView,VerticalScrolViewLayout viewLayout) + { + for (int i = 0; i < Logic.currlogic.input.Count; i++) + { + Input inputCondition = Logic.currlogic.input[i]; + ///鍚勭鏉′欢鐨刅iew + LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); + viewLayout.AddChidren(inputView.FLayoutView()); + ///璁板綍鏉′欢绫诲瀷 + inputView.btnClick.Name = inputCondition.condition_type; + ///璁板綍鏉′欢绱㈠紩 + inputView.btnClick.Tag = i; + ///鏉′欢鐘舵�佹暟缁� + List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>; + //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� + switch (inputCondition.condition_type) + { + case "1": + { + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; + foreach (var dic in dicList) + { + string value = dic["value"]; + inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; + inputView.btnClick.AddTag("timepoint", value); + } + + } + break; + case "2": + { + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; + foreach (var dic in dicList) + { + string value = dic["value"]; + inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; + inputView.btnClick.AddTag("timeHorizon", value); + } + + } + break; + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(inputCondition.sid); + //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� + inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType); + //鏄剧ず璁惧鍚嶇О + inputView.btnText.Text = device.name; + //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 + inputView.btnText.Width = Application.GetRealWidth(80); + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.functionType) + { + case FunctionType.Relay: + {//寮�鍏崇伅 + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "on") + { + inputView.btnState.Text = Language.StringByID(StringId.onLogic); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + } + } + break; + + } + //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� + inputView.btnClick.MouseUpEventHandler += (sen, e) => + { + Button button = (Button)sen; + //鎵惧埌褰撳墠缂栬緫鐨勭储寮� + int indexVulae = int.Parse(inputView.btnClick.Tag.ToString()); + //鏍囪缂栬緫鐘舵�� + bool edit = true; + //琛ㄧず鏄潯浠� + string if_type = LogicMethod.condition_if; + switch (button.Name) + { + case "1": + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimePoint(fLayout, edit, indexVulae); + } + break; + case "2": + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimeHorizon(fLayout, edit, indexVulae); + } + break; + + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(inputCondition.sid); + DeviceFunList deviceFunList = new DeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(device, indexVulae,edit, if_type); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + break; + + + } + }; + } + + } + /// <summary> + /// 杈撳嚭鏉′欢澶勭悊鏂规硶 + /// </summary> + /// <param name="thisView">褰撳墠鐣岄潰</param> + /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> + public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) + { + + for (int i = 0; i < Logic.currlogic.output.Count; i++) + { + Output outputTarget = Logic.currlogic.output[i]; + ///鍚勭鏉′欢鐨刅iew + LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); + viewLayout.AddChidren(targetView.FLayoutView()); + ///璁板綍鏉′欢绫诲瀷 + targetView.btnClick.Name = outputTarget.target_type; + ///璁板綍鏉′欢绱㈠紩 + targetView.btnClick.Tag = i; + ///鏉′欢鐘舵�佹暟缁� + List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; + //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� + switch (outputTarget.target_type) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(outputTarget.sid); + //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� + targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType); + //鏄剧ず璁惧鍚嶇О + targetView.btnText.Text = device.name; + //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 + targetView.btnText.Width = Application.GetRealWidth(80); + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.functionType) + { + case FunctionType.Relay: + {//寮�鍏崇伅 + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "on") + { + targetView.btnState.Text = Language.StringByID(StringId.onLogic); + + } + else + { + targetView.btnState.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + } + } + break; + case "2": + { + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.GetSecne(outputTarget.sid); + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; + targetView.btnNextIcon.Visible = false; + //鏄剧ず鍦烘櫙鍚嶇О + targetView.btnText.Text = scene.name; + } + break; + case "3": + { + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png"; + foreach (var dic in dicList) + { + string value = dic["value"]; + targetView.btnText.Text =value; + } + } + break; + } + //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� + targetView.btnClick.MouseUpEventHandler += (sen, e) => + { + Button button = (Button)sen; + //鎵惧埌褰撳墠缂栬緫鐨勭储寮� + int indexVulae = int.Parse(targetView.btnClick.Tag.ToString()); + //鏍囪缂栬緫鐘舵�� + bool edit = true; + //琛ㄧず鏄洰鏍� + string if_type = LogicMethod.target_if; + switch (button.Name) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(outputTarget.sid); + DeviceFunList deviceFunList = new DeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(device, indexVulae, edit, if_type); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + break; + case "3": + { + + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + AddTarget addTarget = new AddTarget(); + addTarget.Delayed(fLayout, edit, indexVulae); + + + } + break; + } + }; + } + } + + } +} -- Gitblit v1.8.0