From ae142832f9721956f963cf008047a2620a035bf7 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 27 十一月 2020 17:00:58 +0800 Subject: [PATCH] 2020-11-27-3 --- HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 451 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 432 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs index 232f022..0526ac0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs @@ -11,9 +11,10 @@ { Tag = "Logic"; } - + public void Show() { + this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); this.AddChidren(topView.FLayoutView()); @@ -22,7 +23,7 @@ RemoveFromParent(); }; topView.topNameBtn.TextID = StringId.newAutomation; - + VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout { Y = Application.GetRealHeight(64), @@ -100,22 +101,9 @@ BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; this.AddChidren(fLayout); - LogicView.DateView dateView = new LogicView.DateView(); - dateView.FLayoutView(fLayout, 7); - dateView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - //绉婚櫎fLayout鐣岄潰 - fLayout.RemoveFromParent(); - }; - for (int i = 0; i < 7; i++) { - LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); - dateTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - dateTypeView.btnIcon.Visible = false; - dateTypeView.btnText.X = Application.GetRealWidth(20); - dateTypeView.btnText.TextID = StringId.time; - dateTypeView.btnNextIcon.X = Application.GetRealWidth(307); - dateView.AddChidren(dateTypeView.FLayoutView()); - } + DateMethod(fLayout, cyclicTitle.btnText); + + }; #endregion @@ -147,7 +135,7 @@ Logic.LogicList.Add(Logic.currlogic); LogicMethod.RemoveAllView(); MainView.MainShow(); - + }; //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height; #endregion @@ -155,5 +143,430 @@ } + /// <summary> + /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��) + /// </summary> + /// <param name="fLayout">寮规涓绘帶浠�</param> + /// <param name="button">鏄剧ず鏂囨湰</param> + public void DateMethod(FrameLayout fLayout, Button button) + { + + LogicView.DateView dateView = new LogicView.DateView(); + dateView.btnTitle.TextID = StringId.cyclic; + dateView.FLayoutView(fLayout, 4); + dateView.btnCancel.MouseUpEventHandler += (sender2, e2) => + { + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� + string weekName = ""; + //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn; + var selecetdBtn = new Button(); + for (int i = 0; i < 4; i++) + { + LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); + dateTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; + dateTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); + dateTypeView.btnIcon.Visible = false; + dateTypeView.btnText.X = Application.GetRealWidth(20); + dateTypeView.btnNextIcon.X = Application.GetRealWidth(307); + dateTypeView.btnLine.X = Application.GetRealWidth(20); + dateTypeView.btnLine.Width = Application.GetRealWidth(303); + dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); + dateTypeView.btnClick.Tag = i;//鏍囪绫诲瀷 + switch (i) + { + case 0: + { + weekName = Language.StringByID(StringId.performA); + dateTypeView.btnNextIcon.Visible = false; + } + break; + case 1: + { + weekName = Language.StringByID(StringId.days); + dateTypeView.btnNextIcon.Visible = false; + } + break; + case 2: + { + weekName = Language.StringByID(StringId.weekly); + } + break; + case 3: + { + weekName = Language.StringByID(StringId.monthly); + } + break; + + + } + dateTypeView.btnText.Text = weekName; + //寰幆绫诲瀷(渚嬪锛氭瘡鏈堬紝姣忓ぉ)鐐瑰嚮浜嬩欢 + dateTypeView.btnClick.MouseUpEventHandler += (sender, e) => + { + int clickIndex = int.Parse(dateTypeView.btnClick.Tag.ToString()); + switch (clickIndex) + { + case 0: + { + weekName = Language.StringByID(StringId.performA); + selecetdBtn.TextColor = CSS.CSS_Color.textColor; + dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; + selecetdBtn = dateTypeView.btnText; + } + break; + case 1: + { + weekName = Language.StringByID(StringId.days); + selecetdBtn.TextColor = CSS.CSS_Color.textColor; + dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; + selecetdBtn = dateTypeView.btnText; + + } + break; + case 2: + { + // weekName = Language.StringByID(StringId.weekly); + WeekMethod(fLayout, button); + } + break; + case 3: + { + //weekName = Language.StringByID(StringId.monthly); + MonMethod(fLayout, button); + } + break; + + + } + }; + + + //鏄剧ず涔嬪墠鐨勭姸鎬� + if (button.Text == weekName) + { + dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; + selecetdBtn = dateTypeView.btnText; + } + else if (button.Text == weekName) + { + dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; + selecetdBtn = dateTypeView.btnText; + } + } + //纭畾淇濆瓨 + dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) => + { + if (weekName == Language.StringByID(StringId.monthly)|| weekName!= Language.StringByID(StringId.weekly)) { + //鎻愮ず锛氳繕鏈�� + return; + + } + + if (weekName == Language.StringByID(StringId.performA)) + { + //鎵ц涓�娆� + Logic.currlogic.cycle.type = "once"; + } + else if (weekName == Language.StringByID(StringId.days)) + { + //姣忓ぉ + Logic.currlogic.cycle.type = "day"; + + } + //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰 + button.Text = weekName; + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + } + /// <summary> + /// 閫変腑鏄熸湡鍑�(鍛ㄤ竴锛屽懆浜� 銆傘�傘��) + /// </summary> + /// <param name="fLayout">寮规涓绘帶浠�</param> + /// <param name="button">鏄剧ず鏂囨湰</param> + public void WeekMethod(FrameLayout fLayout, Button button) + { + + LogicView.DateView weekView = new LogicView.DateView(); + weekView.btnTitle.TextID = StringId.cyclic; + weekView.FLayoutView(fLayout, 7); + weekView.btnCancel.MouseUpEventHandler += (sender2, e2) => + { + weekView.frameLayout.RemoveFromParent(); + }; + //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; + List<string> weekList = new List<string>(); + if (Logic.currlogic.cycle.type == "week") + { + //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� + weekList.AddRange(Logic.currlogic.cycle.value); + } + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� + string weekName = ""; + for (int i = 0; i < 7; i++) + { + LogicView.SelectTypeView weekTypeView = new LogicView.SelectTypeView(); + weekTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; + weekTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); + weekTypeView.btnIcon.Visible = false; + weekTypeView.btnText.X = Application.GetRealWidth(20); + weekTypeView.btnLine.X = Application.GetRealWidth(20); + weekTypeView.btnLine.Width = Application.GetRealWidth(303); + weekTypeView.btnNextIcon.X = Application.GetRealWidth(303); + weekTypeView.btnNextIcon.Width = Application.GetMinRealAverage(28); + weekTypeView.btnNextIcon.Height = Application.GetMinRealAverage(28); + weekTypeView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; + weekTypeView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; + weekView.frameLayout.AddChidren(weekTypeView.FLayoutView()); + weekTypeView.btnClick.Tag = i;//鏍囪绱㈠紩 + switch (i) + { + case 0: + { + weekName = Language.StringByID(StringId.monday); + } + break; + case 1: + { + weekName = Language.StringByID(StringId.tuesday); + } + break; + case 2: + { + weekName = Language.StringByID(StringId.wednesday); + } + break; + case 3: + { + weekName = Language.StringByID(StringId.thursday); + } + break; + case 4: + { + weekName = Language.StringByID(StringId.friday); + } + break; + case 5: + { + weekName = Language.StringByID(StringId.saturday); + } + break; + case 6: + { + weekName = Language.StringByID(StringId.sunday); + } + break; + + } + weekTypeView.btnText.Text = weekName; + if (weekList.Contains(i.ToString())) + { + //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� + weekTypeView.btnNextIcon.IsSelected = true; + } + //鏄熸湡鐨勭偣鍑讳簨浠� + weekTypeView.btnClick.MouseUpEventHandler += (sender, e) => + { + string clickIndex = weekTypeView.btnClick.Tag.ToString(); + weekTypeView.btnClick.IsSelected = !weekTypeView.btnClick.IsSelected; + if (weekTypeView.btnClick.IsSelected) + { + weekTypeView.btnNextIcon.IsSelected = true; + if (!weekList.Contains(clickIndex)) + { + //娣诲姞閫変腑鏁版嵁 + weekList.Add(clickIndex); + } + } + else + { + weekTypeView.btnNextIcon.IsSelected = false; + if (weekList.Contains(clickIndex)) + { + //绉婚櫎閫変腑鏁版嵁 + weekList.Remove(clickIndex); + } + } + + }; + + } + //纭畾鐐瑰嚮浜嬩欢 + weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (weekList.Count == 0) + { + //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 + return; + } + Logic.currlogic.cycle.type = "week"; + Logic.currlogic.cycle.value = weekList; + button.Text = GetWeekString(weekList); + fLayout.RemoveFromParent(); + }; + + } + /// <summary> + /// 姣忔湀 + /// </summary> + /// <param name="fLayout">寮规涓绘帶浠�</param> + /// <param name="button">鏄剧ず鏂囨湰</param> + public void MonMethod(FrameLayout fLayout, Button button) + { + LogicView.MonView monView = new LogicView.MonView(); + monView.btnTitle.TextID = StringId.monthly; + monView.FLayoutView(fLayout); + monView.btnCancel.MouseUpEventHandler += (sender2, e2) => + { + monView.frameLayout.RemoveFromParent(); + }; + //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; + List<string> monList = new List<string>(); + if (Logic.currlogic.cycle.type == "mon") + { + //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� + monList.AddRange(Logic.currlogic.cycle.value); + } + //瀹氫箟涓�涓彉閲忚褰曡鏁� + int lineSun = 0; + for (int i = 1; i < 32; i++) + { + Button monTextBtn = new Button + { + Width = Application.GetMinRealAverage(30), + Height = Application.GetMinRealAverage(30), + Radius = (uint)Application.GetRealHeight(15), + Text = i.ToString(), + TextSize = LogicView.TextSize.text14, + TextColor = CSS.CSS_Color.textColor, + SelectedTextColor = CSS.CSS_Color.view, + SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, + BackgroundColor = CSS.CSS_Color.viewTranslucence, + Tag = i, + }; + monView.frameLayout.AddChidren(monTextBtn); + if (lineSun > 0) + { + monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); + } + else + { + + monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); + } + monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); + + if (i % 7 == 0) + { + //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣. + lineSun = lineSun + 1; + + } + monTextBtn.MouseUpEventHandler += (sender, e) => + { + string clickIndex = monTextBtn.Tag.ToString(); + monTextBtn.IsSelected = !monTextBtn.IsSelected; + if (monTextBtn.IsSelected) + { + monTextBtn.IsSelected = true; + if (!monList.Contains(clickIndex)) + { + //娣诲姞閫変腑鏁版嵁 + monList.Add(clickIndex); + } + } + else + { + monTextBtn.IsSelected = false; + if (monList.Contains(clickIndex)) + { + //绉婚櫎閫変腑鏁版嵁 + monList.Remove(clickIndex); + } + } + }; + + if (monList.Contains(i.ToString())) { + monTextBtn.IsSelected = true; + } + } + //纭畾鐐瑰嚮浜嬩欢 + monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (monList.Count == 0) + { + //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 + return; + } + Logic.currlogic.cycle.type = "mon"; + Logic.currlogic.cycle.value = monList; + button.Text = GetMonString(monList); + fLayout.RemoveFromParent(); + }; + } + /// <summary> + /// 鑾峰彇鏄熸湡鐨勫瓧绗︿覆 + /// </summary> + /// <param name="weekList"></param> + /// <returns></returns> + public string GetWeekString(List<string> weekList) + { + string weekTextName = ""; + + if (weekList.Contains("0")) + { + weekTextName += Language.StringByID(StringId.monday) + ","; + } + if (weekList.Contains("1")) + { + weekTextName += Language.StringByID(StringId.tuesday) + ","; + } + if (weekList.Contains("2")) + { + weekTextName += Language.StringByID(StringId.wednesday) + ","; + } + if (weekList.Contains("3")) + { + weekTextName += Language.StringByID(StringId.thursday) + ","; + } + if (weekList.Contains("4")) + { + weekTextName += Language.StringByID(StringId.friday) + ","; + } + if (weekList.Contains("5")) + { + weekTextName += Language.StringByID(StringId.saturday) + ","; + } + if (weekList.Contains("6")) + { + weekTextName += Language.StringByID(StringId.sunday) + ","; + } + if (weekTextName == "") + { + return ""; + } + return weekTextName.TrimEnd(','); + } + /// <summary> + /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆 + /// </summary> + /// <param name="monList"></param> + /// <returns></returns> + public string GetMonString(List<string> monList) + { + string monTextName = Language.StringByID(StringId.monthly); + + for (int i = 1; i < 32; i++) + { + if (monList.Contains(i.ToString())) + { + monTextName += i.ToString() + ","; + } + } + return monTextName.TrimEnd(','); + } } } -- Gitblit v1.8.0