From 35a33afeeb29466c20ee39dc34e0468d687afce9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 20 十一月 2020 17:47:38 +0800
Subject: [PATCH] 2020-11-20-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  146 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 141 insertions(+), 5 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 3968f80..4559743 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using Shared;
+using System.Collections.Generic;
 
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
@@ -8,14 +9,14 @@
     {
         public AddLogic()
         {
-
+            Tag = "Logic";
         }
 
         public void Show()
         {
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             LogicView.TopView topView = new LogicView.TopView();
-            this.AddChidren(topView.TopFLayoutView());
+            this.AddChidren(topView.FLayoutView());
             topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
              {
                  RemoveFromParent();
@@ -40,9 +41,144 @@
             titleCondition.frameLayout.SetCornerWithSameRadius(12,HDLUtils.RectCornerTopLeft| HDLUtils.RectCornerTopRight);
             titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet;
             viewLayout.AddChidren(titleCondition.FLayoutView());
-            ///杈撳叆鍚勭鏉′欢鐨刅iew
-            LogicView.AddOutputInputView InputView = new LogicView.AddOutputInputView();
-            viewLayout.AddChidren(InputView.FLayoutView());
+
+            for (int i = 0; i < Logic.currlogic.input.Count; i++)
+            {
+                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;
+                    }
+                };
+            }
             ///娣诲姞鍥炬爣鐨刅iew
             LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView();
             addInputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);

--
Gitblit v1.8.0