From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 651 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 487 insertions(+), 164 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 4559743..f8b2ea0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -14,20 +14,34 @@
public void Show()
{
+ #region 鐣岄潰甯冨眬
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.userLogicId))
+ {
+ 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;
+ }
+
VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout
{
Y = Application.GetRealHeight(64),
Width = Application.GetRealWidth(LogicView.TextSize.view375),
- Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64-76),
+ Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64 - 76),
BackgroundColor = CSS.CSS_Color.viewMiddle,
};
this.AddChidren(viewLayout);
@@ -38,159 +52,26 @@
viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12));
///婊¤冻浠ヤ笅鏉′欢鐨刅iew
LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView();
- titleCondition.frameLayout.SetCornerWithSameRadius(12,HDLUtils.RectCornerTopLeft| HDLUtils.RectCornerTopRight);
- titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet;
+ titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+ titleCondition.btnText.TextID = StringId.andCondition;
viewLayout.AddChidren(titleCondition.FLayoutView());
- for (int i = 0; i < Logic.currlogic.input.Count; i++)
+ if (Logic.currlogic.relation == "and")
{
- Input inputCondition = Logic.currlogic.input[i];
- ///杈撳叆鍚勭鏉′欢鐨刅iew
- LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
- viewLayout.AddChidren(inputView.FLayoutView());
- ///璁板綍鏉′欢绫诲瀷
- inputView.btnClick.Name = inputCondition.condition_type;
- ///璁板綍閫変腑鏉′欢
- inputView.btnClick.Tag = i;
- ///杈撳叆鏉′欢鐘舵�佹暟缁�
- List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>;
- //鏄剧ず鏉′欢鍚勭鐘舵��
- switch (inputCondition.condition_type)
- {
- case "1":
- {
- inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png";
- foreach (var dic in dicList)
- {
- string value = dic["value"];
- inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
- inputView.btnClick.AddTag("timepoint", value);
- }
-
- }
- break;
- case "2":
- {
- inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png";
- foreach (var dic in dicList)
- {
- string value = dic["value"];
- inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
- inputView.btnClick.AddTag("timeHorizon", value);
- }
-
- }
- break;
-
- }
- //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠�
- inputView.btnClick.MouseUpEventHandler += (sen, e) =>
- {
- Button button = (Button)sen;
- switch (button.Name)
- {
- case "1":
- { //涓荤晫闈㈡帶浠�
- FrameLayout fLayout = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- //娣诲姞涓荤晫闈�
- this.AddChidren(fLayout);
- LogicView.TimeView timePointView = new LogicView.TimeView();
- timePointView.FLayoutView(fLayout);
- EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
- {
- //绉婚櫎fLayout鐣岄潰
- fLayout.RemoveFromParent();
- };
- //鐣岄潰鐐瑰嚮浜嬩欢
- fLayout.MouseUpEventHandler += RemovefLayout;
- //鍙栨秷鐐瑰嚮浜嬩欢
- timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
- //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
- timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null);
- string startingVulae = button.GetTagByKey("timepoint").ToString();
- //榛樿鍒濆閫変腑鐘舵��
- timePointView.mUIPickerView.setCurrentItems(1, 30, 0);
- //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
- string timepoint = "01:05";
- if (!string.IsNullOrEmpty(startingVulae))
- {
- int hIndex = timePointView.GetValueIndex(startingVulae, 0, 1, timePointView.GethIntList());
- int mIndex = timePointView.GetValueIndex(startingVulae, 1, 0, timePointView.GetmIntList());
- //鏇存柊鍒濆鐘舵��
- timePointView.mUIPickerView.setCurrentItems(hIndex - 1, mIndex, 0);
- timepoint = startingVulae;
- }
-
- //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
- timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
- {
- string hour = timePointView.GethStringList()[index1].Split(' ')[0];
- string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
- timepoint = hour + ":" + minuet;
- };
- //纭畾鐐瑰嚮浜嬩欢
- timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
- {
- if (startingVulae == timepoint)
- {
- ///缂栬緫鏂版椂闂村拰涔嬪墠鏃堕棿涓�鏍�,鐩存帴鍏抽棴鐣岄潰杩斿洖;
- fLayout.RemoveFromParent();
- return;
- }
- Input inputTime = new Input();
- inputTime.sid = LogicMethod.NewSid();
- inputTime.condition_type = "1";
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "timepoint");
- LogicMethod.dictionary(dic, "comparator", "=");
- LogicMethod.dictionary(dic, "data_type", "string");
- LogicMethod.dictionary(dic, "value", timepoint);
- inputTime.condition.Add(dic);
- //鏃ф暟鎹储寮�
- int indexValue = int.Parse(inputView.btnClick.Tag.ToString());
- //绉婚櫎鏃ф暟鎹�
- Logic.currlogic.input.RemoveAt(indexValue);
- //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
- Logic.currlogic.input.Insert(indexValue, inputTime);
- //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
- RemoveViewByTag("Logic");
- AddLogic addLogic = new AddLogic();
- MainPage.BasePageView.AddChidren(addLogic);
- addLogic.Show();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-
- };
- }
- break;
- case "2":
- {
- FrameLayout fLayout = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(fLayout);
- TimeTpye timeTpye = new TimeTpye();
- timeTpye.TimeHorizon(fLayout,true,int.Parse(inputView.btnClick.Tag.ToString()));
- }
- break;
- }
- };
+ titleCondition.btnText.Text = Language.StringByID(StringId.andCondition);
}
+ else
+ {
+ titleCondition.btnText.Text = Language.StringByID(StringId.orCondition);
+
+ }
+
+ // 鏉′欢澶勭悊鏂规硶
+ InpOrOutLogicMethod.InputCondition(this, viewLayout);
///娣诲姞鍥炬爣鐨刅iew
LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView();
- addInputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+ addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
viewLayout.AddChidren(addInputIcon.FLayoutView());
-
- addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
- {
- var addInputType = new AddInputType();
- MainPage.BasePageView.AddChidren(addInputType);
- addInputType.Show();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- };
#endregion
#region 鐩爣
@@ -200,16 +81,17 @@
viewLayout.AddChidren(addOutpuTextView.FLayoutView(54, 20));
///浠ヤ笅鍔ㄤ綔View
LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView();
- titleOutpu.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+ titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
titleOutpu.btnText.TextID = StringId.theFollowingActions;
+ titleOutpu.btnNextIcon.Visible = false;
viewLayout.AddChidren(titleOutpu.FLayoutView());
- ///杈撳嚭鍚勭鍔ㄤ綔鐨刅iew
- LogicView.AddOutputInputView outputView = new LogicView.AddOutputInputView();
- viewLayout.AddChidren(outputView.FLayoutView());
+ //鐩爣澶勭悊鏂规硶
+ InpOrOutLogicMethod.OutputTarget(this, viewLayout);
///娣诲姞鍥炬爣鐨刅iew
LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView();
- addOutputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+ addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
viewLayout.AddChidren(addOutputIcon.FLayoutView());
+
#endregion
#region 寰幆鏂瑰紡
@@ -218,42 +100,483 @@
cyclicTextView.btnIf.TextID = StringId.cyclic;
viewLayout.AddChidren(cyclicTextView.FLayoutView(54, 20));
///閫夋嫨鍛ㄦ湡绫诲瀷View
- LogicView.LogicTypeTitleView cyclicTitle= new LogicView.LogicTypeTitleView();
- cyclicTextView.frameLayout.Height = Application.GetRealHeight(50);
- cyclicTitle.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight|HDLUtils.RectCornerBottomLeft|HDLUtils.RectCornerBottomRight);
- //cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
- cyclicTitle.btnText.TextID = StringId.days;
+ LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView();
+ cyclicTitle.frameLayout.Height = Application.GetRealHeight(50);
+ cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
+ cyclicTitle.btnText.Text = MainView.GetCyclicText(Logic.currlogic);
viewLayout.AddChidren(cyclicTitle.FLayoutView());
+
#endregion
#region 鎵ц鎺ㄩ�� 鍙戦�侀�氱煡
///涓婁笅闂撮殧12鍍忕礌
- viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(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(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+ push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
push.btnText.TextID = StringId.push;
+ push.btnNextIcon.Width = Application.GetRealWidth(36);
+ push.btnNextIcon.Height = Application.GetRealWidth(36);
+ push.btnNextIcon.X = Application.GetRealWidth(305);
+ push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png";
+ push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png";
+ push.btnClick.Width = Application.GetRealWidth(305);
viewLayout.AddChidren(push.FLayoutView());
///鍙戦�侀�氱煡View
LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView();
- notification.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+ notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
notification.btnText.TextID = StringId.notification;
+ notification.btnLine.BackgroundColor = CSS.CSS_Color.textWhiteColor;
viewLayout.AddChidren(notification.FLayoutView());
+ //鏄剧ず涔嬪墠鎺ㄩ�佸紑鍏崇姸鎬�
+ if (Logic.currlogic.noticeConfig.enable)
+ {
+ push.btnNextIcon.IsSelected = true;
+ }
+ else
+ {
+ push.btnNextIcon.IsSelected = false;
+ }
///涓婁笅闂撮殧62鍍忕礌
- viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62)});
+ viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(40) });
#endregion
#region 淇濆瓨
///淇濆瓨View
LogicView.SaveView saveView = new LogicView.SaveView();
- saveView.frameLayout.SetCornerWithSameRadius(24,HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
+ saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
this.AddChidren(saveView.FLayoutView());
- //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height;
+
+ #endregion
#endregion
+ #region 鐣岄潰鍚勭鐐瑰嚮浜嬩欢
+ ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
+ topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ Set set = new Set();
+ MainPage.BasePageView.AddChidren(set);
+ set.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ };
+ ///鎴栧拰涓庣偣鍑讳簨浠�
+ titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ AndOrMethod(titleCondition.btnText);
+ };
+ ///鏉′欢娣诲姞鐐瑰嚮浜嬩欢
+ addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+ var addInputType = new AddInputType();
+ MainPage.BasePageView.AddChidren(addInputType);
+ addInputType.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ ///鐩爣娣诲姞鐐瑰嚮浜嬩欢
+ addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+ var addTarget = new AddTarget();
+ MainPage.BasePageView.AddChidren(addTarget);
+ addTarget.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ ///寰幆鏂瑰紡鐐瑰嚮浜嬩欢
+ cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ DateMethod(cyclicTitle.btnText);
+ };
+ ///鏄惁瑕佹帹閫佺偣鍑讳簨浠�
+ push.btnNextIcon.MouseUpEventHandler += (sender, e) =>
+ {
+ //璐﹀彿鍒楄〃涓虹┖榛樿鎺ㄩ�佸綋鍓嶈处鍙�
+ if (Logic.currlogic.pushConfigs.Count == 0)
+ {
+ //鍒濆鍖栧璞�
+ PushConfigs pushConfigs = new PushConfigs();
+ //榛樿娣诲姞鎺ㄩ�佸綋鍓嶈处鍙�
+ pushConfigs.pushTarget.Add(UserInfo.Current.ID);
+ Logic.currlogic.pushConfigs.Add(pushConfigs);
+ }
+ push.btnNextIcon.IsSelected = !push.btnNextIcon.IsSelected;
+ if (push.btnNextIcon.IsSelected)
+ {
+ Logic.currlogic.noticeConfig.enable = true;
+ }
+ else
+ {
+ Logic.currlogic.noticeConfig.enable = false;
+ }
+ };
+ ///杈撳叆鎺ㄩ�佹枃鏈�
+ notification.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ InputPushText inputPushText = new InputPushText();
+ MainPage.BasePageView.AddChidren(inputPushText);
+ inputPushText.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ ///淇濆瓨鐐瑰嚮浜嬩欢
+ saveView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ if (Logic.currlogic.input.Count == 0 && Logic.currlogic.output.Count == 0)
+ {
+ new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNullOrtargetNull);
+ return;
+ }
+ if (Logic.currlogic.input.Count == 0)
+ {
+ new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNull);
+ return;
+ }
+ if (Logic.currlogic.output.Count == 0)
+ {
+ new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull);
+ return;
+ }
+ Loading loading = new Loading();
+ this.AddChidren(loading);
+ HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
+ if (string.IsNullOrEmpty(Logic.currlogic.userLogicId))
+ {
+ List<string> list = new List<string>();
+ foreach (var logic in Logic.LogicList)
+ {
+ list.Add(logic.name);
+ }
+ new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName, view
+ ) =>
+ {
+ Logic.currlogic.name = logicName;
+ Logic.currlogic.sid = LogicMethod.NewSid();
+ loading.Start();
+ new System.Threading.Thread(() =>
+ {
+
+ try
+ {
+ //鍙戦�佹柊鍔犻�昏緫鍛戒护锛�
+ responsePackNew = Send.AddLogic(Logic.currlogic);
+
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ loading.Hide();
+ if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+ {
+
+
+ //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�);
+ var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+ for (int a = 0; a < jArray.Count; a++)
+ {
+ var jay = jArray[a];
+ //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+ var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str);
+ if (logic.userLogicId != "")
+ {
+ //鏇存柊浜戠鍞竴鑷姩鍖杋d;
+ Logic.currlogic.userLogicId = logic.userLogicId;
+ }
+ else
+ {
+ //鑷繁鐪嬬殑鎵�浠ヤ笉闇�瑕佹敮鎸佷腑鑻辨枃
+ new LogicView.TipPopView().FlashingBox("娌℃湁杩斿洖浜戠鍞竴鑷姩鍖杋d");
+ }
+
+ }
+
+ Logic.LogicList.Add(Logic.currlogic);
+ LogicMethod.RemoveAllView();
+ MainView.MainShow();
+ }
+ else if (responsePackNew != null && responsePackNew.Code == "14005")
+ {
+ new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline));
+ }
+ else
+ {
+ new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+ }
+ });
+ }
+
+ })
+ { IsBackground = true }.Start();
+
+ }, () => { });
+
+ }
+ else
+ {
+ loading.Start();
+ new System.Threading.Thread(() =>
+ {
+
+ try
+ {
+ //鍙戦�佷慨鏀归�昏緫鍛戒护锛�
+ responsePackNew = Send.UpdateLogic(Logic.currlogic);
+
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ loading.Hide();
+ if (responsePackNew != null && responsePackNew.Code == "0")
+ {
+ LogicMethod.RemoveAllView();
+ MainView.MainShow();
+ }
+ else if (responsePackNew != null && responsePackNew.Code == "14005")
+ {
+ new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline));
+ }
+ else
+ {
+ new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+ }
+ });
+ }
+
+
+
+ })
+ { IsBackground = true }.Start();
+
+ }
+
+ };
+ #endregion
+ }
+ /// <summary>
+ /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��)
+ /// </summary>
+ /// <param name="button">鏄剧ず鏂囨湰</param>
+ public void DateMethod(Button button)
+ {
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ 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() { Text = "" };
+ 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:
+ {
+ WeekMethod(fLayout, button);
+ }
+ break;
+ case 3:
+ {
+ MonMethod(fLayout, button);
+ }
+ break;
+
+
+ }
+ };
+
+
+ //鏄剧ず涔嬪墠鐨勭姸鎬�
+ if (button.Text == weekName)
+ {
+ dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
+ selecetdBtn = dateTypeView.btnText;
+
+ }
+ }
+ //纭畾淇濆瓨
+ dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
+ {
+ if (selecetdBtn.Text == Language.StringByID(StringId.performA))
+ {
+ //鎵ц涓�娆�
+ Logic.currlogic.cycle.type = "once";
+ }
+ else if (selecetdBtn.Text == Language.StringByID(StringId.days))
+ {
+ //姣忓ぉ
+ Logic.currlogic.cycle.type = "day";
+
+ }
+ else
+ {
+ //鎻愮ず锛氳繕鏈��
+ return;
+ }
+ //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
+ button.Text = selecetdBtn.Text;
+ //绉婚櫎fLayout鐣岄潰
+ fLayout.RemoveFromParent();
+ };
+ }
+ /// <summary>
+ /// 閫変腑鏄熸湡鍑�(鍛ㄤ竴锛屽懆浜� 銆傘�傘��)
+ /// </summary>
+ /// <param name="fLayout">寮规涓绘帶浠�</param>
+ /// <param name="button">鏄剧ず鏂囨湰</param>
+ public void WeekMethod(FrameLayout fLayout, Button button)
+ {
+ //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
+ List<string> weekStateList = new List<string>();
+ PublicInterface weekView = new PublicInterface();
+ if (Logic.currlogic.cycle.type == "week")
+ {
+ //鏁版嵁杞崲
+ var list = weekView.GetWeekString(Logic.currlogic.cycle.value, "int");
+ //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
+ weekStateList.AddRange(list);
+ }
+ var weekListStr = weekView.GetViewList("week");
+ weekView.MultiSelectShow(fLayout, weekListStr, Language.StringByID(StringId.cyclic), weekStateList
+ , (list) =>
+ {
+
+ //閫変腑鏁版嵁澶勭悊
+ var statelist = weekView.GetWeekString(list, "str");
+ string textStr = MainView.GetWeekString(statelist);
+ //鏄剧ず閫変腑鏁版嵁
+ button.Text = textStr;
+ //灏佽鏁版嵁
+ Logic.currlogic.cycle.type = "week";
+ Logic.currlogic.cycle.value = statelist;
+
+ });
+ }
+ /// <summary>
+ /// 姣忔湀
+ /// </summary>
+ /// <param name="fLayout">寮规涓绘帶浠�</param>
+ /// <param name="button">鏄剧ず鏂囨湰</param>
+ public void MonMethod(FrameLayout fLayout, Button button)
+ {
+
+ PublicInterface weekView = new PublicInterface();
+ weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) =>
+ {
+ //閫変腑鏁版嵁澶勭悊
+ string textStr = MainView.GetMonString(monList);
+ //鏄剧ず閫変腑鏁版嵁
+ button.Text = textStr;
+ //灏佽鏁版嵁
+ Logic.currlogic.cycle.type = "mon";
+ Logic.currlogic.cycle.value = monList;
+ });
+
+ }
+ /// <summary>
+ /// 婊¤冻鏉′欢
+ /// </summary>
+ /// <param name="button">鏄剧ず鏂囨湰</param>
+ public void AndOrMethod(Button button)
+ {
+
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string currCondition = button.Text;
+ PublicInterface conditionView = new PublicInterface();
+ var strList = conditionView.GetViewList("andor");
+ conditionView.SingleSelectionShow(this, strList, Language.StringByID(StringId.meetTheCondition), currCondition
+ , (stateValue) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ button.Text = stateValue;
+ //灏佽鏁版嵁
+ if (stateValue == Language.StringByID(StringId.orCondition))
+ {
+ Logic.currlogic.relation = "or";
+ }
+ else
+ {
+ Logic.currlogic.relation = "and";
+ }
+
+ });
}
+
+
}
}
--
Gitblit v1.8.0