From 62d77d3bb8e7215d9da9ecf6f5aeda0b69f805f8 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 08 十二月 2020 18:57:15 +0800
Subject: [PATCH] 20201208
---
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 312 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 255 insertions(+), 57 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..8640e96 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);
@@ -101,7 +133,7 @@
BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
};
this.AddChidren(fLayout);
- DateMethod(fLayout,cyclicTitle.btnText);
+ DateMethod(fLayout, cyclicTitle.btnText);
};
@@ -115,6 +147,11 @@
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();
@@ -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();
@@ -204,7 +274,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 +298,7 @@
break;
case 2:
{
- // weekName = Language.StringByID(StringId.weekly);
+ // weekName = Language.StringByID(StringId.weekly);
WeekMethod(fLayout, button);
}
break;
@@ -242,7 +313,7 @@
}
};
-
+
//鏄剧ず涔嬪墠鐨勭姸鎬�
if (button.Text == weekName)
{
@@ -258,12 +329,18 @@
//纭畾淇濆瓨
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.performA))
+ else if (weekName == Language.StringByID(StringId.days))
{
//姣忓ぉ
Logic.currlogic.cycle.type = "day";
@@ -292,7 +369,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 +465,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 +493,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),
+ 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;
+
}
- 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