From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 158 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 17a2403..8640e96 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -26,14 +26,25 @@
             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.setBtn.MouseUpEventHandler += (sender,e) => { };
+            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
+            };
+
+            VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout
             {
                 Y = Application.GetRealHeight(64),
                 Width = Application.GetRealWidth(LogicView.TextSize.view375),
@@ -49,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
@@ -76,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);
@@ -124,6 +147,11 @@
             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();
@@ -143,18 +171,45 @@
             {
                 if (string.IsNullOrEmpty(Logic.currlogic.sid))
                 {
-                    Logic.currlogic.sid = LogicMethod.NewSid();
-                    Logic.LogicList.Add(Logic.currlogic);
+                    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));
+                    }
                 }
-                LogicMethod.RemoveAllView();
-                MainView.MainShow();
-                //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
+
             };
-            //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height;
             #endregion
 
         }
@@ -522,7 +577,99 @@
                 fLayout.RemoveFromParent();
             };
         }
+        /// <summary>
+        /// 婊¤冻鏉′欢
+        /// </summary>
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <param name="button">鏄剧ず鏂囨湰</param>
+        public void AndOrMethod(FrameLayout fLayout, Button button)
+        {
+            LogicView.DateView meetTheConditionView = new LogicView.DateView();
+            meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition;
+            meetTheConditionView.FLayoutView(fLayout, 2);
+            meetTheConditionView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
+            {
+                fLayout.RemoveFromParent();
+            };
 
-        
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
+            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")
+            {
+                andConditionViews.btnNextIcon.IsSelected = true;
+                condition = "and";
+            }
+            else
+            {
+                orConditionView.btnNextIcon.IsSelected = true;
+                condition = "or";
+            }
+            andConditionViews.btnClick.MouseUpEventHandler += (sen1, e) =>
+            {
+                condition = "and";
+                andConditionViews.btnNextIcon.IsSelected = true;
+                orConditionView.btnNextIcon.IsSelected = false;
+            };
+            orConditionView.btnClick.MouseUpEventHandler += (sen1, e) =>
+            {
+                condition = "or";
+                andConditionViews.btnNextIcon.IsSelected = false;
+                orConditionView.btnNextIcon.IsSelected = true;
+            };
+            //纭畾鐐瑰嚮浜嬩欢
+            meetTheConditionView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+            {
+                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