From c4f0723cc7053933a6e598eb0c58cfdf4e9d7459 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 04 一月 2021 14:13:01 +0800
Subject: [PATCH] Merge branch 'WJC' into NewFilePath

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs        |  139 +++++++
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs    |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/DateView.cs     |    0 
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm                    |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  137 ++-----
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide                        |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs               |  254 +++-----------
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs     |  119 ++++-
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs    |  267 ++++++--------
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal                    |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs              |  134 ------
 11 files changed, 458 insertions(+), 592 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
index 68eb646..2836110 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-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
index ccd4fd0..670d6a6 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
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 839ea2a..4035901 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/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
old mode 100755
new mode 100644
index 2d7fbb3..d3bb907
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
@@ -63,13 +63,7 @@
             //鍦烘櫙鐐瑰嚮浜嬩欢
             sceneView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                SceneMethod(fLayout);
+                SceneMethod();
             };
             //寤舵椂鐐瑰嚮浜嬩欢
             delayView.btnClick.MouseUpEventHandler += (sen, e) =>
@@ -89,138 +83,30 @@
         /// <summary>
         /// 娣诲姞鍦烘櫙
         /// </summary>
-        /// <param name="fLayout">寮规涓绘帶浠�</param>
-        public void SceneMethod(FrameLayout fLayout)
+        public void SceneMethod()
         {
-            int line = 0;
             var sceneList = LogicMethod.GetSceneList();
-            if (sceneList.Count == 0|| sceneList.Count>5)
-            {
-                line = 5;
-            }
-            else {
-                line = sceneList.Count;
-            }
-            LogicView.DateView view = new LogicView.DateView();
-            view.btnTitle.TextID = StringId.addSceneLogic;
-            view.FLayoutView(fLayout, line);
-
-            view.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-            {
-                fLayout.RemoveFromParent();
-            };
-            FrameLayout frameL = new FrameLayout
-            {
-                Y = Application.GetRealHeight(56),
-                Height = Application.GetRealHeight(50 * line),
-            };
-
-            VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout
-            {
-                Y = Application.GetRealHeight(56),
-                Height = Application.GetRealHeight(50 * 5),
-
-            };
-            verticalRefresh.BeginHeaderRefreshingAction += () =>
-            {
-                //鍏抽棴鍒锋柊View锛�
-                verticalRefresh.EndHeaderRefreshing();
-            };
-
-            if (sceneList.Count == 0)
-            {
-                Button btnTipNot = new Button
-                {
-                    X=Application.GetRealWidth(93),
-                    Y = Application.GetRealHeight(80),
-                    Width = Application.GetRealWidth(158),
-                    Height = Application.GetRealWidth(158),
-                    UnSelectedImagePath = "TipNot.png",
-                    
-                };
-                view.frameLayout.AddChidren(btnTipNot);
-
-                Button btnTipNotText = new Button()
-                {
-                    Y = btnTipNot.Bottom+ Application.GetRealHeight(16),
-                    Height = Application.GetRealHeight(20),
-                    TextID = StringId.secnenull,
-                    TextColor = CSS.CSS_Color.textColor,
-                    TextSize =LogicView.TextSize.text14,
-                    TextAlignment = TextAlignment.Center,
-                };
-                view.frameLayout.AddChidren(btnTipNotText);
-            }
-            else if (sceneList.Count <=5 ) {
-                view.frameLayout.AddChidren(frameL);
-            }
-            else if(sceneList.Count>5) {
-                view.frameLayout.AddChidren(verticalRefresh);
-
-            }
-
-
-            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鐘舵��
-            Button buttonClick = new Button();
-            HDL_ON.Entity.Scene sceneSelecetd = null;
-            verticalRefresh.BeginHeaderRefreshingAction += () =>
-            {
-                //鍏抽棴鍒锋柊View锛�
-                verticalRefresh.EndHeaderRefreshing();
-            };
-
-            for (int i = 0; i < sceneList.Count; i++)
-            {
+            List<string> nameList = new List<string>();
+            for (int i = 0; i < sceneList.Count; i++) {
                 var scene = sceneList[i];
-                LogicView.CheckView sceneView = new LogicView.CheckView();
-                sceneView.btnText.Text = scene.name;
-                sceneView.btnText.TextSize = LogicView.TextSize.text14;
-                if (sceneList.Count <= 5)
-                {
-                    sceneView.frameLayout.Y = Application.GetRealWidth(i*50);
-                    frameL.AddChidren(sceneView.FLayoutView());
-                    if (sceneList.Count-1==i) {
-                        sceneView.btnLine.BackgroundColor = CSS.CSS_Color.view;
-                    }
-                }
-                else
-                {
-                    verticalRefresh.AddChidren(sceneView.FLayoutView());
-                }
-                sceneView.btnClick.Tag = scene;//鏍囪绱㈠紩
-                //鍦烘櫙鐨勭偣鍑讳簨浠�
-                sceneView.btnClick.MouseUpEventHandler += (sender, e) =>
-                {
-                    buttonClick.IsSelected = false;
-                    sceneView.btnCheckIcon.IsSelected = true;
-                    buttonClick = sceneView.btnCheckIcon;
-                    sceneSelecetd = sceneView.btnClick.Tag as HDL_ON.Entity.Scene;
-                };
-
+                nameList.Add(scene.name);
             }
-            //纭鐐瑰嚮浜嬩欢
-            view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+            PublicInterface publicInterface = new PublicInterface();
+            publicInterface.FrameOrVv(this, nameList, StringId.addSceneLogic, (index) =>
             {
-
-                if (sceneSelecetd == null)
-                {
-                    //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
-                    return;
-                }
+                var sceneSelecetd = sceneList[index];
                 Output outputDevice = new Output();
                 outputDevice.target_type = "2";
                 outputDevice.sid = sceneSelecetd.sid;
                 //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�;
-                outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene"},{ "value", "0" } } };
+                outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene" }, { "value", "0" } } };
                 AddOutput(outputDevice);
-                fLayout.RemoveFromParent();
                 LogicMethod.RemoveAllView();
                 AddLogic addLogic = new AddLogic();
                 MainPage.BasePageView.AddChidren(addLogic);
                 addLogic.Show();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-
+            });
         }
 
         /// <summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
old mode 100755
new mode 100644
index bb24069..e46520b
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -17,10 +17,6 @@
         /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵��
         /// </summary>
         private string selectedState = "unknown";
-        /// <summary>
-        /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�佽褰曞睘鎬�
-        /// </summary>
-        private string keyVlaue = "";
         public void Show(Entity.Function device, int index, bool edit)
         {
             #region 鐣岄潰甯冨眬
@@ -68,7 +64,31 @@
                                 BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                             };
                             this.AddChidren(frame);
-                            SwitchViewMethod(frame, device, lightSwitchView.btnState, 2);
+                            LogicView.SwitchView switchView = new LogicView.SwitchView();
+                            switchView.FLayoutView(frame, 2, lightSwitchView.btnState.Text, (strValue) =>
+                            {
+                                int id = 0;
+                                switch (strValue)
+                                {
+                                    case "on":
+                                        {
+                                            id = StringId.onLogic;
+                                        }
+                                        break;
+                                    case "off":
+                                        {
+                                            id = StringId.offLogic;
+                                        }
+                                        break;
+                                }
+                                //鏄剧ず鏂囨湰
+                                lightSwitchView.btnState.TextID = id;
+                                selectedState = device.functionType + "_" + strValue;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                                string keyVlaue = "on_off";
+                                AddDictionary(keyVlaue, strValue);
+
+                            });
                         };
                         if (edit)
                         {
@@ -87,8 +107,6 @@
             this.AddChidren(saveView.FLayoutView());
             saveView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-
-
                 if (selectedState != "unknown")
                 {
                     Input inputDevice = new Input();
@@ -129,46 +147,6 @@
 
         }
         /// <summary>
-        /// 寮�鍏冲姛鑳藉睍寮�鐣岄潰
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="device"></param>
-        /// <param name="button"></param>
-        /// <param name="len"></param>
-        public void SwitchViewMethod(FrameLayout frame, Entity.Function device, Button button, int len)
-        {
-
-            LogicView.SwitchView switchView = new LogicView.SwitchView();
-            switchView.FLayoutView(frame, len, button.Text, (strValue) =>
-            {
-                int id = 0;
-                switch (strValue)
-                {
-                    case "on":
-                        {
-                            id = StringId.onLogic;
-                        }
-                        break;
-                    case "off":
-                        {
-                            id = StringId.offLogic;
-                        }
-                        break;
-                }
-                button.TextID = id;
-                keyVlaue = "on_off";
-                Dictionary<string, string> dic = new Dictionary<string, string>();
-                LogicMethod.dictionary(dic, "key", "on_off");
-                LogicMethod.dictionary(dic, "comparator", "=");
-                LogicMethod.dictionary(dic, "data_type", "string");
-                LogicMethod.dictionary(dic, "value", strValue);
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + "_" + strValue;
-
-            });
-
-        }
-        /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
         /// </summary>
         /// <param name="device">缂栬緫璁惧</param>
@@ -177,7 +155,7 @@
         /// <param name="button2">鏄剧ずBtn</param>
         /// <param name="button3">鏄剧ずBtn</param>
         /// <param name="button4">鏄剧ずBtn</param>
-        private void GetEditState(Entity.Function device , int index, Button button1, Button button2, Button button3, Button button4)
+        private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4)
         {
             Input inputs = Logic.currlogic.input[index];
             var dicList = inputs.condition as List<Dictionary<string, string>>;
@@ -188,48 +166,31 @@
                 //鏈夋暟鎹噸鏂拌祴鍊�
                 dicSateteList = dicList;
             }
