From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 184 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 171 insertions(+), 13 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index ea91731..101d71f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -52,6 +52,7 @@ addLogic.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; + //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => { logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; @@ -59,17 +60,27 @@ { 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(); }; + GetSelectIcon(logicView.frameLayout, currLogic); //if (i==0)闄嶅簭鎺掑垪 if (Logic.LogicList.Count - 1 == i) { @@ -101,7 +112,7 @@ { Y = btnTipNot.Bottom, Height = Application.GetRealWidth(100), - TextID = StringId.TipNotOpen, + TextID = StringId.ContentIsEmpty, TextAlignment = TextAlignment.Center, TextColor = CSS.CSS_Color.TextualColor, TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, @@ -164,32 +175,31 @@ 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) + ","; } @@ -199,6 +209,7 @@ } return weekTextName.TrimEnd(','); } + /// <summary> /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆 /// </summary> @@ -231,7 +242,7 @@ List<string> logicIdList = new List<string>(); //鑾峰彇閫昏緫ID鍒楄〃 var idStr = Send.getLogicIdList(); - if (idStr.Code == "0" && idStr.Data != null&& idStr.Data.ToString()!="") + 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); @@ -283,6 +294,153 @@ } 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-鍔熻兘鍥炬爣 + for (int i = 0; i < logic.input.Count; i++) + { + + 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; + } + + if (!iconIntValue.Contains(iconInt)) + { + iconIntValue.Add(iconInt); + } + + } + + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + iconIntValue.Add(11); + + //12-20(琛ㄧず鐩爣鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鐩爣绫诲瀷鍥炬爣 + //12-鍔熻兘鍥炬爣 + //13-鍦烘櫙鍥炬爣 + //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; + } + + 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 11: + { + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + strIcon = "LogicIcon/link.png"; + } break; + case 12: + { + + strIcon = "LogicIcon/selectTheFun.png"; + } + break; + case 13: { + strIcon = "LogicIcon/selectTheScene.png"; + } break; + case 14: { + //strIcon = "LogicIcon/timeicon.png"; + } + break; + + } + btnIcon.UnSelectedImagePath = strIcon; + } + } } class Date { -- Gitblit v1.8.0