陈嘉乐
2020-11-27 ae142832f9721956f963cf008047a2620a035bf7
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -11,10 +11,10 @@
        {
            Tag = "Logic";
        }
        public void Show()
        {
            this.BackgroundColor = CSS.CSS_Color.viewMiddle;
            LogicView.TopView topView = new LogicView.TopView();
            this.AddChidren(topView.FLayoutView());
@@ -23,7 +23,7 @@
                 RemoveFromParent();
             };
            topView.topNameBtn.TextID = StringId.newAutomation;
            VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout
            {
                Y = Application.GetRealHeight(64),
@@ -101,7 +101,7 @@
                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                };
                this.AddChidren(fLayout);
                DateMethod(fLayout,cyclicTitle.btnText);
                DateMethod(fLayout, cyclicTitle.btnText);
            };
@@ -135,7 +135,7 @@
                Logic.LogicList.Add(Logic.currlogic);
                LogicMethod.RemoveAllView();
                MainView.MainShow();
            };
            //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height;
            #endregion
@@ -148,7 +148,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 +204,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 +228,7 @@
                            break;
                        case 2:
                            {
                               // weekName = Language.StringByID(StringId.weekly);
                                // weekName = Language.StringByID(StringId.weekly);
                                WeekMethod(fLayout, button);
                            }
                            break;
@@ -242,7 +243,7 @@
                    }
                };
                //显示之前的状态
                if (button.Text == weekName)
                {
@@ -258,12 +259,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 +299,7 @@
            };
            //定义一个局部weekList列表用来记录选中数据;
            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,12 +395,14 @@
            }
            //确定点击事件
            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);
                fLayout.RemoveFromParent();
@@ -414,23 +423,89 @@
            {
                monView.frameLayout.RemoveFromParent();
            };
            //58
            //定义一个局部monList列表用来记录选中数据;
            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 = GetMonString(monList);
                fLayout.RemoveFromParent();
            };
        }
        /// <summary>
        /// 获取星期的字符串
@@ -441,8 +516,9 @@
        {
            string weekTextName = "";
            if (weekList.Contains("0")) {
                weekTextName += Language.StringByID(StringId.monday)+",";
            if (weekList.Contains("0"))
            {
                weekTextName += Language.StringByID(StringId.monday) + ",";
            }
            if (weekList.Contains("1"))
            {
@@ -468,10 +544,29 @@
            {
                weekTextName += Language.StringByID(StringId.sunday) + ",";
            }
            if (weekTextName=="") {
            if (weekTextName == "")
            {
                return "";
            }
            return weekTextName.TrimEnd(',');
        }
        /// <summary>
        /// 获取每月的字符串
        /// </summary>
        /// <param name="monList"></param>
        /// <returns></returns>
        public string GetMonString(List<string> monList)
        {
            string monTextName = Language.StringByID(StringId.monthly);
            for (int i = 1; i < 32; i++)
            {
                if (monList.Contains(i.ToString()))
                {
                    monTextName += i.ToString() + ",";
                }
            }
            return monTextName.TrimEnd(',');
        }
    }
}