From 3e7c0a6deda128e639abfa3b8ed9377dbd017526 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 11 十二月 2020 17:47:24 +0800
Subject: [PATCH] 2020-12-11-4

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs     |  107 +++++++++++++
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs |    2 
 HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs                 |    4 
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs            |  313 ++++++++++++--------------------------
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide                     |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs            |   31 +++
 .vs/HDL_APP_Project/xs/UserPrefs.xml                           |   17 -
 HDL_ON/Entity/FunctionList.cs                                  |    5 
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal                 |    0 
 9 files changed, 251 insertions(+), 228 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index a6c5869..bc60ba1 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,17 +1,12 @@
 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
   <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.D4411691-F5B8-40F4-97C1-964F33115DBC" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs">
     <Files>
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="16" Column="143" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="486" Column="31" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" Line="52" Column="45" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="240" Column="8" />
       <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="103" Column="30" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs" Line="103" Column="11" />
-      <File FileName="HDL_ON/Entity/FunctionList.cs" Line="40" Column="22" />
-      <File FileName="HDL_ON/Entity/FunctionList.cs" Line="613" Column="1" />
       <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="18" Column="38" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="495" Column="12" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs" Line="25" Column="23" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="203" Column="47" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" Line="8" Column="29" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -24,7 +19,7 @@
                   <Node name="3-Intelligence" expanded="True">
                     <Node name="Automation" expanded="True">
                       <Node name="LogicView" expanded="True" />
-                      <Node name="Logic.cs" selected="True" />
+                      <Node name="LogicMethod.cs" selected="True" />
                     </Node>
                   </Node>
                 </Node>
@@ -45,7 +40,7 @@
     <String>Shared.IOS/Shared.IOS.csproj</String>
   </DisabledProjects>
   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
-  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" />
+  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.4b65c4650918" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
     <BreakpointStore>
       <Breakpoint file="/Users/hdl/Desktop/wjc/HDL_APP_Project/HDL_ON/DAL/Mqtt/MqttClient.cs" relfile="HDL_ON/DAL/Mqtt/MqttClient.cs" line="529" column="1" />
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
index 3556ce0..4c452a5 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
index a39a683..354509b 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index aba9d57..af78a3a 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -436,6 +436,11 @@
                         for(int i=0;i<List.scenes.Count;)
                         {
                             var localScene = List.scenes[i];
+                            if (localScene == null)
+                            {
+                                List.scenes.Remove(localScene);
+                                continue;
+                            }
                             var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId);
                             if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
                             {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 4f2c328..426ebe3 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -14,7 +14,7 @@
 
         public void Show()
         {
-
+            #region  鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             LogicView.TopView topView = new LogicView.TopView();
             topView.setBtn.Visible = true;
@@ -35,14 +35,7 @@
                 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
             {
@@ -62,16 +55,16 @@
             titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
             titleCondition.btnText.TextID = StringId.andCondition;
             viewLayout.AddChidren(titleCondition.FLayoutView());
-            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
+         
+            if (Logic.currlogic.relation == "and")
             {
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                AndOrMethod(fLayout, titleCondition.btnText);
-            };
+                titleCondition.btnText.Text = Language.StringByID(StringId.andCondition);
+            }
+            else
+            {
+                titleCondition.btnText.Text = Language.StringByID(StringId.orCondition);
 
+            }
 
             // 鏉′欢澶勭悊鏂规硶
             InpOrOutLogicMethod.InputCondition(this, viewLayout);
@@ -79,14 +72,6 @@
             LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView();
             addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
             viewLayout.AddChidren(addInputIcon.FLayoutView());
-
-            addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
-            {
-                var addInputType = new AddInputType();
-                MainPage.BasePageView.AddChidren(addInputType);
-                addInputType.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
             #endregion
 
             #region  鐩爣
@@ -106,13 +91,7 @@
             LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView();
             addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
             viewLayout.AddChidren(addOutputIcon.FLayoutView());
-            addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
-            {
-                var addTarget = new AddTarget();
-                MainPage.BasePageView.AddChidren(addTarget);
-                addTarget.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
+           
             #endregion
 
             #region  寰幆鏂瑰紡
@@ -126,13 +105,7 @@
             cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
             cyclicTitle.btnText.Text = MainView.GetWeekText(Logic.currlogic);
             viewLayout.AddChidren(cyclicTitle.FLayoutView());
-            cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-
-                DateMethod(cyclicTitle.btnText);
-
-
-            };
+          
             #endregion
 
             #region  鎵ц鎺ㄩ�� 鍙戦�侀�氱煡
@@ -163,6 +136,52 @@
             LogicView.SaveView saveView = new LogicView.SaveView();
             saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
             this.AddChidren(saveView.FLayoutView());
+
+            #endregion
+#endregion
+
+            #region  鐣岄潰鍚勭鐐瑰嚮浜嬩欢
+            ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
+            topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                Set set = new Set();
+                MainPage.BasePageView.AddChidren(set);
+                set.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+            ///鎴栧拰涓庣偣鍑讳簨浠�
+            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                AndOrMethod(fLayout, titleCondition.btnText);
+            };
+            ///鏉′欢鐐瑰嚮浜嬩欢
+            addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                var addInputType = new AddInputType();
+                MainPage.BasePageView.AddChidren(addInputType);
+                addInputType.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            ///鐩爣鐐瑰嚮浜嬩欢
+            addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                var addTarget = new AddTarget();
+                MainPage.BasePageView.AddChidren(addTarget);
+                addTarget.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            ///寰幆鏂瑰紡鐐瑰嚮浜嬩欢
+            cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                DateMethod(cyclicTitle.btnText);
+            };
+            ///淇濆瓨鐐瑰嚮浜嬩欢
             saveView.btnClick.MouseUpEventHandler += (sender, e) =>
             {
                 if (string.IsNullOrEmpty(Logic.currlogic.userLogicId))
@@ -209,7 +228,6 @@
 
             };
             #endregion
-
         }
         /// <summary>
         /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��)
