From e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 09 十二月 2020 18:50:14 +0800
Subject: [PATCH] 2020-12-09 1.信息中心,增加下划线和点击Alter提醒详情。

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  361 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 278 insertions(+), 83 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index c20eedd..d9ebfb3 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -11,19 +11,39 @@
         {
             Tag = "Logic";
         }
-        
+
         public void Show()
         {
-            
+
             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.sid))
+            {
+                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;
+            }
+            topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                Set set = new Set();
+                MainPage.BasePageView.AddChidren(set);
+                set.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+
             VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout
             {
                 Y = Application.GetRealHeight(64),
@@ -40,8 +60,19 @@
             ///婊¤冻浠ヤ笅鏉′欢鐨刅iew
             LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView();
             titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
-            titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet;
+            titleCondition.btnText.TextID = StringId.andCondition;
             viewLayout.AddChidren(titleCondition.FLayoutView());
+            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                AndOrMethod(fLayout, titleCondition.btnText);
+            };
+
+
             // 鏉′欢澶勭悊鏂规硶
             InpOrOutLogicMethod.InputCondition(this, viewLayout);
             ///娣诲姞鍥炬爣鐨刅iew
@@ -67,6 +98,7 @@
             LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView();
             titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
             titleOutpu.btnText.TextID = StringId.theFollowingActions;
+            titleOutpu.btnNextIcon.Visible = false;
             viewLayout.AddChidren(titleOutpu.FLayoutView());
             //鐩爣澶勭悊鏂规硶
             InpOrOutLogicMethod.OutputTarget(this, viewLayout);
@@ -92,7 +124,7 @@
             LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView();
             cyclicTitle.frameLayout.Height = Application.GetRealHeight(50);
             cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
-            cyclicTitle.btnText.TextID = StringId.days;
+            cyclicTitle.btnText.Text = MainView.GetWeekText(Logic.currlogic);
             viewLayout.AddChidren(cyclicTitle.FLayoutView());
             cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
             {
@@ -101,28 +133,33 @@
                     BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                 };
                 this.AddChidren(fLayout);
-                DateMethod(fLayout,cyclicTitle.btnText);
+                DateMethod(fLayout, cyclicTitle.btnText);
 
 
             };
             #endregion
 
             #region  鎵ц鎺ㄩ�� 鍙戦�侀�氱煡
-            ///涓婁笅闂撮殧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(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
-            push.btnText.TextID = StringId.push;
-            viewLayout.AddChidren(push.FLayoutView());
-            ///鍙戦�侀�氱煡View        
-            LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView();
-            notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
-            notification.btnText.TextID = StringId.notification;
-            viewLayout.AddChidren(notification.FLayoutView());
-            ///涓婁笅闂撮殧62鍍忕礌
-            viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) });
+            /////涓婁笅闂撮殧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(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+            //push.btnText.TextID = StringId.push;
+            //push.btnNextIcon.Width = Application.GetMinRealAverage(36);
+            //push.btnNextIcon.Height = Application.GetMinRealAverage(36);
+            //push.btnNextIcon.X = Application.GetRealWidth(305);
+            //push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png";
+            //push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png";
+            //viewLayout.AddChidren(push.FLayoutView());
+            /////鍙戦�侀�氱煡View        
+            //LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView();
+            //notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+            //notification.btnText.TextID = StringId.notification;
+            //viewLayout.AddChidren(notification.FLayoutView());
+            /////涓婁笅闂撮殧62鍍忕礌
+            //viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) });
             #endregion
 
             #region  淇濆瓨
@@ -132,15 +169,48 @@
             this.AddChidren(saveView.FLayoutView());
             saveView.btnClick.MouseUpEventHandler += (sender, e) =>
             {
-                Logic.LogicList.Add(Logic.currlogic);
-                LogicMethod.RemoveAllView();
-                MainView.MainShow();
-                
+                if (string.IsNullOrEmpty(Logic.currlogic.sid))
+                {
+                    List<string> list = new List<string>();
+                    foreach (var logic in Logic.LogicList)
+                    {
+                        list.Add(logic.name);
+                    }
+                    new LogicView.TipPopView().InputBox(StringId.editName, Logic.currlogic.name, StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) =>
+                    {
+                        Logic.currlogic.name = logicName;
+                        Logic.currlogic.sid = LogicMethod.NewSid();
+                        //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
+                        var responsePackNew = Send.AddLogic(Logic.currlogic);
+                        if (responsePackNew.Code == "0")
+                        {
+                            Logic.LogicList.Add(Logic.currlogic);
+                            LogicMethod.RemoveAllView();
+                            MainView.MainShow();
+                        }
+                        else {
+                            new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                        }
+
+                    });
+
+                }
+                else
+                {
+                    //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
+                    var responsePackNew = Send.updateLogic(Logic.currlogic);
+                    if (responsePackNew.Code == "0")
+                    {
+                        LogicMethod.RemoveAllView();
+                        MainView.MainShow();
+                    }
+                    else {
+                        new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                    }
+                }
+
             };
