From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 369 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 324 insertions(+), 45 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index 2025a0a..e933b09 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -9,7 +9,7 @@ public class MainView { /// <summary> - /// 璁板綍閫昏緫鑷姩鍖栫埗鎺т欢 + /// VerticalRefreshLayout鐖舵帶浠� /// </summary> public static FrameLayout automationPage; /// <summary> @@ -34,8 +34,8 @@ }; //鑾峰彇鑷姩鍖栧垪琛� GetLogicList(); - // for (int i = Logic.LogicList.Count-1; i >= 0; i--)闄嶅簭鎺掑垪 - for (int i = 0; i < Logic.LogicList.Count; i++) + for (int i = Logic.LogicList.Count - 1; i >= 0; i--)//闄嶅簭鎺掑垪 + //for (int i = 0; i < Logic.LogicList.Count; i++) { var currLogic = Logic.LogicList[i]; ///涓婁笅闂撮殧12鍍忕礌 @@ -43,15 +43,17 @@ LogicView.SingleLogicView logicView = new LogicView.SingleLogicView(); vv.AddChidren(logicView.FLayoutView()); logicView.btnLogicName.Text = currLogic.name; - logicView.btnWeekText.Text = GetWeekText(currLogic); + logicView.btnWeekText.Text = GetCyclicText(currLogic); logicView.btnclick.MouseUpEventHandler += (sen, e) => { - Logic.currlogic = currLogic; - var addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + //Logic.currlogic = currLogic; + //var addLogic = new AddLogic(); + //MainPage.BasePageView.AddChidren(addLogic); + //addLogic.Show(); + //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + new MainView { }.SkipAddLogicPage(currLogic); }; + //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => { logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; @@ -59,19 +61,29 @@ { logicView.btnSwitchIcon.IsSelected = true; currLogic.enable = "true"; - - } else { logicView.btnSwitchIcon.IsSelected = false; currLogic.enable = "false"; } - Send.switchLogic(currLogic); + //Send.switchLogic(currLogic); + new System.Threading.Thread(() => + { + try + { + //閫昏緫浣胯兘鐨勫懡浠� + Send.SwitchLogic(currLogic); + } + catch { } + + }) + { IsBackground = true }.Start(); }; - //if (i==0)闄嶅簭鎺掑垪 - if (Logic.LogicList.Count - 1 == i) + GetSelectIcon(logicView.frameLayout, currLogic); + if (i == 0)//闄嶅簭鎺掑垪 + //if (Logic.LogicList.Count - 1 == i) { ///鏈�鍚庝竴涓窛绂绘渶搴曢儴12,鐣岄潰鏄剧ず鏁堟灉浣滅敤; vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); @@ -99,12 +111,12 @@ automationPage.AddChidren(btnTipNot); Button btnTipNotText = new Button() { - Y = btnTipNot.Bottom, - Height = Application.GetRealWidth(100), - TextID = StringId.TipNotOpen, + Y = btnTipNot.Bottom + Application.GetRealHeight(16), + Height = Application.GetRealHeight(20), + TextID = StringId.logicnull, TextAlignment = TextAlignment.Center, - TextColor = CSS.CSS_Color.TextualColor, - TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, + TextSize = LogicView.TextSize.text14, + TextColor = CSS.CSS_Color.textConfirmColor, }; automationPage.AddChidren(btnTipNotText); } @@ -112,19 +124,36 @@ /// <summary> /// 鎸�+璺宠浆鍒伴�昏緫鐣岄潰鐨勬柟娉� /// </summary> - public static void SkipAddLogicPage() + public void SkipAddLogicPage(Logic logic=null) { - Logic.currlogic = new Logic(); - var addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + if (logic == null) + { + Logic.currlogic = new Logic(); + } + else { + Logic.currlogic = logic; + } + if (IsGatewayType) + { + var addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + + var onePortAutomation = new OnePortAutomation(); + MainPage.BasePageView.AddChidren(onePortAutomation); + onePortAutomation.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } } /// <summary> ///杩斿洖寰幆鎻忚堪鏂囨湰 /// </summary> /// <param name="logic"></param> - public static string GetWeekText(Logic logic) + public static string GetCyclicText(Logic logic) { string weekName = ""; @@ -157,39 +186,38 @@ return weekName; } /// <summary> - /// 鑾峰彇鏄熸湡鐨勫瓧绗︿覆 + /// 杩斿洖鏄熸湡鎻忚堪鏂囨湰 /// </summary> /// <param name="weekList"></param> /// <returns></returns> public static string GetWeekString(List<string> weekList) { string weekTextName = ""; - - if (weekList.Contains("0")) + if (weekList.Contains("1")) { weekTextName += Language.StringByID(StringId.monday) + ","; } - if (weekList.Contains("1")) + if (weekList.Contains("2")) { weekTextName += Language.StringByID(StringId.tuesday) + ","; } - if (weekList.Contains("2")) + if (weekList.Contains("3")) { weekTextName += Language.StringByID(StringId.wednesday) + ","; } - if (weekList.Contains("3")) + if (weekList.Contains("4")) { weekTextName += Language.StringByID(StringId.thursday) + ","; } - if (weekList.Contains("4")) + if (weekList.Contains("5")) { weekTextName += Language.StringByID(StringId.friday) + ","; } - if (weekList.Contains("5")) + if (weekList.Contains("6")) { weekTextName += Language.StringByID(StringId.saturday) + ","; } - if (weekList.Contains("6")) + if (weekList.Contains("0")) { weekTextName += Language.StringByID(StringId.sunday) + ","; } @@ -220,9 +248,8 @@ /// <summary> /// 鑾峰彇閫昏緫鍒楄〃 /// </summary> - private static void GetLogicList() + public static void GetLogicList() { - if (Logic.LogicList.Count != 0) { //鑷姩鍖栧垪琛ㄤ负0鎵嶅幓鑾峰彇鑷姩鍖栧垪琛紱 @@ -230,11 +257,11 @@ } List<string> logicIdList = new List<string>(); //鑾峰彇閫昏緫ID鍒楄〃 - var idStr = Send.getLogicIdList(); - if (idStr.Code == "0" && idStr.Data != null) + var idStr = Send.GetLogicIdList(); + if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "") { var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data); - var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Date>>(date); + var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date); for (int i = 0; i < dateList.Count; i++) { //娣诲姞閫昏緫ID @@ -242,8 +269,8 @@ } } //鑾峰彇鑷姩鍖栧垪琛� - var logicStr = Send.getLogic(logicIdList); - if (logicStr.Code == "0" && logicStr.Data != null) + var logicStr = Send.GetLogic(logicIdList); + if (logicStr.Code == "0" && logicStr.Data != null && logicStr.Data.ToString() != "") { //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�); var jArray = JArray.Parse(logicStr.Data.ToString()); @@ -259,8 +286,40 @@ var if_logic = Logic.LogicList.Find((c) => c.userLogicId == logic.userLogicId); if (if_logic == null) { + + Logic newlogic = new Logic(); + newlogic.name = logic.name; + newlogic.userLogicId = logic.userLogicId; + newlogic.sid = logic.sid; + newlogic.relation = logic.relation; + newlogic.enable = logic.enable; + newlogic.cycle = logic.cycle; + for (int i = 0; i < logic.input.Count; i++) + { + if (logic.input[i] == null || string.IsNullOrEmpty(logic.input[i].condition_type)) + { + //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; + //闃叉鏈夌┖瀵硅薄锛� + //姝e父鎯呭喌涓嬩笉浼氬嚭鐜扮殑鐜拌薄锛� + continue; + } + newlogic.input.Add(logic.input[i]); + } + for (int i = 0; i < logic.output.Count; i++) + { + if (logic.output[i] == null || string.IsNullOrEmpty(logic.output[i].target_type)) + { + //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; + //闃叉鏈夌┖瀵硅薄锛� + //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� + continue; + } + newlogic.output.Add(logic.output[i]); + } + newlogic.noticeConfig = logic.noticeConfig; + newlogic.pushConfigs = logic.pushConfigs; //娣诲姞閫昏緫 - Logic.LogicList.Add(logic); + Logic.LogicList.Add(newlogic); } } @@ -283,19 +342,239 @@ } return false; } + /// <summary> + /// 鏄剧ず鏉′欢鎴栬�呯洰鏍囩被鍨嬪浘鏍� + /// </summary> + /// <param name="layouFrame">鐖舵帶浠�</param> + /// <param name="logic">褰撳墠鑷姩鍖�</param> + private static void GetSelectIcon(FrameLayout layouFrame, Logic logic) + { + + //閲嶆柊鎺掑垪鍥炬爣搴忓彿 + List<int> iconIntValue = new List<int>(); + iconIntValue.Clear(); + + //1-10(琛ㄧず鏉′欢鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鏉′欢绫诲瀷鍥炬爣 + //1-鏃堕棿鍥炬爣 + //2-鍔熻兘鍥炬爣 + //3-浜戠鍥炬爣 + //4-鍦烘櫙鍥炬爣 + for (int i = 0; i < logic.input.Count; i++) + { + if (logic.input[i] == null) + continue; + var int1 = int.Parse(logic.input[i].condition_type); + int iconInt = 0; + switch (int1) + { + case 1: + case 2: + { + iconInt = 1; + + } + break; + case 3: + { + iconInt = 2; + + } + break; + case 4: + case 6: + case 9: + { + iconInt = 3; + + } + break; + case 10: + { + iconInt = 4; + + } + break; + } + + if (!iconIntValue.Contains(iconInt)) + { + iconIntValue.Add(iconInt); + } + + } + + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + iconIntValue.Add(11); + + //12-20(琛ㄧず鐩爣鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鐩爣绫诲瀷鍥炬爣 + //12-鍔熻兘鍥炬爣 + //13-鍦烘櫙鍥炬爣 + //14-瀹夐槻鍥炬爣 + //14-寤舵椂鍥炬爣 + for (int i = 0; i < logic.output.Count; i++) + { + var int1 = int.Parse(logic.output[i].target_type); + int iconInt = 0; + switch (int1) + { + case 1: + { + iconInt = 12; + + } + break; + case 2: + { + iconInt = 13; + + } + break; + case 3: + { + iconInt = 14; + + } + break; + case 4: + { + iconInt = 15; + + } + break; + } + + if (!iconIntValue.Contains(iconInt)) + { + iconIntValue.Add(iconInt); + } + } + //鍥炬爣鎺т欢鐨勭埗鎺т欢 + FrameLayout frame = new FrameLayout + { + Height = Application.GetRealHeight(40), + Width = Application.GetRealWidth(275), + Y = Application.GetRealHeight(56), + }; + layouFrame.AddChidren(frame); + + + for (int i = 0; i < iconIntValue.Count; i++) + { + //鍥炬爣鎺т欢 + Button btnIcon = new Button + { + Width = Application.GetRealWidth(28), + Height = Application.GetRealWidth(28), + Gravity = Gravity.CenterVertical, + }; + frame.AddChidren(btnIcon); + + if (i == 0) + { + btnIcon.X = Application.GetRealWidth(12); + } + else + { + btnIcon.X = Application.GetRealWidth(12 + (28 + 4) * i); + } + string strIcon = ""; + switch (iconIntValue[i]) + { + + case 1: + { + strIcon = "LogicIcon/selectTheTime.png"; + } + break; + case 2: + { + + strIcon = "LogicIcon/selectTheFun.png"; + } + break; + case 3: + { + + strIcon = "LogicIcon/shiwaitianqi.png"; + } + break; + case 4: + { + + strIcon = "LogicIcon/selectTheScene.png"; + } + break; + case 11: + { + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + strIcon = "LogicIcon/link.png"; + } + break; + case 12: + { + + strIcon = "LogicIcon/selectTheFun.png"; + } + break; + case 13: + { + strIcon = "LogicIcon/selectTheScene.png"; + } + break; + case 14: + { + + strIcon = "LogicIcon/security.png"; + } + break; + case 15: + { + //strIcon = "LogicIcon/timeicon.png"; + + } + break; + + } + btnIcon.UnSelectedImagePath = strIcon; + } + } + /// <summary> + /// 鍒ゆ柇缃戝叧绫诲瀷(0:bus缃戝叧锛�1:A鍗忚缃戝叧) + /// </summary> + /// <returns>true=A鍗忚缃戝叧;false=bus缃戝叧</returns> + public static bool IsGatewayType + { + get + { + if (Entity.DB_ResidenceData.Instance.GatewayType == 1) + { + return true; + } + return false; + } + } } - class Date + class LogicData { /// <summary> /// 浜戠鍞竴id /// </summary> - public string userLogicId = ""; + public string userLogicId = ""; + /// <summary> + /// 缃戝叧id + /// </summary> public string gatewayId = ""; /// <summary> /// 閫昏緫鍞竴鏍囪瘑 /// </summary> public string sid = ""; + /// <summary> + /// 閫昏緫鍚嶇О + /// </summary> public string name = ""; + /// <summary> + /// 閫昏緫浣胯兘锛堝紑锛屽叧锛� + /// </summary> public string enable = ""; //public CycleA cycle; //public string modifyTime = ""; -- Gitblit v1.8.0