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