@@ -300,13 +318,11 @@
                             break;
                         case 2:
                             {
-                                // weekName = Language.StringByID(StringId.weekly);
                                 WeekMethod(fLayout, button);
                             }
                             break;
                         case 3:
                             {
-                                //weekName = Language.StringByID(StringId.monthly);
                                 MonMethod(fLayout, button);
                             }
                             break;
@@ -393,97 +409,15 @@
         /// <param name="button">鏄剧ず鏂囨湰</param>
         public void MonMethod(FrameLayout fLayout, Button button)
         {
-            LogicView.MonView monView = new LogicView.MonView();
-            monView.btnTitle.TextID = StringId.monthly;
-            monView.FLayoutView(fLayout);
-            monView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-            {
-                monView.frameLayout.RemoveFromParent();
-            };
-            //瀹氫箟涓�涓眬閮╩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 = 1; i < 32; i++)
-            {
-                Button monTextBtn = new Button
-                {
-                    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));
+            PublicInterface weekView = new PublicInterface();
+            weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) =>
+                {
+                    Logic.currlogic.cycle.type = "mon";
+                    Logic.currlogic.cycle.value = monList;
+                    button.Text = MainView.GetMonString(monList);
+                });
 
-                if (i % 7 == 0)
-                {
-                    //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣.
-                    lineSun = lineSun + 1;
-
-                }
-                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>
         /// 婊¤冻鏉′欢
@@ -492,91 +426,29 @@
         /// <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();
+            List<string> strList = new List<string> {
+             Language.StringByID(StringId.andCondition),
+             Language.StringByID(StringId.orCondition),
             };
+            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+            string currCondition = button.Text;
 
-            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
-            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.GetRealWidth(28);
-            andConditionViews.btnNextIcon.Height = Application.GetRealWidth(28);
-            andConditionViews.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
-            andConditionViews.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
-            meetTheConditionView.frameLayout.AddChidren(andConditionViews.FLayoutView());
+            PublicInterface conditionView = new PublicInterface();
+            conditionView.SingleSelectionShow(fLayout, strList, Language.StringByID(StringId.meetTheCondition), currCondition
+               , (stateValue) =>
+               {
+                   if (stateValue == Language.StringByID(StringId.orCondition))
+                   {
+                       Logic.currlogic.relation = "or";
+                   }
+                   else
+                   {
+                       Logic.currlogic.relation = "and";
+                   }
+                   button.Text = stateValue;
 
+               });
 
-            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.GetRealWidth(28);
-            orConditionView.btnNextIcon.Height = Application.GetRealWidth(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();
-            };
 
         }
         /// <summary>
@@ -671,5 +543,22 @@
 
             return stateList;
         }