-            //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height;
             #endregion
-
-
 
         }
         /// <summary>
@@ -148,7 +218,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();
@@ -162,7 +232,7 @@
             //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
             string weekName = "";
             //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn;
-            var selecetdBtn = new Button();
+            var selecetdBtn = new Button() { Text=""};
             for (int i = 0; i < 4; i++)
             {
                 LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView();
@@ -175,6 +245,7 @@
                 dateTypeView.btnLine.Width = Application.GetRealWidth(303);
                 dateView.frameLayout.AddChidren(dateTypeView.FLayoutView());
                 dateTypeView.btnClick.Tag = i;//鏍囪绫诲瀷
+
                 switch (i)
                 {
                     case 0:
@@ -204,7 +275,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 +299,7 @@
                             break;
                         case 2:
                             {
-                               // weekName = Language.StringByID(StringId.weekly);
+                                // weekName = Language.StringByID(StringId.weekly);
                                 WeekMethod(fLayout, button);
                             }
                             break;
@@ -242,35 +314,37 @@
                     }
                 };
 
-             
+
                 //鏄剧ず涔嬪墠鐨勭姸鎬�
                 if (button.Text == weekName)
                 {
                     dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
                     selecetdBtn = dateTypeView.btnText;
-                }
-                else if (button.Text == weekName)
-                {
-                    dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
-                    selecetdBtn = dateTypeView.btnText;
+
                 }
             }
             //纭畾淇濆瓨
             dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
             {
-                if (weekName == Language.StringByID(StringId.performA))
+                if (selecetdBtn.Text == Language.StringByID(StringId.monthly)|| selecetdBtn.Text == Language.StringByID(StringId.weekly)) {
+                    //鎻愮ず锛氳繕鏈��
+                    return;
+
+                }
+
+                if (selecetdBtn.Text == Language.StringByID(StringId.performA))
                 {
                     //鎵ц涓�娆�
                     Logic.currlogic.cycle.type = "once";
                 }
-                else if (weekName == Language.StringByID(StringId.performA))
+                else if (selecetdBtn.Text == Language.StringByID(StringId.days))
                 {
                     //姣忓ぉ
                     Logic.currlogic.cycle.type = "day";
 
                 }
                 //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
-                button.Text = weekName;
+                button.Text = selecetdBtn.Text;
                 //绉婚櫎fLayout鐣岄潰
                 fLayout.RemoveFromParent();
             };
@@ -292,7 +366,7 @@
             };
             //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
             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,14 +462,16 @@
 
             }
             //纭畾鐐瑰嚮浜嬩欢
-            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);
+                button.Text = MainView.GetWeekString(weekList);
                 fLayout.RemoveFromParent();
             };
 
@@ -414,64 +490,183 @@
             {
                 monView.frameLayout.RemoveFromParent();
             };
-            //58
+            //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
+            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),
+                    Width = Application.GetRealWidth(30),
+                    Height = Application.GetRealWidth(30),
+                    Radius = (uint)Application.GetRealWidth(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 = MainView.GetMonString(monList);
+                fLayout.RemoveFromParent();
+            };
         }
         /// <summary>
-        /// 鑾峰彇鏄熸湡鐨勫瓧绗︿覆
+        /// 婊¤冻鏉′欢
         /// </summary>