-            switch (device.functionType)
-            {
-                //寮�鍏崇伅鍏� light.Switch
-                case FunctionType.Dimmer:
-                case FunctionType.RGB:
-                case FunctionType.RGBW:
-                case FunctionType.ColorTemperature:
-                case FunctionType.Relay:
-                //绐楀笜
-                case FunctionType.Curtain:
-                case FunctionType.RollingShutter:
-                case FunctionType.MotorCurtain:
-                //绌鸿皟
-                case FunctionType.AC:
-                //鍦扮儹
-                case FunctionType.FloorHeating:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            if (value == "on")
-                            {
-                                button1.Text = Language.StringByID(StringId.onLogic);
-                            }
-                            else
-                            {
-                                button1.Text = Language.StringByID(StringId.offLogic);
-                            }
-                        }
-                    }
-                    break;
-
-            }
+            InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
         }
         /// <summary>
         /// 娣诲姞閫変腑鏁版嵁
         /// </summary>
-        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
-        /// <param name="keyValue">璇嗗埆璁惧</param> 
+        /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+        /// <param name="selectedValue">鐘舵�佸��</param>
+        private void AddDictionary(string KeyValue, string selectedValue)
+        {
+            //鏁版嵁灏佽
+            Dictionary<string, string> dic = new Dictionary<string, string>();
+            LogicMethod.dictionary(dic, "key", KeyValue);
+            LogicMethod.dictionary(dic, "comparator", "=");
+            LogicMethod.dictionary(dic, "data_type", "string");
+            LogicMethod.dictionary(dic, "value", selectedValue);
+            AddDictionaryList(KeyValue, dic, dicSateteList);
+        }
+        /// <summary>
+        /// 鏇存柊鏁版嵁鍒楄〃
+        /// </summary>
+        /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> 
         /// <param name="dictionary">閫変腑鏁版嵁</param>