+
+        /// <summary>
+        /// 鐏拌壊寮规鐖舵帶浠�
+        /// </summary>
+        /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈�</param>
+        /// <returns></returns>
+        public FrameLayout GetFrame(FrameLayout frame, string tagKey)
+        {
+            FrameLayout fLayout = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                Tag = tagKey,
+
+            };
+            frame.AddChidren(fLayout);
+            return fLayout;
+        }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs
index d2b6d3a..b143787 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs
@@ -18,7 +18,7 @@
         public Button btnText = new Button
         {
             TextSize = TextSize.text16,
-            Width = Application.GetRealWidth(130),
+            Width = Application.GetRealWidth(300),
             Height = Application.GetRealHeight(20),
             TextColor = CSS.CSS_Color.textColor,
             X = Application.GetRealWidth(20),
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
index b72d257..fe9cf05 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -13,7 +13,8 @@
         /// <param name="titleText"></param>
         /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param>
         /// <param name="action">杩斿洖鍊�</param>
-        public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action)
+        /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param>
+        public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText,Action<string> action, int textSize=LogicView.TextSize.text14)
         {
             LogicView.DateView view = new LogicView.DateView();
             view.btnTitle.Text = titleText;
@@ -33,6 +34,7 @@
                 string str = list[i];
                 LogicView.CheckView checkView = new LogicView.CheckView();
                 checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+                checkView.btnText.TextSize = textSize;
                 view.frameLayout.AddChidren(checkView.FLayoutView());
                 checkView.btnText.Text = str;
                 checkView.btnClick.Tag = str;//鏍囪
@@ -75,7 +77,8 @@
         /// <param name="titleText"></param>
         /// <param name="stateTextList">涔嬪墠鐘舵�佹枃鏈�</param>
         /// <param name="action">杩斿洖鍊�</param>
-        public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action)
+        /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param>
+        public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action, int textSize = LogicView.TextSize.text14)
         {
             LogicView.DateView view = new LogicView.DateView();
             view.btnTitle.Text = titleText;
@@ -90,6 +93,7 @@
                 string str = list[i];
                 LogicView.CheckView checkView = new LogicView.CheckView();
                 checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+                checkView.btnText.TextSize = textSize;
                 view.frameLayout.AddChidren(checkView.FLayoutView());
                 checkView.btnText.Text = str;
                 checkView.btnClick.Tag = str;//鏍囪
@@ -140,6 +144,105 @@
 
         }
 
+        /// <summary>
+        /// 鏈�-澶氶�夋嫨
+        /// </summary>
+        /// <param name="frameLayout">鐖舵帶浠�</param>
+        /// <param name="action">鏄剧ず鏂囨湰瀛椾綋澶у皬</param>
+        public void MonSelectShow(FrameLayout frameLayout,Logic logic, Action<List<string>> action)
+        {
+            LogicView.MonView monView = new LogicView.MonView();
+            monView.btnTitle.TextID = StringId.monthly;
+            monView.FLayoutView(frameLayout);
+            monView.btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                monView.frameLayout.RemoveFromParent();
+            };
+            //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
+            List<string> monList = new List<string>();
+            if (logic.cycle.type == "mon")
+            {
+                //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
+                monList.AddRange(logic.cycle.value);
+            }
+            //瀹氫箟涓�涓彉閲忚褰曡鏁�
+            int lineSun = 0;
+            for (int i = 1; i < 32; i++)
+            {
+                Button monTextBtn = new Button
+                {
+                    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;
+
+                }
+                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;
+                }
+       
+
+                action(monList);
+                frameLayout.RemoveFromParent();
+            };
+
+        }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
index bb62490..24724ca 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
@@ -35,8 +35,8 @@
             nameView.btnText.Height = Application.GetRealHeight(22);
             nameView.btnText.TextID = StringId.namelogic;
             nameView.btnIcon.Visible = false;
-            nameView.btnNextIcon.Height = Application.GetMinRealAverage(28);
-            nameView.btnNextIcon.Width = Application.GetMinRealAverage(28);
+            nameView.btnNextIcon.Height = Application.GetRealWidth(28);
+            nameView.btnNextIcon.Width = Application.GetRealWidth(28);
             nameView.btnNextIcon.UnSelectedImagePath = "LogicIcon/editname.png";
             viewLayout.AddChidren(nameView.FLayoutView());
 
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
index 5f4320a..39e5dae 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
@@ -74,6 +74,8 @@
                 };
                 //娣诲姞涓荤晫闈�
                 this.AddChidren(fLayout);
+                //var fLayout = GetFrame(this,"2");
+
                 TimeHorizon(fLayout, false, 0);
             };
 
@@ -382,5 +384,34 @@
                 timePointView.frameLayout.RemoveFromParent();
             };
         }
+
+
+        /// <summary>
+        /// 鐏拌壊寮规鐖舵帶浠�
+        /// </summary>
+        /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈�</param>
+        /// <returns></returns>
+        public FrameLayout GetFrame(FrameLayout frame, string tagKey)
+        {
+            for (int i = 0; i < frame.ChildrenCount; i++)
+            {
+                var fra = frame.GetChildren(i);
+                if (fra != null)
+                {
+                    fra.RemoveFromParent();
+                }
+            }
+           
+           
+            FrameLayout fLayout = new FrameLayout()
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                
+            };
+            frame.AddChidren(fLayout);
+
+          
+            return fLayout;
+        }
     }
 }

--
Gitblit v1.8.0