-        /// <param name="weekList"></param>
-        /// <returns></returns>
-        public string GetWeekString(List<string> weekList)
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <param name="button">鏄剧ず鏂囨湰</param>
+        public void AndOrMethod(FrameLayout fLayout, Button button)
         {
-            string weekTextName = "";
+            LogicView.DateView meetTheConditionView = new LogicView.DateView();
+            meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition;
+            meetTheConditionView.FLayoutView(fLayout, 2);
+            meetTheConditionView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
+            {
+                fLayout.RemoveFromParent();
+            };
 
-            if (weekList.Contains("0")) {
-                weekTextName += Language.StringByID(StringId.monday)+",";
-            }
-            if (weekList.Contains("1"))
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
+            string condition = "";
+            LogicView.SelectTypeView andConditionViews = new LogicView.SelectTypeView();
+            andConditionViews.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
+            andConditionViews.frameLayout.Y = Application.GetRealHeight(56);
+            andConditionViews.btnIcon.Visible = false;
+            andConditionViews.btnText.X = Application.GetRealWidth(20);
+            andConditionViews.btnText.TextID = StringId.andCondition;
+            andConditionViews.btnLine.X = Application.GetRealWidth(20);
+            andConditionViews.btnLine.Width = Application.GetRealWidth(303);
+            andConditionViews.btnNextIcon.X = Application.GetRealWidth(303);
+            andConditionViews.btnNextIcon.Width = Application.GetMinRealAverage(28);
+            andConditionViews.btnNextIcon.Height = Application.GetMinRealAverage(28);
+            andConditionViews.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
+            andConditionViews.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
+            meetTheConditionView.frameLayout.AddChidren(andConditionViews.FLayoutView());
+
+
+            LogicView.SelectTypeView orConditionView = new LogicView.SelectTypeView();
+            orConditionView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
+            orConditionView.frameLayout.Y = Application.GetRealHeight(56 + 50);
+            orConditionView.btnIcon.Visible = false;
+            orConditionView.btnText.X = Application.GetRealWidth(20);
+            orConditionView.btnText.TextID = StringId.orCondition;
+            orConditionView.btnLine.X = Application.GetRealWidth(20);
+            orConditionView.btnLine.Width = Application.GetRealWidth(303);
+            orConditionView.btnNextIcon.X = Application.GetRealWidth(303);
+            orConditionView.btnNextIcon.Width = Application.GetMinRealAverage(28);
+            orConditionView.btnNextIcon.Height = Application.GetMinRealAverage(28);
+            orConditionView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
+            orConditionView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
+            meetTheConditionView.frameLayout.AddChidren(orConditionView.FLayoutView());
+
+
+            if (Logic.currlogic.relation == "and")
             {
-                weekTextName += Language.StringByID(StringId.tuesday) + ",";
+                andConditionViews.btnNextIcon.IsSelected = true;
+                condition = "and";
             }
-            if (weekList.Contains("2"))
+            else
             {
-                weekTextName += Language.StringByID(StringId.wednesday) + ",";
+                orConditionView.btnNextIcon.IsSelected = true;
+                condition = "or";
             }
-            if (weekList.Contains("3"))
+            andConditionViews.btnClick.MouseUpEventHandler += (sen1, e) =>
             {
-                weekTextName += Language.StringByID(StringId.thursday) + ",";
-            }
-            if (weekList.Contains("4"))
+                condition = "and";
+                andConditionViews.btnNextIcon.IsSelected = true;
+                orConditionView.btnNextIcon.IsSelected = false;
+            };
+            orConditionView.btnClick.MouseUpEventHandler += (sen1, e) =>
             {
-                weekTextName += Language.StringByID(StringId.friday) + ",";
-            }
-            if (weekList.Contains("5"))
+                condition = "or";
+                andConditionViews.btnNextIcon.IsSelected = false;
+                orConditionView.btnNextIcon.IsSelected = true;
+            };
+            //纭畾鐐瑰嚮浜嬩欢
+            meetTheConditionView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
             {
-                weekTextName += Language.StringByID(StringId.saturday) + ",";
-            }
-            if (weekList.Contains("6"))
-            {
-                weekTextName += Language.StringByID(StringId.sunday) + ",";
-            }
-            if (weekTextName=="") {
-                return "";
-            }
-            return weekTextName.TrimEnd(',');
+                if (string.IsNullOrEmpty(condition))
+                {
+                    //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
+                    return;
+                }
+                Logic.currlogic.relation = condition;
+                if (condition == "or")
+                {
+                    button.Text = Language.StringByID(StringId.orCondition);
+                }
+                else
+                {
+                    button.Text = Language.StringByID(StringId.andCondition);
+                }
+                fLayout.RemoveFromParent();
+            };
+
         }
+
+
     }
 }

--
Gitblit v1.8.0