+        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
         /// <returns></returns>
-        private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary)
+        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary, List<Dictionary<string, string>> dicList)
         {
             int indexValue = -1;
             for (int i = 0; i < dicList.Count; i++)
@@ -283,14 +244,6 @@
                 Logic.currlogic.input.Add(input);
             }
 
-        }
-        /// <summary>
-        /// 绉婚櫎鎺т欢
-        /// </summary>
-        /// <param name="frame"></param>
-        private void RemView(FrameLayout frame)
-        {
-            frame.RemoveFromParent();
         }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/CheckView.cs
old mode 100755
new mode 100644
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/DateView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/DateView.cs
old mode 100755
new mode 100644
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs
old mode 100755
new mode 100644
index 0dce8c7..e199ffc
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs
@@ -72,6 +72,7 @@
         /// </summary>
         /// <returns></returns>
         public void FLayoutView(FrameLayout fLayout)
+        //public void FLayoutView(FrameLayout fLayout, string currState, Action<string> action)
         {
            
             fLayout.AddChidren(frameLayout);
@@ -79,6 +80,93 @@
             frameLayout.AddChidren(btnCancel);
             frameLayout.AddChidren(btnConfirm);
             frameLayout.AddChidren(btnLine);
+            //TimePoint(fLayout, action,currState);
+        }
+        /// <summary>
+        /// 閫変腑鏃堕棿鐨勬柟娉�
+        /// </summary>
+        /// <param name="fLayout">鐖舵帶浠�</param>
+        /// <param name="currState">涔嬪墠鐘舵�佸��</param>
+        /// <param name="action">杩斿洖鏃堕棿鍊�</param>
+        public void TimePoint(FrameLayout fLayout, string currState, Action<string> action)
+        {
+            //鍙栨秷鐐瑰嚮浜嬩欢
+            btnCancel.MouseUpEventHandler += (sender, e1) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                fLayout.RemoveFromParent();
+            };
+            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
+            mUIPickerView.setNPicker(GethStringList(), GetmStringList(), null);
+            var systemHour = DateTime.Now.Hour; //鑾峰彇灏忔椂
+            var systeMinute = DateTime.Now.Minute;//鑾峰彇鍒嗛挓
+            int systemHourIndex = 0;
+            int systeMinuteIndex = 0;
+            for (int i = 0; i < GethIntList().Count; i++)
+            {
+                var currhour = GethIntList()[i];
+                if (systemHour == currhour)
+                {
+                    systemHourIndex = i;
+                    break;
+                }
+            }
+            for (int i = 0; i < GetmIntList().Count; i++)
+            {
+                var currminute = GetmIntList()[i];
+                if (systeMinute == currminute)
+                {
+                    systeMinuteIndex = i;
+                    break;
+                }
+            }
+
+            //榛樿鍒濆閫変腑鐘舵��
+            mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, 0);
+            string currH = "";
+            string currM = "";
+            if (systemHour < 10)
+            {
+                currH = "0" + systemHour.ToString();
+            }
+            else
+            {
+                currH = systemHour.ToString();
+            }
+            if (systeMinute < 10)
+            {
+                currM = "0" + systeMinute.ToString();
+            }
+            else
+            {
+                currM = systeMinute.ToString();
+            }
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
+            string timepoint = currH + ":" + currM;
+            if (currState != "")
+            {
+                int hIndex = GetValueIndex(currState, 0, 1, GethIntList());
+                int mIndex = GetValueIndex(currState, 1, 0, GetmIntList());
+                //鏇存柊鍒濆鐘舵��
+                mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
+                timepoint = currState;
+            }
+
+            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
+            mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+            {
+                string hour = GethStringList()[index1].Split(' ')[0];
+                string minuet = GetmStringList()[index2].Split(' ')[0];
+                timepoint = hour + ":" + minuet;
+            };
+            //纭畾鐐瑰嚮浜嬩欢
+            btnConfirm.MouseUpEventHandler += (sender, e3) =>
+            {
+                action(timepoint);
+                //绉婚櫎fLayout鐣岄潰
+                fLayout.RemoveFromParent();
+
+            };
         }
         /// <summary>
         /// 鑾峰彇1-24灏忔椂鍒楄〃
@@ -195,37 +283,6 @@
             return mList;
         }
        
-        /// <summary>
-        /// 杩斿洖鎸囧畾鍗曚綅鍒楄〃
-        /// </summary>
-        /// <param name="min">鏈�灏忓��</param>
-        /// <param name="max">鏈�澶у��</param>
-        /// <param name="name">鍗曚綅(鏃讹紝鍒嗭紝绉�)</param>
-        /// <param name="digit">浣嶆暟(10浠ヤ笅鐢�(1浣嶈繕鏄�2浣�)鏄剧ず)</param>
-        /// <returns></returns>
-        public List<string> GetStringList(int min, int max, string name, int digit)
-        {
-            //鍒濆鍖栧垪琛�
-            var list = new List<string>();
-
-            for (int i = min; i < max; i++)
-            {
-                if (i < 10 && digit == 2)
-                {
-                    var a = "0" + i.ToString();
-                    //娣诲姞鏁版嵁
-                    list.Add(a + " " + name);
-                }
-                else
-                {
-                    //娣诲姞鏁版嵁
-                    list.Add(i.ToString() + " " + name);
-                }
-
-            }
-            return list;
-        }
-
         /// <summary>
         /// 鑾峰彇鏃堕棿鍊�
         /// </summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
old mode 100755
new mode 100644
index 16c87a0..49c6428
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -253,6 +253,143 @@
         }
 
         /// <summary>
+        /// 瓒呭嚭5涓厓绱犺鐢ㄦ粦鍔ㄦ帶浠�
+        /// </summary>
+        /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param>
+        /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+        /// <param name="titleText">鏍囬</param>
+        /// <param name="action">杩斿洖鍊肩储寮曞��</param>
+        public void FrameOrVv(FrameLayout frame, List<string>list, int titleText,Action<int> action) { 
+
+            int line = 0;
+            if (list.Count == 0 || list.Count > 5)
+            {
+                //瓒呭嚭5涓彧鑳介粯璁�5涓�;
+                line = 5;
+            }
+            else
+            {
+                line = list.Count;
+            }
+
+            FrameLayout frameLayout = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+            };
+            frame.AddChidren(frameLayout);
+
+            LogicView.DateView view = new LogicView.DateView();
+            view.btnTitle.TextID = titleText;
+            view.FLayoutView(frameLayout, line);
+            view.btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+            //灏忎簬5浣跨敤
+            FrameLayout frameL = new FrameLayout
+            {
+                Y = Application.GetRealHeight(56),
+                Height = Application.GetRealHeight(50 * line),
+            };
+            //澶т簬5浣跨敤
+            VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout
+            {
+                Y = Application.GetRealHeight(56),
+                Height = Application.GetRealHeight(50 * 5),
+
+            };
+            verticalRefresh.BeginHeaderRefreshingAction += () =>
+            {
+                //鍏抽棴鍒锋柊View锛�
+                verticalRefresh.EndHeaderRefreshing();
+            };
+
+            if (list.Count == 0)
+            {
+                Button btnTipNot = new Button
+                {
+                    X = Application.GetRealWidth(93),
+                    Y = Application.GetRealHeight(80),
+                    Width = Application.GetRealWidth(158),
+                    Height = Application.GetRealWidth(158),
+                    UnSelectedImagePath = "TipNot.png",
+
+                };
+                view.frameLayout.AddChidren(btnTipNot);
+
+                Button btnTipNotText = new Button()
+                {
+                    Y = btnTipNot.Bottom + Application.GetRealHeight(16),
+                    Height = Application.GetRealHeight(20),
+                    TextID = StringId.secnenull,
+                    TextColor = CSS.CSS_Color.textColor,
+                    TextSize = LogicView.TextSize.text14,
+                    TextAlignment = TextAlignment.Center,
+                };
+                view.frameLayout.AddChidren(btnTipNotText);
+            }
+            else if (list.Count > 0 && list.Count <= 5)
+            {
+                view.frameLayout.AddChidren(frameL);
+            }
+            else if (list.Count > 5)
+            {
+                view.frameLayout.AddChidren(verticalRefresh);
+
+            }
+            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
+            Button checkBtn = new Button
+            {
+                Tag = "unknown",
+            };
+            for (int i = 0; i < list.Count; i++)
+            {
+                string strName = list[i];
+                LogicView.CheckView checkView = new LogicView.CheckView();
+                checkView.btnText.TextSize = LogicView.TextSize.text14;
+                if (list.Count <= 5)
+                {
+                    checkView.frameLayout.Y = Application.GetRealWidth(i * 50);
+                    frameL.AddChidren(checkView.FLayoutView());
+                    if (line - 1 == i)
+                    {
+                        checkView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+                    }
+                }
+                else
+                {
+                    verticalRefresh.AddChidren(checkView.FLayoutView());
+                }
+                checkView.btnText.Text = strName;
+                checkView.btnClick.Tag = i;//鏍囪
+                //鐐瑰嚮浜嬩欢
+                checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    checkBtn.IsSelected = false;
+                    checkView.btnCheckIcon.IsSelected = true;
+                    checkBtn = checkView.btnCheckIcon;
+                    checkBtn.Tag = checkView.btnClick.Tag.ToString();
+                };
+
+            }
+            view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+            {
+                if (checkBtn.Tag.ToString() == "unknown")
+                {
+                    return;
+                }
+                //鍒楄〃绱㈠紩鍊�
+                int indexValue = int.Parse(checkBtn.Tag.ToString());
+                action(indexValue);
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+
+        }
+
+
+        /// <summary>
         /// 鑾峰彇鐣岄潰鍒楄〃
         /// </summary>
         /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param>
@@ -321,7 +458,7 @@
         /// <summary>
         /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶
         /// </summary>
-        /// <param name="text"></param>
+        /// <param name="text">鏂囨湰</param>
         /// <param name="type">鑷繁瀹氫箟鑷繁鐢�</param>
         /// <returns></returns>
         public string GetModeValueString(string text, string type)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index a139048..22fefd3 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -51,14 +51,57 @@
                 case FunctionType.RGBW:
                 case FunctionType.ColorTemperature:
                     {
-                        //2琛ㄧず(寮�锛屽叧)鍔熻兘
-                        SwitchBrightnessView(fLayout, device, index, edit, 2);
+                        #region 鐣岄潰
+                        ///寮�鍏�
+                        LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+                        lightSwitchView.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(lightSwitchView.FLayoutView());
+                        ///浜害
+                        LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
+                        brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
+                        brightnessView.btnText.TextID = StringId.brightnesLogic;
+                        fLayout.AddChidren(brightnessView.FLayoutView());
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, lightSwitchView.btnState, 2);
+                        };
+                        ///浜害鐐瑰嚮浜嬩欢
+                        brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
+
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
+                        }
+                        #endregion
                     }
                     break;
                 case FunctionType.Relay:
                     {
-                        //2琛ㄧず(寮�锛屽叧)鍔熻兘
-                        SwitchView(fLayout, device, index, edit, 2);
+                        #region 鐣岄潰
+                        ///寮�鍏�
+                        LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+                        lightSwitchView.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(lightSwitchView.FLayoutView());
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, lightSwitchView.btnState, 2);
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditState(device, index, lightSwitchView.btnState, null, null, null);
+                        }
+                        #endregion
                     }
                     break;
                 //绐楀笜
@@ -66,8 +109,24 @@
                 case FunctionType.MotorCurtain:
                 case FunctionType.RollingShutter:
                     {
-                        //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
-                        SwitchView(fLayout, device, index, edit, 3);
+                        #region 鐣岄潰
+                        ///寮�鍏�
+                        LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
+                        curtainSwitchView.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(curtainSwitchView.FLayoutView());
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, curtainSwitchView.btnState, 3);
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
+                        }
+                        #endregion
                     }
                     break;
                 case FunctionType.AC:
@@ -107,19 +166,17 @@
                         {
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
                             string tempValue = temperatureView.btnState.Text;
-                            LogicView.TemperatureView tempView= new LogicView.TemperatureView();
-                            tempView.FLayoutView(this, tempValue,(stateStr)=> {
+                            LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+                            tempView.FLayoutView(this, tempValue, (stateStr) =>
+                            {
                                 //鐣岄潰鏄剧ず閫変腑鍊�
                                 temperatureView.btnState.Text = stateStr;
                                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                selectedState = device.functionType + "_"+ keyVlaue;
+                                selectedState = device.functionType + "_" + keyVlaue;
                                 string set_temp_value = stateStr.Replace("鈩�", "");
                                 //鏁版嵁灏佽
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", keyVlaue);
-                                LogicMethod.dictionary(dic, "value", set_temp_value);
-                                AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                AddDictionary(keyVlaue, set_temp_value);
                             });
 
 
@@ -131,20 +188,16 @@
                             string currText = acModehView.btnState.Text;
                             //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                             string keyVlaue = "mode";
-                            selectedState = device.functionType + "_"+keyVlaue;
+                            selectedState = device.functionType + "_" + keyVlaue;
                             PublicInterface modeView = new PublicInterface();
-                            var modeListStr=  modeView.GetViewList(keyVlaue);
+                            var modeListStr = modeView.GetViewList(keyVlaue);
                             modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                                , (stateValue) =>
                                {
                                    //鐣岄潰鏄剧ず閫変腑鍊�
                                    acModehView.btnState.Text = stateValue;
                                    //鏁版嵁灏佽
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", keyVlaue);
-                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, keyVlaue));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
-
+                                   AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, keyVlaue));
                                });
 
                         };
@@ -165,10 +218,7 @@
                                    //鐣岄潰鏄剧ず閫変腑鍊�
                                    acSpeedView.btnState.Text = stateValue;
                                    //鏁版嵁灏佽
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", keyVlaue);
-                                   LogicMethod.dictionary(dic, "value", speedView.GetModeValueString(stateValue, keyVlaue));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue));
 
                                });
                         };
@@ -207,6 +257,7 @@
                         ///寮�鍏崇偣鍑讳簨浠�
                         floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
+
                             SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2);
                         };
                         ///娓╁害鐐瑰嚮浜嬩欢
@@ -214,33 +265,30 @@
                         {
                             string tempValue = temperatureView.btnState.Text;
                             LogicView.TemperatureView tempView = new LogicView.TemperatureView();
-                            tempView.FLayoutView(this, tempValue, (stateStr) => {
+                            tempView.FLayoutView(this, tempValue, (stateStr) =>
+                            {
                                 //鐣岄潰鏄剧ず閫変腑鍊�
                                 temperatureView.btnState.Text = stateStr;
                                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                selectedState = device.functionType + "_"+ keyVlaue;
+                                selectedState = device.functionType + "_" + keyVlaue;
                                 string set_temp_value = stateStr.Replace("鈩�", "");
                                 //鏁版嵁灏佽
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", keyVlaue);
-                                LogicMethod.dictionary(dic, "value", set_temp_value);
-                                AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                AddDictionary(keyVlaue, set_temp_value);
 
                             });
-                           
+
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
                         floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                           
-                           
+
+
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
-                            string currText= floorHeatingModehView.btnState.Text;
+                            string currText = floorHeatingModehView.btnState.Text;
                             //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                             string keyVlaue = "mode";
-                            selectedState = device.functionType + "_"+ keyVlaue;
-
+                            selectedState = device.functionType + "_" + keyVlaue;
                             PublicInterface modeView = new PublicInterface();
                             var modeListStr = modeView.GetViewList("floorheatingmode");
                             modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
@@ -249,10 +297,7 @@
                                    //鐣岄潰鏄剧ず閫変腑鍊�
                                    floorHeatingModehView.btnState.Text = stateValue;
                                    //鏁版嵁灏佽
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", keyVlaue);
-                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, "floorheatingmode"));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, "floorheatingmode"));
                                });
 
                         };
@@ -271,8 +316,6 @@
             #region  淇濆瓨鐐瑰嚮浜嬩欢
             saveView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-
-
                 if (selectedState != "unknown")
                 {
                     Output outputDevice = new Output();
@@ -372,85 +415,6 @@
             #endregion
 
         }
-       
-        /// <summary>
-        ///寮�鍏�=鐣岄潰
-        /// </summary>
-        /// <param name="fLayout"></param>
-        /// <param name="device"></param>
-        /// <param name="index"></param>
-        /// <param name="edit"></param>
-        /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
-        {
-            #region 鐣岄潰
-            ///寮�鍏�
-            LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
-            curtainSwitchView.btnText.TextID = StringId.switchLogic;
-            fLayout.AddChidren(curtainSwitchView.FLayoutView());
-            #endregion
-            #region 鐐瑰嚮浜嬩欢
-            ///寮�鍏崇偣鍑讳簨浠�
-            curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                SwitchViewMethod(device, curtainSwitchView.btnState, intView);
-            };
-            if (edit)
-            {
-                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
-            }
-            #endregion
-
-        }
-        /// <summary>
-        ///锛堝紑鍏�+浜害/鐧惧垎姣�)鐣岄潰
-        /// </summary>
-        /// <param name="fLayout"></param>
-        /// <param name="device"></param>
-        /// <param name="index"></param>
-        /// <param name="edit"></param>
-        /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
-        {
-            #region 鐣岄潰
-            ///寮�鍏�
-            LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
-            lightSwitchView.btnText.TextID = StringId.switchLogic;
-            fLayout.AddChidren(lightSwitchView.FLayoutView());
-            ///浜害
-            LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
-            brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
-            if (device.functionType == FunctionType.MotorCurtain || device.functionType == FunctionType.RollingShutter)
-            {
-
-                brightnessView.btnText.TextID = StringId.percentum;
-            }
-            else
-            {
-                brightnessView.btnText.TextID = StringId.brightnesLogic;
-            }
-            fLayout.AddChidren(brightnessView.FLayoutView());
-            #endregion
-            #region 鐐瑰嚮浜嬩欢
-            ///寮�鍏崇偣鍑讳簨浠�
-            lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                SwitchViewMethod(device, lightSwitchView.btnState, intView);
-            };
-            ///浜害鐐瑰嚮浜嬩欢
-            brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
-            };
-            if (edit)
-            {
-                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
-            }
-            #endregion
-
-        }
         /// <summary>
         /// 寮�鍏�=鍔熻兘涓嬩竴绾х晫闈�
         /// </summary>
@@ -469,28 +433,31 @@
             switchView.FLayoutView(frame, len, button.Text, (strValue) =>
             {
                 int id = 0;
-                switch (strValue) {
-                    case "on": {
+                switch (strValue)
+                {
+                    case "on":
+                        {
                             id = StringId.onLogic;
                         }
                         break;
-                    case "off": {
+                    case "off":
+                        {
                             id = StringId.offLogic;
-                        } break;
-                    case "stop": {
+                        }
+                        break;
+                    case "stop":
+                        {
                             id = StringId.stop;
-                        } break;
+                        }
+                        break;
                 }
                 //鐣岄潰鏄剧ず閫変腑鍊�
                 button.TextID = id;
                 selectedState = device.functionType + "_" + strValue;
+                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                 string keyVlaue = "on_off";
                 //鏁版嵁灏佽
-                Dictionary<string, string> dic = new Dictionary<string, string>();
-                LogicMethod.dictionary(dic, "key", "on_off");
-                LogicMethod.dictionary(dic, "value", strValue);
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-
+                AddDictionary(keyVlaue, strValue);
             });
             #endregion
         }
@@ -508,11 +475,10 @@
             brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) =>
             {
                 //鐣岄潰鏄剧ず閫変腑鍊�
-                button.Text = brightnesValue+"%";
-                string keyVlaue = "";
+                button.Text = brightnesValue + "%";
                 selectedState = device.functionType + brightnesValue.ToString();
-                //鏁版嵁灏佽
-                Dictionary<string, string> dic = new Dictionary<string, string>();
+                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                string keyVlaue = "";
                 switch (device.functionType)
                 {
                     //寮�鍏崇伅鍏� light.Switch
@@ -521,20 +487,18 @@
                     case FunctionType.RGBW:
                     case FunctionType.ColorTemperature:
                         {
-                            LogicMethod.dictionary(dic, "key", "brightness");
                             keyVlaue = "brightness";
                         }
                         break;
                     case FunctionType.MotorCurtain:
                     case FunctionType.RollingShutter:
                         {
-                            LogicMethod.dictionary(dic, "key", "percent");
                             keyVlaue = "percent";
                         }
                         break;
                 }
-                LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
+                //鏁版嵁灏佽
+                AddDictionary(keyVlaue, brightnesValue);
             });
             #endregion
 
@@ -562,13 +526,26 @@
             InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
         }
         /// <summary>
-        /// 娣诲姞澶勭悊閫変腑鏁版嵁
+        /// 娣诲姞閫変腑鏁版嵁
         /// </summary>
