using System; using System.Collections.Generic; using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation { public class Time3:FrameLayout { public Time3() { Tag = "Logic"; } public void Show(string titelText,bool edit,int index) { #region 界面布局 LogicView.TopView topView = new LogicView.TopView(); topView.frameLayout.Height = Application.GetRealHeight(64+20); this.AddChidren(topView.FLayoutView()); Button locationBtn = new Button { Width = Application.GetRealWidth(18), Height = Application.GetRealWidth(18), X = Application.GetRealWidth(208), Y = Application.GetRealHeight(34), UnSelectedImagePath = "LogicIcon/location.png", }; topView.frameLayout.AddChidren(locationBtn); Button textBtn = new Button { Height = Application.GetRealHeight(14), Y = Application.GetRealHeight(57), TextSize =LogicView.TextSize.text10, TextColor = CSS.CSS_Color.textCancelColor, Text = "广东广州市番禺区石楼镇", }; topView.frameLayout.AddChidren(textBtn); topView.clickBackBtn.MouseUpEventHandler += (e, sen) => { RemoveFromParent(); }; topView.topNameBtn.Text=titelText; FrameLayout viewLayout = new FrameLayout { Y = Application.GetRealHeight(64+20), Width = Application.GetRealWidth(LogicView.TextSize.view375), Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64-20), BackgroundColor = CSS.CSS_Color.viewMiddle, }; this.AddChidren(viewLayout); var list = new List { Language.StringByID(StringId.punctually), Language.StringByID(StringId.advanced), Language.StringByID(StringId.delayLogic), }; for (int i = 0; i < list.Count; i++) { LogicView.SelectTypeView timeView = new LogicView.SelectTypeView(); timeView.frameLayout.Y = Application.GetRealHeight(i * 50); timeView.btnIcon.Visible = false; timeView.btnText.X = Application.GetRealWidth(16); timeView.btnLine.X = Application.GetRealWidth(16); timeView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); timeView.btnText.Text = list[i]; timeView.btnClick.Tag= list[i]; if (i==0) { timeView.btnNextIcon.Visible = false; } viewLayout.AddChidren(timeView.FLayoutView()); timeView.btnClick.MouseUpEventHandler += (sen, e) => { string clickText = timeView.btnClick.Tag.ToString(); string keyValue = GetKeyValue(clickText, titelText); if (clickText == Language.StringByID(StringId.punctually)) { //正点 AddDic(keyValue, "0", edit, index); } else { //提前/延时 PublicInterface timePublicInterface = new PublicInterface(); var timelist = timePublicInterface.GetViewList("time"); timePublicInterface.SingleSelectionShow(this, timelist, clickText, "" , (value) => { string timeValue = value.Split(" ")[0]; AddDic(keyValue, timeValue, edit, index); }); } }; } #endregion } /// /// 获取键值 /// /// 当前选中文本 /// 标题文本 /// private string GetKeyValue(string clickText, string titelText) { string keyValue = ""; if (clickText == Language.StringByID(StringId.advanced)) { if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h)) { keyValue = "before_sunrise"; } else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h)) { keyValue = "before_sunset"; } else { keyValue = "at_sunrise"; } } else { if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h)) { keyValue = "after_sunrise"; } else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h)) { keyValue = "“after_sunset"; } else { keyValue = "at_sunset"; } } return keyValue; } /// /// 封装数据 /// /// /// /// /// private void AddDic(string keyValue, string value, bool edit, int index) { Input inputTime = new Input(); inputTime.sid = LogicMethod.NewSid(); inputTime.condition_type = "1"; Dictionary dic = new Dictionary(); LogicMethod.dictionary(dic, "key", keyValue); LogicMethod.dictionary(dic, "comparator", "="); LogicMethod.dictionary(dic, "data_type", "string"); LogicMethod.dictionary(dic, "value", value); inputTime.condition.Add(dic); AddCondition(inputTime, edit, index); } /// /// 添加条件 /// /// private void AddCondition(Input input, bool edit, int index) { if (edit) { //移除旧数据 Logic.currlogic.input.RemoveAt(index); //新数据插入旧数据的位置 Logic.currlogic.input.Insert(index, input); } else { //添加一个新的时间条件 Logic.currlogic.input.Add(input); } LogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }