From e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 09 十二月 2020 18:50:14 +0800 Subject: [PATCH] 2020-12-09 1.信息中心,增加下划线和点击Alter提醒详情。 --- HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 361 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 278 insertions(+), 83 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs index c20eedd..d9ebfb3 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs @@ -11,19 +11,39 @@ { Tag = "Logic"; } - + public void Show() { - + this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); + topView.setBtn.Visible = true; this.AddChidren(topView.FLayoutView()); topView.clickBackBtn.MouseUpEventHandler += (e, sen) => { RemoveFromParent(); }; - topView.topNameBtn.TextID = StringId.newAutomation; - + if (string.IsNullOrEmpty(Logic.currlogic.sid)) + { + topView.topNameBtn.TextID = StringId.newAutomation; + topView.setBtn.Visible = false; + topView.clickSetBtn.Visible = false; + } + else + { + topView.topNameBtn.TextID = StringId.editAutomation; + topView.setBtn.Visible = true; + topView.clickSetBtn.Visible = true; + } + topView.clickSetBtn.MouseUpEventHandler += (sender, e) => + { + Set set = new Set(); + MainPage.BasePageView.AddChidren(set); + set.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + }; + VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout { Y = Application.GetRealHeight(64), @@ -40,8 +60,19 @@ ///婊¤冻浠ヤ笅鏉′欢鐨刅iew LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView(); titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet; + titleCondition.btnText.TextID = StringId.andCondition; viewLayout.AddChidren(titleCondition.FLayoutView()); + titleCondition.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + AndOrMethod(fLayout, titleCondition.btnText); + }; + + // 鏉′欢澶勭悊鏂规硶 InpOrOutLogicMethod.InputCondition(this, viewLayout); ///娣诲姞鍥炬爣鐨刅iew @@ -67,6 +98,7 @@ LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView(); titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); titleOutpu.btnText.TextID = StringId.theFollowingActions; + titleOutpu.btnNextIcon.Visible = false; viewLayout.AddChidren(titleOutpu.FLayoutView()); //鐩爣澶勭悊鏂规硶 InpOrOutLogicMethod.OutputTarget(this, viewLayout); @@ -92,7 +124,7 @@ LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView(); cyclicTitle.frameLayout.Height = Application.GetRealHeight(50); cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12); - cyclicTitle.btnText.TextID = StringId.days; + cyclicTitle.btnText.Text = MainView.GetWeekText(Logic.currlogic); viewLayout.AddChidren(cyclicTitle.FLayoutView()); cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) => { @@ -101,28 +133,33 @@ BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; this.AddChidren(fLayout); - DateMethod(fLayout,cyclicTitle.btnText); + DateMethod(fLayout, cyclicTitle.btnText); }; #endregion #region 鎵ц鎺ㄩ�� 鍙戦�侀�氱煡 - ///涓婁笅闂撮殧12鍍忕礌 - viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - ///鎵ц鎺ㄩ�乮ew - LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); - push.frameLayout.Height = Application.GetRealHeight(50); - push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - push.btnText.TextID = StringId.push; - viewLayout.AddChidren(push.FLayoutView()); - ///鍙戦�侀�氱煡View - LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); - notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); - notification.btnText.TextID = StringId.notification; - viewLayout.AddChidren(notification.FLayoutView()); - ///涓婁笅闂撮殧62鍍忕礌 - viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); + /////涓婁笅闂撮殧12鍍忕礌 + //viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); + /////鎵ц鎺ㄩ�乮ew + //LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); + //push.frameLayout.Height = Application.GetRealHeight(50); + //push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + //push.btnText.TextID = StringId.push; + //push.btnNextIcon.Width = Application.GetMinRealAverage(36); + //push.btnNextIcon.Height = Application.GetMinRealAverage(36); + //push.btnNextIcon.X = Application.GetRealWidth(305); + //push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; + //push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; + //viewLayout.AddChidren(push.FLayoutView()); + /////鍙戦�侀�氱煡View + //LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); + //notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); + //notification.btnText.TextID = StringId.notification; + //viewLayout.AddChidren(notification.FLayoutView()); + /////涓婁笅闂撮殧62鍍忕礌 + //viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); #endregion #region 淇濆瓨 @@ -132,15 +169,48 @@ this.AddChidren(saveView.FLayoutView()); saveView.btnClick.MouseUpEventHandler += (sender, e) => { - Logic.LogicList.Add(Logic.currlogic); - LogicMethod.RemoveAllView(); - MainView.MainShow(); - + if (string.IsNullOrEmpty(Logic.currlogic.sid)) + { + List<string> list = new List<string>(); + foreach (var logic in Logic.LogicList) + { + list.Add(logic.name); + } + new LogicView.TipPopView().InputBox(StringId.editName, Logic.currlogic.name, StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) => + { + Logic.currlogic.name = logicName; + Logic.currlogic.sid = LogicMethod.NewSid(); + //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛� + var responsePackNew = Send.AddLogic(Logic.currlogic); + if (responsePackNew.Code == "0") + { + Logic.LogicList.Add(Logic.currlogic); + LogicMethod.RemoveAllView(); + MainView.MainShow(); + } + else { + new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + } + + }); + + } + else + { + //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛� + var responsePackNew = Send.updateLogic(Logic.currlogic); + if (responsePackNew.Code == "0") + { + LogicMethod.RemoveAllView(); + MainView.MainShow(); + } + else { + new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + } + } + }; - //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height; #endregion - - } /// <summary> @@ -148,7 +218,7 @@ /// </summary> /// <param name="fLayout">寮规涓绘帶浠�</param> /// <param name="button">鏄剧ず鏂囨湰</param> - public void DateMethod(FrameLayout fLayout,Button button) + public void DateMethod(FrameLayout fLayout, Button button) { LogicView.DateView dateView = new LogicView.DateView(); @@ -162,7 +232,7 @@ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� string weekName = ""; //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn; - var selecetdBtn = new Button(); + var selecetdBtn = new Button() { Text=""}; for (int i = 0; i < 4; i++) { LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); @@ -175,6 +245,7 @@ dateTypeView.btnLine.Width = Application.GetRealWidth(303); dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); dateTypeView.btnClick.Tag = i;//鏍囪绫诲瀷 + switch (i) { case 0: @@ -204,7 +275,8 @@ } dateTypeView.btnText.Text = weekName; //寰幆绫诲瀷(渚嬪锛氭瘡鏈堬紝姣忓ぉ)鐐瑰嚮浜嬩欢 - dateTypeView.btnClick.MouseUpEventHandler += (sender, e) => { + dateTypeView.btnClick.MouseUpEventHandler += (sender, e) => + { int clickIndex = int.Parse(dateTypeView.btnClick.Tag.ToString()); switch (clickIndex) { @@ -227,7 +299,7 @@ break; case 2: { - // weekName = Language.StringByID(StringId.weekly); + // weekName = Language.StringByID(StringId.weekly); WeekMethod(fLayout, button); } break; @@ -242,35 +314,37 @@ } }; - + //鏄剧ず涔嬪墠鐨勭姸鎬� 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.performA)) + if (selecetdBtn.Text == Language.StringByID(StringId.monthly)|| selecetdBtn.Text == Language.StringByID(StringId.weekly)) { + //鎻愮ず锛氳繕鏈�� + return; + + } + + if (selecetdBtn.Text == Language.StringByID(StringId.performA)) { //鎵ц涓�娆� Logic.currlogic.cycle.type = "once"; } - else if (weekName == Language.StringByID(StringId.performA)) + else if (selecetdBtn.Text == Language.StringByID(StringId.days)) { //姣忓ぉ Logic.currlogic.cycle.type = "day"; } //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰 - button.Text = weekName; + button.Text = selecetdBtn.Text; //绉婚櫎fLayout鐣岄潰 fLayout.RemoveFromParent(); }; @@ -292,7 +366,7 @@ }; //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; List<string> weekList = new List<string>(); - if (Logic.currlogic.cycle.type == "mon") + if (Logic.currlogic.cycle.type == "week") { //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� weekList.AddRange(Logic.currlogic.cycle.value); @@ -388,14 +462,16 @@ } //纭畾鐐瑰嚮浜嬩欢 - weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => { - if (weekList.Count==0) { + weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (weekList.Count == 0) + { //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 return; } - Logic.currlogic.cycle.type = "mon"; + Logic.currlogic.cycle.type = "week"; Logic.currlogic.cycle.value = weekList; - button.Text = GetWeekString(weekList); + button.Text = MainView.GetWeekString(weekList); fLayout.RemoveFromParent(); }; @@ -414,64 +490,183 @@ { monView.frameLayout.RemoveFromParent(); }; - //58 + //瀹氫箟涓�涓眬閮╩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 = 0; i < 32; i++) + for (int i = 1; i < 32; i++) { Button monTextBtn = new Button { - Width = Application.GetMinRealAverage(30), - Height = Application.GetMinRealAverage(30), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + Radius = (uint)Application.GetRealWidth(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; + } - else { } + 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 = MainView.GetMonString(monList); + fLayout.RemoveFromParent(); + }; } /// <summary> - /// 鑾峰彇鏄熸湡鐨勫瓧绗︿覆 + /// 婊¤冻鏉′欢 /// </summary> - /// <param name="weekList"></param> - /// <returns></returns> - public string GetWeekString(List<string> weekList) + /// <param name="fLayout">寮规涓绘帶浠�</param> + /// <param name="button">鏄剧ず鏂囨湰</param> + public void AndOrMethod(FrameLayout fLayout, Button button) { - string weekTextName = ""; + LogicView.DateView meetTheConditionView = new LogicView.DateView(); + meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition; + meetTheConditionView.FLayoutView(fLayout, 2); + meetTheConditionView.btnCancel.MouseUpEventHandler += (sender2, e2) => + { + fLayout.RemoveFromParent(); + }; - if (weekList.Contains("0")) { - weekTextName += Language.StringByID(StringId.monday)+","; - } - if (weekList.Contains("1")) + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� + string condition = ""; + LogicView.SelectTypeView andConditionViews = new LogicView.SelectTypeView(); + andConditionViews.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; + andConditionViews.frameLayout.Y = Application.GetRealHeight(56); + andConditionViews.btnIcon.Visible = false; + andConditionViews.btnText.X = Application.GetRealWidth(20); + andConditionViews.btnText.TextID = StringId.andCondition; + andConditionViews.btnLine.X = Application.GetRealWidth(20); + andConditionViews.btnLine.Width = Application.GetRealWidth(303); + andConditionViews.btnNextIcon.X = Application.GetRealWidth(303); + andConditionViews.btnNextIcon.Width = Application.GetMinRealAverage(28); + andConditionViews.btnNextIcon.Height = Application.GetMinRealAverage(28); + andConditionViews.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; + andConditionViews.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; + meetTheConditionView.frameLayout.AddChidren(andConditionViews.FLayoutView()); + + + LogicView.SelectTypeView orConditionView = new LogicView.SelectTypeView(); + orConditionView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; + orConditionView.frameLayout.Y = Application.GetRealHeight(56 + 50); + orConditionView.btnIcon.Visible = false; + orConditionView.btnText.X = Application.GetRealWidth(20); + orConditionView.btnText.TextID = StringId.orCondition; + orConditionView.btnLine.X = Application.GetRealWidth(20); + orConditionView.btnLine.Width = Application.GetRealWidth(303); + orConditionView.btnNextIcon.X = Application.GetRealWidth(303); + orConditionView.btnNextIcon.Width = Application.GetMinRealAverage(28); + orConditionView.btnNextIcon.Height = Application.GetMinRealAverage(28); + orConditionView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; + orConditionView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; + meetTheConditionView.frameLayout.AddChidren(orConditionView.FLayoutView()); + + + if (Logic.currlogic.relation == "and") { - weekTextName += Language.StringByID(StringId.tuesday) + ","; + andConditionViews.btnNextIcon.IsSelected = true; + condition = "and"; } - if (weekList.Contains("2")) + else { - weekTextName += Language.StringByID(StringId.wednesday) + ","; + orConditionView.btnNextIcon.IsSelected = true; + condition = "or"; } - if (weekList.Contains("3")) + andConditionViews.btnClick.MouseUpEventHandler += (sen1, e) => { - weekTextName += Language.StringByID(StringId.thursday) + ","; - } - if (weekList.Contains("4")) + condition = "and"; + andConditionViews.btnNextIcon.IsSelected = true; + orConditionView.btnNextIcon.IsSelected = false; + }; + orConditionView.btnClick.MouseUpEventHandler += (sen1, e) => { - weekTextName += Language.StringByID(StringId.friday) + ","; - } - if (weekList.Contains("5")) + condition = "or"; + andConditionViews.btnNextIcon.IsSelected = false; + orConditionView.btnNextIcon.IsSelected = true; + }; + //纭畾鐐瑰嚮浜嬩欢 + meetTheConditionView.btnConfirm.MouseUpEventHandler += (sender1, e1) => { - weekTextName += Language.StringByID(StringId.saturday) + ","; - } - if (weekList.Contains("6")) - { - weekTextName += Language.StringByID(StringId.sunday) + ","; - } - if (weekTextName=="") { - return ""; - } - return weekTextName.TrimEnd(','); + if (string.IsNullOrEmpty(condition)) + { + //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 + return; + } + Logic.currlogic.relation = condition; + if (condition == "or") + { + button.Text = Language.StringByID(StringId.orCondition); + } + else + { + button.Text = Language.StringByID(StringId.andCondition); + } + fLayout.RemoveFromParent(); + }; + } + + } } -- Gitblit v1.8.0