-        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
-        /// <param name="keyValue">璇嗗埆璁惧</param> 
+        /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+        /// <param name="selectedValue">鐘舵�佸��</param>
+        private void AddDictionary(string KeyValue, string selectedValue)
+        {
+            //鏁版嵁灏佽
+            Dictionary<string, string> dic = new Dictionary<string, string>();
+            LogicMethod.dictionary(dic, "key", KeyValue);
+            LogicMethod.dictionary(dic, "value", selectedValue);
+            AddDictionaryList(KeyValue, dic, dicSateteList);
+        }
+        /// <summary>
+        /// 鏇存柊鏁版嵁鍒楄〃
+        /// </summary>
+        /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> 
         /// <param name="dictionary">閫変腑鏁版嵁</param>
+        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
         /// <returns></returns>
-        private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary)
+        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary, List<Dictionary<string, string>> dicList)
         {
             int indexValue = -1;
             for (int i = 0; i < dicList.Count; i++)
@@ -623,7 +600,7 @@
             }
 
         }
-     
+
 
 
     }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
old mode 100755
new mode 100644
index edf6086..047b701
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs
@@ -90,64 +90,8 @@
         /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
         public void TimePoint(FrameLayout fLayout, bool edit, int index)
         {
-            LogicView.TimeView timePointView = new LogicView.TimeView();
-            timePointView.FLayoutView(fLayout);
-            EventHandler<MouseEventArgs> removefLayout = (sender, e1) =>
-             {
-                 //绉婚櫎fLayout鐣岄潰
-                 fLayout.RemoveFromParent();
-             };
-            //鍙栨秷鐐瑰嚮浜嬩欢
-            timePointView.btnCancel.MouseUpEventHandler += removefLayout;
-
-            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-            timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null);
-
-            var systemHour = DateTime.Now.Hour; //鑾峰彇灏忔椂
-            var systeMinute = DateTime.Now.Minute;//鑾峰彇鍒嗛挓
-            int systemHourIndex = 0;
-            int systeMinuteIndex = 0;
-            for (int i = 0; i < timePointView.GethIntList().Count; i++)
-            {
-                var currhour = timePointView.GethIntList()[i];
-                if (systemHour == currhour)
-                {
-                    systemHourIndex = i;
-                    break;
-                }
-            }
-            for (int i = 0; i < timePointView.GetmIntList().Count; i++)
-            {
-                var currminute = timePointView.GetmIntList()[i];
-                if (systeMinute == currminute)
-                {
-                    systeMinuteIndex = i;
-                    break;
-                }
-            }
-
-            //榛樿鍒濆閫変腑鐘舵��
-            timePointView.mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, 0);
-            string currH = "";
-            string currM = "";
-            if (systemHour < 10)
-            {
-                currH = "0" + systemHour.ToString();
-            }
-            else
-            {
-                currH = systemHour.ToString();
-            }
-            if (systeMinute < 10)
-            {
-                currM = "0" + systeMinute.ToString();
-            }
-            else
-            {
-                currM = systeMinute.ToString();
-            }
-            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-            string timepoint = currH + ":" + currM;
+            //缂栬緫涔嬪墠鐨勬椂闂寸姸鎬佸��
+            string editTime= "";
             if (edit)
             {
                 Input inputs = Logic.currlogic.input[index];
@@ -157,25 +101,14 @@
                     foreach (var dic in dicList)
                     {
                         string timeValue = dic["value"];
-                        int hIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GethIntList());
-                        int mIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList());
-                        //鏇存柊鍒濆鐘舵��
-                        timePointView.mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
-                        timepoint = timeValue;
+                        editTime = timeValue;
+                        break;
                     }
                 }
             }
-
-            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-            timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
-            {
-                string hour = timePointView.GethStringList()[index1].Split(' ')[0];
-                string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
-                timepoint = hour + ":" + minuet;
-            };
-            //纭畾鐐瑰嚮浜嬩欢
-            timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
-            {
+            LogicView.TimeView timePointView = new LogicView.TimeView();
+            timePointView.FLayoutView(fLayout);
+            timePointView.TimePoint(fLayout, editTime, (timeValue)=>{
                 Input inputTime = new Input();
                 inputTime.sid = LogicMethod.NewSid();
                 inputTime.condition_type = "1";
@@ -183,27 +116,11 @@
                 LogicMethod.dictionary(dic, "key", "timepoint");
                 LogicMethod.dictionary(dic, "comparator", "=");
                 LogicMethod.dictionary(dic, "data_type", "string");
-                LogicMethod.dictionary(dic, "value", timepoint);
+                LogicMethod.dictionary(dic, "value", timeValue);
                 inputTime.condition.Add(dic);
-                if (edit)
-                {
-                    //绉婚櫎鏃ф暟鎹�
-                    Logic.currlogic.input.RemoveAt(index);
-                    //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
-                    Logic.currlogic.input.Insert(index, inputTime);
-                }
-                else
-                {
-                    //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
-                    Logic.currlogic.input.Add(inputTime);
-                }
-                LogicMethod.RemoveAllView();
-                AddLogic addLogic = new AddLogic();
-                MainPage.BasePageView.AddChidren(addLogic);
-                addLogic.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-
-            };
+                AddCondition(inputTime, edit, index);
+            });
+            
         }
         /// <summary>
         /// 鏃堕棿鑼冨洿鏂规硶
@@ -324,24 +241,7 @@
                 LogicMethod.dictionary(dic, "data_type", "string");
                 LogicMethod.dictionary(dic, "value", btnStartTimeText.Text + "-" + btnEndTimeText.Text);
                 inputTime.condition.Add(dic);
-                if (edit)
-                {
-                    //绉婚櫎鏃ф暟鎹�
-                    Logic.currlogic.input.RemoveAt(index);
-                    //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�
-                    Logic.currlogic.input.Insert(index, inputTime);
-                    fLayout.RemoveFromParent();
-                }
-                else
-                {
-                    //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
-                    Logic.currlogic.input.Add(inputTime);
-                }
-                LogicMethod.RemoveAllView();
-                AddLogic addLogic = new AddLogic();
-                MainPage.BasePageView.AddChidren(addLogic);
-                addLogic.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                AddCondition(inputTime, edit, index);
 
 
             };
@@ -367,76 +267,18 @@
             }
         }
         /// <summary>
-        /// 璁剧疆鏃堕棿娈垫椂闂寸殑鏂规硶
+        /// 璁剧疆鏃堕棿娈靛��
         /// </summary>
         /// <param name="fLayout"></param>
         /// <param name="btn"></param>
         public void SelectedTimeHorizon(FrameLayout fLayout, Button btn)
         {
-
-            LogicView.TimeView timePointView = new LogicView.TimeView();
-            timePointView.FLayoutView(fLayout);
-            EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
-            {
-                //鍙Щ闄ゆ椂闂村脊绐楃晫闈�
-                timePointView.frameLayout.RemoveFromParent();
-            };
-            //鍙栨秷鐐瑰嚮浜嬩欢
-            timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
-            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-            timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null);
-
-            var systemHour = DateTime.Now.Hour; //鑾峰彇灏忔椂
-            var systeMinute = DateTime.Now.Minute;//鑾峰彇鍒嗛挓
-            int systemHourIndex = 0;
-            int systeMinuteIndex = 0;
-            for (int i = 0; i < timePointView.GethIntList().Count; i++)
-            {
-                var currhour = timePointView.GethIntList()[i];
-                if (systemHour == currhour)
-                {
-                    systemHourIndex = i;
-                    break;
-                }
-            }
-            for (int i = 0; i < timePointView.GetmIntList().Count; i++)
-            {
-                var currminute = timePointView.GetmIntList()[i];
-                if (systeMinute == currminute)
-                {
-                    systeMinuteIndex = i;
-                    break;
-                }
-            }
-
-            //榛樿鍒濆閫変腑鐘舵��
-            timePointView.mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, 0);
-            string currH = "";
-            string currM = "";
-            if (systemHour < 10)
-            {
-                currH = "0" + systemHour.ToString();
-            }
-            else
-            {
-                currH = systemHour.ToString();
-            }
-            if (systeMinute < 10)
-            {
-                currM = "0" + systeMinute.ToString();
-            }
-            else
-            {
-                currM = systeMinute.ToString();
-            }
-            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-            string timepoint = currH + ":" + currM;
-            int sumTime = systemHour*60+ systeMinute;
-
+            //缂栬緫涔嬪墠鐨勬椂闂寸姸鎬佸��
+            string editTime = "";
             if (btn.Tag.ToString() != "0")
             {
                 string h = "", m = "";
-                sumTime = int.Parse(btn.Tag.ToString());
+               int  sumTime = int.Parse(btn.Tag.ToString());
                 if ((sumTime / 60) < 10)
                 {
                     h = "0" + (sumTime / 60).ToString();
@@ -454,34 +296,48 @@
                 {
                     m = (sumTime % 60).ToString();
                 }
-                timepoint = h + ":" + m;
-
-                int hourIndex = timePointView.GetValueIndex(timepoint, 0, 1, timePointView.GethIntList());
-                int minuteIndex = timePointView.GetValueIndex(timepoint, 1, 0, timePointView.GetmIntList());
-                //鏇存柊鐘舵��
-                timePointView.mUIPickerView.setCurrentItems(hourIndex, minuteIndex, 0);
+                editTime = h + ":" + m;
             }
-
-            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-            timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+            LogicView.TimeView timePointView = new LogicView.TimeView();
+            timePointView.FLayoutView(fLayout);
+            timePointView.TimePoint(timePointView.frameLayout, editTime, (timeValue) =>
             {
-
-                string hour = timePointView.GethStringList()[index1].Split(' ')[0];
-                string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
-                timepoint = hour + ":" + minuet;
-                sumTime = int.Parse(hour) * 60 + int.Parse(minuet);
-
-
-            };
-            //纭畾鐐瑰嚮浜嬩欢
-            timePointView.btnConfirm.MouseUpEventHandler += (sender1, e3) =>
-            {
-                btn.Tag = sumTime;
-                btn.Text = timepoint;
-                //鍙Щ闄ゆ椂闂村脊绐楃晫闈�
-                timePointView.frameLayout.RemoveFromParent();
-            };
+                int hour = int.Parse(timeValue.Split(':')[0]);
+                int minuet = int.Parse(timeValue.Split(':')[1]);
+                int intValueTag = hour * 60 + minuet;
+                //鏍囪鍊�,鐢ㄤ簬姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿澶у皬;
+                btn.Tag = intValueTag;
+                //鏄剧ず鏃堕棿鏂囨湰
+                btn.Text = timeValue;
+            });
         }
+    
+        /// <summary>
+        /// 娣诲姞鏉′欢
+        /// </summary>
+        /// <param name="input"></param>
+        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;
+
+        }
+
         /// <summary>
         /// 鐏拌壊寮规鐖舵帶浠�
         /// </summary>

--
Gitblit v1.8.0