From 0891d90cd0d435338cc2851fd0830cd318a17fff Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 14:25:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/WJC' into NewFilePath

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SingleLogicView.cs |    2 
 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs           |  247 +++++++++++
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs |   67 +++
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs       |  160 +++++++
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs  |    2 
 HDL_ON/HDL_ON.projitems                                              |    3 
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs       |  266 +++--------
 HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs                  |    6 
 /dev/null                                                            |  340 ----------------
 HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs                       |    2 
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs                  |   62 +-
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs                      |   46 +-
 HDL_ON/UI/UI2/3-Intelligence/Automation/.DS_Store                    |    0 
 HDL_ON/UI/UI2/3-Intelligence/.DS_Store                               |    0 
 14 files changed, 609 insertions(+), 594 deletions(-)

diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems
index 5b7393d..ecb4902 100644
--- a/HDL_ON/HDL_ON.projitems
+++ b/HDL_ON/HDL_ON.projitems
@@ -268,6 +268,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\BrightnessView.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Common\ApiUtlis.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\InterfaceDsplaysLogic.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TemperatureView.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="$(MSBuildThisFileDirectory)UI\" />
@@ -302,4 +303,4 @@
     <Folder Include="$(MSBuildThisFileDirectory)UI\BindingResidence\" />
     <Folder Include="$(MSBuildThisFileDirectory)Common\Utlis\" />
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/.DS_Store b/HDL_ON/UI/UI2/3-Intelligence/.DS_Store
index f5139e1..5965206 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/.DS_Store
+++ b/HDL_ON/UI/UI2/3-Intelligence/.DS_Store
Binary files differ
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/.DS_Store b/HDL_ON/UI/UI2/3-Intelligence/Automation/.DS_Store
index c761de7..e28334d 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/.DS_Store
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/.DS_Store
Binary files differ
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 7bebd3c..9e17a7a 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -153,12 +153,7 @@
             ///鎴栧拰涓庣偣鍑讳簨浠�
             titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
             {
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                AndOrMethod(fLayout, titleCondition.btnText);
+                AndOrMethod(titleCondition.btnText);
             };
             ///鏉′欢娣诲姞鐐瑰嚮浜嬩欢
             addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
@@ -209,7 +204,7 @@
                     {
                         list.Add(logic.name);
                     }
-                    new LogicView.TipPopView().InputBox(StringId.editName, InterfaceDsplaysLogic.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) =>
+                    new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) =>
                     {
                         Logic.currlogic.name = logicName;
                         Logic.currlogic.sid = LogicMethod.NewSid();
@@ -284,7 +279,7 @@
                         try
                         {
                             //鍙戦�佷慨鏀归�昏緫鍛戒护锛�
-                            responsePackNew = Send.updateLogic(Logic.currlogic);
+                            responsePackNew = Send.UpdateLogic(Logic.currlogic);
 
                         }
                         catch { }
@@ -462,33 +457,30 @@
         /// <param name="button">鏄剧ず鏂囨湰</param>
         public void WeekMethod(FrameLayout fLayout, Button button)
         {
-            List<string> weekStr = new List<string> {
-             Language.StringByID(StringId.monday),
-             Language.StringByID(StringId.tuesday),
-             Language.StringByID(StringId.wednesday),
-             Language.StringByID(StringId.thursday),
-             Language.StringByID(StringId.friday),
-             Language.StringByID(StringId.saturday),
-             Language.StringByID(StringId.sunday),
-            };
-
             //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
             List<string> weekStateList = new List<string>();
-            weekStateList.Clear();
+
+            PublicInterface weekView = new PublicInterface();
             if (Logic.currlogic.cycle.type == "week")
             {
-                var list = InterfaceDsplaysLogic.GetWeekString(Logic.currlogic.cycle.value, "int");
+                //鏁版嵁杞崲
+                var list = weekView.GetWeekString(Logic.currlogic.cycle.value, "int");
                 //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
                 weekStateList.AddRange(list);
             }
-            PublicInterface weekView = new PublicInterface();
-            weekView.MultiSelectShow(fLayout, weekStr, Language.StringByID(StringId.cyclic), weekStateList
+            var weekListStr= weekView.GetViewList("week");
+            weekView.MultiSelectShow(fLayout, weekListStr, Language.StringByID(StringId.cyclic), weekStateList
                , (list) =>
                {
-                   var statelist = InterfaceDsplaysLogic.GetWeekString(list, "str");
+
+                   //閫変腑鏁版嵁澶勭悊
+                   var statelist = weekView.GetWeekString(list, "str");
+                   string textStr = MainView.GetWeekString(statelist);
+                   //鏄剧ず閫変腑鏁版嵁
+                   button.Text = textStr;
+                   //灏佽鏁版嵁
                    Logic.currlogic.cycle.type = "week";
                    Logic.currlogic.cycle.value = statelist;
-                   button.Text = MainView.GetWeekString(statelist);
 
                });
         }
@@ -503,30 +495,33 @@
             PublicInterface weekView = new PublicInterface();
             weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) =>
                 {
+                    //閫変腑鏁版嵁澶勭悊
+                    string textStr= MainView.GetMonString(monList);
+                    //鏄剧ず閫変腑鏁版嵁
+                    button.Text = textStr;
+                    //灏佽鏁版嵁
                     Logic.currlogic.cycle.type = "mon";
                     Logic.currlogic.cycle.value = monList;
-                    button.Text = MainView.GetMonString(monList);
                 });
 
         }
         /// <summary>
         /// 婊¤冻鏉′欢
         /// </summary>
-        /// <param name="fLayout">寮规涓绘帶浠�</param>
         /// <param name="button">鏄剧ず鏂囨湰</param>
-        public void AndOrMethod(FrameLayout fLayout, Button button)
+        public void AndOrMethod(Button button)
         {
-            List<string> strList = new List<string> {
-             Language.StringByID(StringId.andCondition),
-             Language.StringByID(StringId.orCondition),
-            };
+
             ///涔嬪墠鐨勭姸鎬佹枃鏈�
             string currCondition = button.Text;
-
             PublicInterface conditionView = new PublicInterface();
-            conditionView.SingleSelectionShow(fLayout, strList, Language.StringByID(StringId.meetTheCondition), currCondition
+            var strList = conditionView.GetViewList("andor");
+            conditionView.SingleSelectionShow(this, strList, Language.StringByID(StringId.meetTheCondition), currCondition
                , (stateValue) =>
                {
+                   //鐣岄潰鏄剧ず閫変腑鍊�
+                   button.Text = stateValue;
+                   //灏佽鏁版嵁
                    if (stateValue == Language.StringByID(StringId.orCondition))
                    {
                        Logic.currlogic.relation = "or";
@@ -535,7 +530,6 @@
                    {
                        Logic.currlogic.relation = "and";
                    }
-                   button.Text = stateValue;
 
                });
 
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index b520c56..f1c4814 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -844,5 +844,165 @@
             }
             return valueStr;
         }
+
+        /// <summary>
+        ///鑾峰彇鑷姩鍖栧悕绉�
+        /// </summary>
+        /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns>
+        public static string GetLogicName(Logic logic)
+        {
+
+            string name = "";
+            try
+            {
+                //榛樿鍙栫涓�涓潯浠�
+                Input inputCondition = logic.input[0];
+                //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵��
+                switch (inputCondition.condition_type)
+                {
+                    case "1":
+                        {
+                            name = Language.StringByID(StringId.hour) + "-";
+                        }
+                        break;
+                    case "2":
+                        {
+                            name = Language.StringByID(StringId.timeHorizon) + "-";
+
+                        }
+                        break;
+                    case "3":
+                        {
+                            //鐢╯id鎵惧埌璁惧锛�
+                            var device = LogicMethod.GetDevice(inputCondition.sid);
+                            name = device.name + "-";
+                        }
+                        break;
+
+                }
+                //榛樿鍙栫涓�涓洰鏍�
+                Output outputTarget = logic.output[0];
+                List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>;
+                //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵��
+                switch (outputTarget.target_type)
+                {
+                    case "1":
+                        {
+                            //鐢╯id鎵惧埌璁惧锛�
+                            var device = LogicMethod.GetDevice(outputTarget.sid);
+                            //鏄剧ず璁惧鍚嶇О
+                            name += device.name;
+                            string stateStr = "";
+                            //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
+                            switch (device.functionType)
+                            {
+                                case FunctionType.Relay:
+                                    {//寮�鍏崇伅
+
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "on")
+                                            {
+                                                stateStr = Language.StringByID(StringId.onLogic);
+
+                                            }
+                                            else
+                                            {
+                                                stateStr = Language.StringByID(StringId.offLogic);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.RGB:
+                                case FunctionType.RGBW:
+                                case FunctionType.ColorTemperature:
+                                case FunctionType.Dimmer:
+                                    {
+                                        string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
+                                        string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
+                                        if (on_off == "on" && brightness != "")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
+                                        }
+                                        else if (on_off == "on")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic);
+                                        }
+                                        else if (on_off == "off")
+                                        {
+                                            stateStr = Language.StringByID(StringId.offLogic);
+                                        }
+                                        else if (brightness != "")
+                                        {
+                                            stateStr = brightness + "%";
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.Curtain:
+                                case FunctionType.MotorCurtain:
+                                case FunctionType.RollingShutter:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            switch (value)
+                                            {
+                                                case "on":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.onLogic);
+                                                    }
+                                                    break;
+                                                case "off":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.offLogic);
+                                                    }
+                                                    break;
+                                                case "stop":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.stop);
+                                                    }
+                                                    break;
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.AC:
+                                case FunctionType.FloorHeating:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "on")
+                                            {
+                                                stateStr = Language.StringByID(StringId.onLogic);
+
+                                            }
+                                            else if (value == "off")
+                                            {
+                                                stateStr = Language.StringByID(StringId.offLogic);
+                                            }
+                                        }
+
+                                    }
+                                    break;
+
+                            }
+                            name += stateStr;
+                        }
+                        break;
+                    case "2":
+                        {
+                            //鐢╯id鎵惧埌鍦烘櫙锛�
+                            var scene = LogicMethod.GetSecne(outputTarget.sid);
+                            name += scene.name;
+
+                        }
+                        break;
+                }
+            }
+            catch { }
+            return name;
+        }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs
deleted file mode 100644
index 768f037..0000000
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs
+++ /dev/null
@@ -1,340 +0,0 @@
-锘縰sing System;
-using Shared;
-using System.Collections.Generic;
-
-namespace HDL_ON.UI.UI2.Intelligence.Automation
-{
-    public class InterfaceDsplaysLogic
-    {
-        /// <summary>
-        ///鑾峰彇鑷姩鍖栧悕绉�
-        /// </summary>
-        /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns>
-        public static string GetLogicName(Logic logic)
-        {
-
-            string name = "";
-            try
-            {
-                //榛樿鍙栫涓�涓潯浠�
-                Input inputCondition = logic.input[0];
-                //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵��
-                switch (inputCondition.condition_type)
-                {
-                    case "1":
-                        {
-                            name = Language.StringByID(StringId.hour) + "-";
-                        }
-                        break;
-                    case "2":
-                        {
-                            name = Language.StringByID(StringId.timeHorizon) + "-";
-
-                        }
-                        break;
-                    case "3":
-                        {
-                            //鐢╯id鎵惧埌璁惧锛�
-                            var device = LogicMethod.GetDevice(inputCondition.sid);
-                            name = device.name + "-";
-                        }
-                        break;
-
-                }
-                //榛樿鍙栫涓�涓洰鏍�
-                Output outputTarget = logic.output[0];
-                List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>;
-                //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵��
-                switch (outputTarget.target_type)
-                {
-                    case "1":
-                        {
-                            //鐢╯id鎵惧埌璁惧锛�
-                            var device = LogicMethod.GetDevice(outputTarget.sid);
-                            //鏄剧ず璁惧鍚嶇О
-                            name += device.name;
-                            string stateStr = "";
-                            //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
-                            switch (device.functionType)
-                            {
-                                case FunctionType.Relay:
-                                    {//寮�鍏崇伅
-
-                                        foreach (var dic in dicList)
-                                        {
-                                            string value = dic["value"];
-                                            if (value == "on")
-                                            {
-                                                stateStr = Language.StringByID(StringId.onLogic);
-
-                                            }
-                                            else
-                                            {
-                                                stateStr = Language.StringByID(StringId.offLogic);
-                                            }
-                                        }
-                                    }
-                                    break;
-                                case FunctionType.RGB:
-                                case FunctionType.RGBW:
-                                case FunctionType.ColorTemperature:
-                                case FunctionType.Dimmer:
-                                    {
-                                        string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
-                                        string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
-                                        if (on_off == "on" && brightness != "")
-                                        {
-                                            stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
-                                        }
-                                        else if (on_off == "on")
-                                        {
-                                            stateStr = Language.StringByID(StringId.onLogic);
-                                        }
-                                        else if (on_off == "off")
-                                        {
-                                            stateStr = Language.StringByID(StringId.offLogic);
-                                        }
-                                        else if (brightness != "")
-                                        {
-                                            stateStr = brightness + "%";
-                                        }
-                                    }
-                                    break;
-                                case FunctionType.Curtain:
-                                case FunctionType.MotorCurtain:
-                                case FunctionType.RollingShutter:
-                                    {
-                                        foreach (var dic in dicList)
-                                        {
-                                            string value = dic["value"];
-                                            switch (value)
-                                            {
-                                                case "on":
-                                                    {
-                                                        stateStr = Language.StringByID(StringId.onLogic);
-                                                    }
-                                                    break;
-                                                case "off":
-                                                    {
-                                                        stateStr = Language.StringByID(StringId.offLogic);
-                                                    }
-                                                    break;
-                                                case "stop":
-                                                    {
-                                                        stateStr = Language.StringByID(StringId.stop);
-                                                    }
-                                                    break;
-                                            }
-                                        }
-                                    }
-                                    break;
-                                case FunctionType.AC:
-                                case FunctionType.FloorHeating:
-                                    {
-                                        foreach (var dic in dicList)
-                                        {
-                                            string value = dic["value"];
-                                            if (value == "on")
-                                            {
-                                                stateStr = Language.StringByID(StringId.onLogic);
-
-                                            }
-                                            else if (value == "off")
-                                            {
-                                                stateStr = Language.StringByID(StringId.offLogic);
-                                            }
-                                        }
-
-                                    }
-                                    break;
-
-                            }
-                            name += stateStr;
-                        }
-                        break;
-                    case "2":
-                        {
-                            //鐢╯id鎵惧埌鍦烘櫙锛�
-                            var scene = LogicMethod.GetSecne(outputTarget.sid);
-                            name += scene.name;
-
-                        }
-                        break;
-                }
-            }
-            catch { }
-            return name;
-        }
-        /// <summary>
-        /// 鏄熸湡int鍜宻tring浜掔浉杞崲鍊肩殑鏂规硶
-        /// </summary>
-        /// <param name="list"></param>
-        /// <param name="str_or_int"></param>
-        /// <returns></returns>
-        public static List<string> GetWeekString(List<string> list, string str_or_int)
-        {
-            string weekTextName = "";
-            List<string> stateList = new List<string>();
-            for (int i = 0; i < list.Count; i++)
-            {
-                var s = list[i];
-                if (str_or_int == "int")
-                {
-                    switch (s)
-                    {
-                        case "1":
-                            {
-                                weekTextName = Language.StringByID(StringId.monday);
-                            }
-                            break;
-                        case "2":
-                            {
-                                weekTextName = Language.StringByID(StringId.tuesday);
-                            }
-                            break;
-                        case "3":
-                            {
-                                weekTextName = Language.StringByID(StringId.wednesday);
-                            }
-                            break;
-                        case "4":
-                            {
-                                weekTextName = Language.StringByID(StringId.thursday);
-                            }
-                            break;
-                        case "5":
-                            {
-                                weekTextName = Language.StringByID(StringId.friday);
-                            }
-                            break;
-                        case "6":
-                            {
-                                weekTextName = Language.StringByID(StringId.saturday);
-                            }
-                            break;
-                        case "0":
-                            {
-                                weekTextName = Language.StringByID(StringId.sunday);
-                            }
-                            break;
-                    }
-
-                }
-                else
-                {
-                    if (Language.StringByID(StringId.monday) == s)
-                    {
-                        weekTextName = "1";
-                    }
-                    else if (Language.StringByID(StringId.tuesday) == s)
-                    {
-                        weekTextName = "2";
-                    }
-                    else if (Language.StringByID(StringId.wednesday) == s)
-                    {
-                        weekTextName = "3";
-                    }
-                    else if (Language.StringByID(StringId.thursday) == s)
-                    {
-                        weekTextName = "4";
-                    }
-                    else if (Language.StringByID(StringId.friday) == s)
-                    {
-                        weekTextName = "5";
-                    }
-                    else if (Language.StringByID(StringId.saturday) == s)
-                    {
-                        weekTextName = "6";
-                    }
-                    else if (Language.StringByID(StringId.sunday) == s)
-                    {
-                        weekTextName = "0";
-                    }
-                }
-                stateList.Add(weekTextName);
-
-            }
-
-            return stateList;
-        }
-
-        /// <summary>
-        /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶
-        /// </summary>
-        /// <param name="text"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        public static string GetModeValueString(string text, string type)
-        {
-            string str = "";
-            switch (type)
-            {
-                case "mode":
-                    {
-                        if (text == Language.StringByID(StringId.coolLogic))
-                        {
-                            str = "cool";
-                        }
-                        else if (text == Language.StringByID(StringId.heatingLogic))
-                        {
-                            str = "heat";
-                        }
-                        else if (text == Language.StringByID(StringId.autoLogic))
-                        {
-                            str = "auto";
-                        }
-                        else if (text == Language.StringByID(StringId.dehumidifyLogic))
-                        {
-                            str = "dry";
-                        }
-                    }
-                    break;
-                case "fan":
-                    {
-                        if (text == Language.StringByID(StringId.HighWindSpeed))
-                        {
-                            str = "high";
-                        }
-                        else if (text == Language.StringByID(StringId.MiddleWindSpeed))
-                        {
-                            str = "medium";
-                        }
-                        else if (text == Language.StringByID(StringId.LowWindSpeed))
-                        {
-                            str = "low";
-                        }
-                        else if (text == Language.StringByID(StringId.Auto))
-                        {
-                            str = "auto";
-                        }
-                    }
-                    break;
-                case "FloorHeating":
-                    {
-                        if (text == Language.StringByID(StringId.dayMode))
-                        {
-                            str = "day";
-                        }
-                        else if (text == Language.StringByID(StringId.nightMode))
-                        {
-                            str = "night";
-                        }
-                        else if (text == Language.StringByID(StringId.leaveMode))
-                        {
-                            str = "away";
-                        }
-                        else if (text == Language.StringByID(StringId.ordinaryMode))
-                        {
-                            str = "normal";
-                        }
-                        else if (text == Language.StringByID(StringId.timeMode))
-                        {
-                            str = "timer";
-                        }
-                    }
-                    break;
-            }
-            return str;
-        }
-    }
-}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs
index bb40d14..a674af7 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs
@@ -120,7 +120,7 @@
             btnText.Gravity = Gravity.CenterVertical;
             btnText.TextAlignment = TextAlignment.CenterLeft;
             btnNextIcon.Gravity = Gravity.CenterVertical;
-            btnDeviceName.Gravity= Gravity.CenterVertical;
+            //btnDeviceName.Gravity= Gravity.CenterVertical;
             frameLayout.AddChidren(btnIcon);
             frameLayout.AddChidren(btnText);
             frameLayout.AddChidren(btnDeviceName);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SingleLogicView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SingleLogicView.cs
index 08e3756..e1487c5 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SingleLogicView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SingleLogicView.cs
@@ -81,7 +81,7 @@
 
         };
         /// <summary>
-        /// 鍥炬爣寮�鍏�
+        /// 鐐瑰嚮浜嬩欢
         /// </summary>
         public Button btnclick= new Button
         {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs
new file mode 100644
index 0000000..5dad653
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs
@@ -0,0 +1,67 @@
+锘縰sing System;
+using Shared;
+using System.Collections.Generic;
+namespace HDL_ON.UI.UI2.Intelligence.Automation.LogicView
+{
+    public class TemperatureView
+    {
+        /// <summary>
+        /// view
+        /// </summary>
+        /// <param name="frameLayout">寮圭獥鐖舵帶浠�</param>
+        /// <param name="stateValue">涔嬪墠鐘舵�佸��</param>
+        /// <param name="action">杩斿洖缁撴灉</param>
+        public void FLayoutView(FrameLayout frameLayout, string stateValue, Action<string> action)
+        {
+            FrameLayout frame = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+            };
+            frameLayout.AddChidren(frame);
+            LogicView.TimeView view = new LogicView.TimeView();
+            view.FLayoutView(frame);
+            //鍙栨秷鐐瑰嚮浜嬩欢
+            view.btnCancel.MouseUpEventHandler += (sender1, e1) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                frame.RemoveFromParent();
+            };
+            //鍒濆鍖栧垪琛�
+            var temperatureList = new List<string>();
+            for (int i = 16; i < 32; i++)
+            {
+                //娣诲姞鏁版嵁
+                temperatureList.Add(i.ToString() + "鈩�");
+                temperatureList.Add((i + 0.5).ToString() + "鈩�");
+            }
+            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
+            view.mUIPickerView.setNPicker(temperatureList, null, null);
+            //榛樿鍒濆閫変腑鐘舵��
+            view.mUIPickerView.setCurrentItems(9, 0, 0);
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
+            string temperature = "25鈩�";
+            for (int i = 0; i < temperatureList.Count; i++)
+            {
+                if (temperatureList[i] == stateValue)
+                {
+                    //鏇存柊鐘舵��
+                    view.mUIPickerView.setCurrentItems(i, 0, 0);
+                    //鏇存柊鐘舵��
+                    temperature = temperatureList[i];
+                    break;
+                }
+            }
+            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
+            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+            {
+                temperature = temperatureList[index1];
+            };
+            //纭畾鐐瑰嚮浜嬩欢
+            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
+            {
+                action(temperature);
+                frame.RemoveFromParent();
+            };
+        }
+    }
+}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
index 2497cbb..95b5452 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -72,7 +72,7 @@
                         try
                         {
                             //閫昏緫浣胯兘鐨勫懡浠�
-                            Send.switchLogic(currLogic);
+                            Send.SwitchLogic(currLogic);
 
                         }
                         catch { }
@@ -240,7 +240,7 @@
             }
             List<string> logicIdList = new List<string>();
             //鑾峰彇閫昏緫ID鍒楄〃
-            var idStr = Send.getLogicIdList();
+            var idStr = Send.GetLogicIdList();
             if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "")
             {
                 var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data);
@@ -252,7 +252,7 @@
                 }
             }
             //鑾峰彇鑷姩鍖栧垪琛�
-            var logicStr = Send.getLogic(logicIdList);
+            var logicStr = Send.GetLogic(logicIdList);
             if (logicStr.Code == "0" && logicStr.Data != null && logicStr.Data.ToString() != "")
             {
                 //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
index fed922d..16c87a0 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -8,14 +8,20 @@
         /// <summary>
         /// 鍗曢�夋嫨
         /// </summary>
-        /// <param name="frameLayout">鐖舵帶浠�</param>
+        /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param>
         /// <param name="list">鏄剧ず鏁版嵁婧�</param>
         /// <param name="titleText"></param>
         /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param>
         /// <param name="action">杩斿洖鍊�</param>
         /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param>
-        public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14)
+        public void SingleSelectionShow(FrameLayout frame, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14)
         {
+            FrameLayout frameLayout = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+            };
+            frame.AddChidren(frameLayout);
+
             LogicView.DateView view = new LogicView.DateView();
             view.btnTitle.Text = titleText;
             view.FLayoutView(frameLayout, list.Count);
@@ -246,6 +252,241 @@
 
         }
 
-      
+        /// <summary>
+        /// 鑾峰彇鐣岄潰鍒楄〃
+        /// </summary>
+        /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param>
+        /// <returns></returns>
+        public List<string> GetViewList(string isStr)
+        {
+            List<string> list = null;
+            switch (isStr)
+            {
+                case "mode":
+                    {
+                        list = new List<string> {
+                                Language.StringByID(StringId.coolLogic),
+                                 Language.StringByID(StringId.heatingLogic),
+                                  Language.StringByID(StringId.autoLogic),
+                                   Language.StringByID(StringId.dehumidifyLogic),
+                            };
+                    }
+                    break;
+                case "fan":
+                    {
+                        list = new List<string> {
+                                Language.StringByID(StringId.LowWindSpeed),
+                                 Language.StringByID(StringId.MiddleWindSpeed),
+                                  Language.StringByID(StringId.HighWindSpeed),
+                                   Language.StringByID(StringId.Auto),
+                            };
+                    }
+                    break;
+                case "floorheatingmode":
+                    {
+                        list = new List<string> {
+                                Language.StringByID(StringId.dayMode),
+                                 Language.StringByID(StringId.nightMode),
+                                  Language.StringByID(StringId.leaveMode),
+                                   Language.StringByID(StringId.ordinaryMode),
+                                Language.StringByID(StringId.timeMode),
+                            };
+                    }
+                    break;
+                case "week":
+                    {
+                        list = new List<string> {
+             Language.StringByID(StringId.monday),
+             Language.StringByID(StringId.tuesday),
+             Language.StringByID(StringId.wednesday),
+             Language.StringByID(StringId.thursday),
+             Language.StringByID(StringId.friday),
+             Language.StringByID(StringId.saturday),
+             Language.StringByID(StringId.sunday),
+                      };
+                    }
+                    break;
+                case "andor":
+                    {
+                        list = new List<string> {
+                     Language.StringByID(StringId.andCondition),
+                     Language.StringByID(StringId.orCondition),
+                      };
+                    }
+                    break;
+
+            }
+            return list;
+        }
+        /// <summary>
+        /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶
+        /// </summary>
+        /// <param name="text"></param>
+        /// <param name="type">鑷繁瀹氫箟鑷繁鐢�</param>
+        /// <returns></returns>
+        public string GetModeValueString(string text, string type)
+        {
+            string str = "";
+            switch (type)
+            {
+                case "mode":
+                    {
+                        if (text == Language.StringByID(StringId.coolLogic))
+                        {
+                            str = "cool";
+                        }
+                        else if (text == Language.StringByID(StringId.heatingLogic))
+                        {
+                            str = "heat";
+                        }
+                        else if (text == Language.StringByID(StringId.autoLogic))
+                        {
+                            str = "auto";
+                        }
+                        else if (text == Language.StringByID(StringId.dehumidifyLogic))
+                        {
+                            str = "dry";
+                        }
+                    }
+                    break;
+                case "fan":
+                    {
+                        if (text == Language.StringByID(StringId.HighWindSpeed))
+                        {
+                            str = "high";
+                        }
+                        else if (text == Language.StringByID(StringId.MiddleWindSpeed))
+                        {
+                            str = "medium";
+                        }
+                        else if (text == Language.StringByID(StringId.LowWindSpeed))
+                        {
+                            str = "low";
+                        }
+                        else if (text == Language.StringByID(StringId.Auto))
+                        {
+                            str = "auto";
+                        }
+                    }
+                    break;
+                case "floorheatingmode":
+                    {
+                        if (text == Language.StringByID(StringId.dayMode))
+                        {
+                            str = "day";
+                        }
+                        else if (text == Language.StringByID(StringId.nightMode))
+                        {
+                            str = "night";
+                        }
+                        else if (text == Language.StringByID(StringId.leaveMode))
+                        {
+                            str = "away";
+                        }
+                        else if (text == Language.StringByID(StringId.ordinaryMode))
+                        {
+                            str = "normal";
+                        }
+                        else if (text == Language.StringByID(StringId.timeMode))
+                        {
+                            str = "timer";
+                        }
+                    }
+                    break;
+            }
+            return str;
+        }
+        /// <summary>
+        /// 鏄熸湡int鍜宻tring浜掔浉杞崲鍊肩殑鏂规硶
+        /// </summary>
+        /// <param name="list"></param>
+        /// <param name="str_or_int"></param>
+        /// <returns></returns>
+        public List<string> GetWeekString(List<string> list, string str_or_int)
+        {
+            string weekTextName = "";
+            List<string> stateList = new List<string>();
+            for (int i = 0; i < list.Count; i++)
+            {
+                var s = list[i];
+                if (str_or_int == "int")
+                {
+                    switch (s)
+                    {
+                        case "1":
+                            {
+                                weekTextName = Language.StringByID(StringId.monday);
+                            }
+                            break;
+                        case "2":
+                            {
+                                weekTextName = Language.StringByID(StringId.tuesday);
+                            }
+                            break;
+                        case "3":
+                            {
+                                weekTextName = Language.StringByID(StringId.wednesday);
+                            }
+                            break;
+                        case "4":
+                            {
+                                weekTextName = Language.StringByID(StringId.thursday);
+                            }
+                            break;
+                        case "5":
+                            {
+                                weekTextName = Language.StringByID(StringId.friday);
+                            }
+                            break;
+                        case "6":
+                            {
+                                weekTextName = Language.StringByID(StringId.saturday);
+                            }
+                            break;
+                        case "0":
+                            {
+                                weekTextName = Language.StringByID(StringId.sunday);
+                            }
+                            break;
+                    }
+
+                }
+                else
+                {
+                    if (Language.StringByID(StringId.monday) == s)
+                    {
+                        weekTextName = "1";
+                    }
+                    else if (Language.StringByID(StringId.tuesday) == s)
+                    {
+                        weekTextName = "2";
+                    }
+                    else if (Language.StringByID(StringId.wednesday) == s)
+                    {
+                        weekTextName = "3";
+                    }
+                    else if (Language.StringByID(StringId.thursday) == s)
+                    {
+                        weekTextName = "4";
+                    }
+                    else if (Language.StringByID(StringId.friday) == s)
+                    {
+                        weekTextName = "5";
+                    }
+                    else if (Language.StringByID(StringId.saturday) == s)
+                    {
+                        weekTextName = "6";
+                    }
+                    else if (Language.StringByID(StringId.sunday) == s)
+                    {
+                        weekTextName = "0";
+                    }
+                }
+                stateList.Add(weekTextName);
+
+            }
+
+            return stateList;
+        }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index 580a8a6..494a69d 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -12,7 +12,7 @@
         /// <summary>
         /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
         /// </summary>
-        public static string gatewayId
+        public static string GatewayId
         {
             get
             {
@@ -23,15 +23,15 @@
                 return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId;
             }
         }
-
+         
         /// <summary>
         /// 浣忓畢ID
         /// </summary>
-        public static string homeId
+        public static string HomeId
         {
             get
             {
-                return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID;
+                return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID; 
             }
         }
 
@@ -39,15 +39,15 @@
         /// 鑾峰彇閫昏緫ID鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew getLogicIdList()
+        public static ResponsePackNew GetLogicIdList() 
         {
-            var jObject = new JObject { { "homeId", homeId } };
+            var jObject = new JObject { { "homeId", HomeId } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
             //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
             if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
             {
                 RefreshToken();
-                getLogicIdList();
+                GetLogicIdList();
             }
             return responsePackNew;
         }
@@ -56,7 +56,7 @@
         /// </summary>
         /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
         /// <returns></returns>
-        public static ResponsePackNew getLogic(List<string> listIdList)
+        public static ResponsePackNew GetLogic(List<string> listIdList)
         {
             var jArray = new JArray { };
             for (int i = 0; i < listIdList.Count; i++)
@@ -69,12 +69,12 @@
             if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
             {
                 RefreshToken();
-                getLogic(listIdList);
+                GetLogic(listIdList);
             }
             return responsePackNew;
         }
         /// <summary>
-        /// 娣诲姞鑷姩鍖栧懡浠�
+        /// 娣诲姞鑷姩鍖栧懡浠� 
         /// </summary>
         /// <param name="logic"></param>
         /// <returns></returns>
@@ -134,7 +134,7 @@
                 var logicjArray = new JArray { };
                 var logicIfon = new JObject { };
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
@@ -142,7 +142,7 @@
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
                 logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
+                var jObject = new JObject { { "homeId", HomeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
                 if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
@@ -165,7 +165,7 @@
         /// </summary>
         /// <param name="logic"></param>
         /// <returns></returns>
-        public static ResponsePackNew updateLogic(Logic logic)
+        public static ResponsePackNew UpdateLogic(Logic logic)
         {
             ResponsePackNew responsePackNew = null;
             try
@@ -222,7 +222,7 @@
                 var logicIfon = new JObject { };
                 logicIfon.Add("userLogicId", logic.userLogicId);
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
@@ -230,13 +230,13 @@
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
                 logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
+                var jObject = new JObject { { "homeId", HomeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
                 if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
                 {
                     RefreshToken();
-                    updateLogic(logic);
+                    UpdateLogic(logic);
                 }
             }
             catch (Exception e)
@@ -246,12 +246,12 @@
 
 
             return responsePackNew;
-        }
+        } 
         /// <summary>
         /// 鍒犻櫎閫昏緫
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew delLogic(Logic logic)
+        public static ResponsePackNew DelLogic(Logic logic)
         {
             var jArray = new JArray { };
             jArray.Add(logic.userLogicId);
@@ -261,15 +261,15 @@
             if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
             {
                 RefreshToken();
-                delLogic(logic);
+                DelLogic(logic);
             }
             return responsePackNew;
         }
-        /// <summary>
+        /// <summary> 
         /// 閫昏緫寮�鍏�
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew switchLogic(Logic logic)
+        public static ResponsePackNew SwitchLogic(Logic logic)
         {
             var jArray = new JArray { };
             var job = new JObject { { "userLogicId", logic.userLogicId } , { "enable", logic.enable } };
@@ -280,12 +280,12 @@
             if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
             {
                 RefreshToken();
-                switchLogic(logic);
+                SwitchLogic(logic);
             }
             return responsePackNew;
         }
         /// <summary>
-        ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛�
+        ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
         /// <returns></returns>
         public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 3)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
index 507e495..15253d8 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs
@@ -106,7 +106,7 @@
                         try
                         {
                             //鍙戦�佸垹闄ら�昏緫鍛戒护锛�
-                            responsePackNew = Send.delLogic(Logic.currlogic);
+                            responsePackNew = Send.DelLogic(Logic.currlogic);
 
                         }
                         catch { }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 48bcd24..11fe439 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -105,99 +105,45 @@
                         ///娓╁害鐐瑰嚮浜嬩欢
                         temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.TimeView view = new LogicView.TimeView();
-                            view.FLayoutView(frame);
-                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
-                            {
-                                //绉婚櫎fLayout鐣岄潰
-                                frame.RemoveFromParent();
-                            };
-                            //鍙栨秷鐐瑰嚮浜嬩欢
-                            view.btnCancel.MouseUpEventHandler += removefLayout;
-
-                            //鍒濆鍖栧垪琛�
-                            var temperatureList = new List<string>();
-                            for (int i = 16; i < 32; i++)
-                            {
-                                //娣诲姞鏁版嵁
-                                temperatureList.Add(i.ToString() + "鈩�");
-                                temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
-                            }
-
-                            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-                            view.mUIPickerView.setNPicker(temperatureList, null, null);
-                            //榛樿鍒濆閫変腑鐘舵��
-                            view.mUIPickerView.setCurrentItems(9, 0, 0);
-                            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-                            string temperature = "25鈩�";
-                            for (int i = 0; i < temperatureList.Count; i++)
-                            {
-                                if (temperatureList[i] == temperatureView.btnState.Text)
-                                {
-                                    //鏇存柊鐘舵��
-                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
-                                    //鏇存柊鐘舵��
-                                    temperature = temperatureList[i];
-                                    break;
-                                }
-                            }
-                            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
-                            {
-                                temperature = temperatureList[index1];
-                            };
-                            //纭畾鐐瑰嚮浜嬩欢
-                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "set_temp");
+                            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+                            string tempValue = temperatureView.btnState.Text;
+                            LogicView.TemperatureView tempView= new LogicView.TemperatureView();
+                            tempView.FLayoutView(this, tempValue,(stateStr)=> {
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                temperatureView.btnState.Text = stateStr;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                string set_temp_value = temperature.Replace("鈩�", "");
+                                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);
-                                selectedState = device.functionType + "_set_temp";
-                                RemView(frame);
-                                temperatureView.btnState.Text = temperature;
+                            });
 
 
-                            };
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
                         acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-
-                            List<string> modeStr = new List<string> {
-                                Language.StringByID(StringId.coolLogic),
-                                 Language.StringByID(StringId.heatingLogic),
-                                  Language.StringByID(StringId.autoLogic),
-                                   Language.StringByID(StringId.dehumidifyLogic),
-                            };
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-
-
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
                             string currText = acModehView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "mode";
+                            selectedState = device.functionType + "_"+keyVlaue;
                             PublicInterface modeView = new PublicInterface();
-                            modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
+                            var modeListStr=  modeView.GetViewList(keyVlaue);
+                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                                , (stateValue) =>
                                {
-                                   string keyVlaue = "mode";
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", "mode");
-                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "mode"));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
                                    acModehView.btnState.Text = stateValue;
-                                   selectedState = device.functionType + "_mode";
+                                   //鏁版嵁灏佽
+                                   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);
 
                                });
 
@@ -205,35 +151,30 @@
                         ///椋庨�熺偣鍑讳簨浠�
                         acSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            List<string> speedStr = new List<string> {
-                                Language.StringByID(StringId.LowWindSpeed),
-                                 Language.StringByID(StringId.MiddleWindSpeed),
-                                  Language.StringByID(StringId.HighWindSpeed),
-                                   Language.StringByID(StringId.Auto),
-                            };
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
 
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
                             string currText = acSpeedView.btnState.Text;
-                            PublicInterface modeView = new PublicInterface();
-                            modeView.SingleSelectionShow(frame, speedStr, Language.StringByID(StringId.speedLogic), currText
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "fan";
+                            selectedState = device.functionType + "_" + keyVlaue;
+                            PublicInterface speedView = new PublicInterface();
+                            var speedListStr = speedView.GetViewList(keyVlaue);
+                            speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
                                , (stateValue) =>
                                {
-                                   string keyVlaue = "fan";
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", "fan");
-                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "fan"));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
                                    acSpeedView.btnState.Text = stateValue;
-                                   selectedState = device.functionType + "_fan";
+                                   //鏁版嵁灏佽
+                                   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);
+
                                });
                         };
                         if (edit)
                         {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
                         }
 
@@ -271,102 +212,53 @@
                         ///娓╁害鐐瑰嚮浜嬩欢
                         temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.TimeView view = new LogicView.TimeView();
-                            view.FLayoutView(frame);
-                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
-                            {
-                                //绉婚櫎fLayout鐣岄潰
-                                frame.RemoveFromParent();
-                            };
-                            //鍙栨秷鐐瑰嚮浜嬩欢
-                            view.btnCancel.MouseUpEventHandler += removefLayout;
-
-                            //鍒濆鍖栧垪琛�
-                            var temperatureList = new List<string>();
-                            for (int i = 16; i < 32; i++)
-                            {
-                                //娣诲姞鏁版嵁
-                                temperatureList.Add(i.ToString() + "鈩�");
-                                temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
-                            }
-
-                            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-                            view.mUIPickerView.setNPicker(temperatureList, null, null);
-
-                            //榛樿鍒濆閫変腑鐘舵��
-                            view.mUIPickerView.setCurrentItems(9, 0, 0);
-                            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-                            string temperature = "25鈩�";
-                            for (int i = 0; i < temperatureList.Count; i++)
-                            {
-                                if (temperatureList[i] == temperatureView.btnState.Text)
-                                {
-                                    //鏇存柊鐘舵��
-                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
-                                    //鏇存柊鐘舵��
-                                    temperature = temperatureList[i];
-                                    break;
-                                }
-                            }
-                            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
-                            {
-                                temperature = temperatureList[index1];
-                            };
-                            //纭畾鐐瑰嚮浜嬩欢
-                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "set_temp");
+                            string tempValue = temperatureView.btnState.Text;
+                            LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+                            tempView.FLayoutView(this, tempValue, (stateStr) => {
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                temperatureView.btnState.Text = stateStr;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                string set_temp_value = temperature.Replace("鈩�", "");
+                                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);
-                                selectedState = device.functionType + "_set_temp";
                                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                                RemView(frame);
-                                temperatureView.btnState.Text = temperature;
 
-                            };
+                            });
+                           
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
                         floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            List<string> modeStr = new List<string> {
-                                Language.StringByID(StringId.dayMode),
-                                 Language.StringByID(StringId.nightMode),
-                                  Language.StringByID(StringId.leaveMode),
-                                   Language.StringByID(StringId.ordinaryMode),
-                                Language.StringByID(StringId.timeMode),
-                            };
+                           
+                           
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
                             string currText= floorHeatingModehView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "mode";
+                            selectedState = device.functionType + "_"+ keyVlaue;
+
                             PublicInterface modeView = new PublicInterface();
-                            modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
+                            var modeListStr = modeView.GetViewList("floorheatingmode");
+                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                                , (stateValue) =>
                                {
-                                   string keyVlaue = "mode";
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", "mode");
-                                   LogicMethod.dictionary(dic, "value", InterfaceDsplaysLogic.GetModeValueString(stateValue, "FloorHeating"));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
                                    floorHeatingModehView.btnState.Text = stateValue;
-                                   selectedState = device.functionType + "_mode";
+                                   //鏁版嵁灏佽
+                                   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);
                                });
 
                         };
                         if (edit)
                         {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
                         }
 
@@ -505,6 +397,7 @@
             };
             if (edit)
             {
+                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                 GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
             }
             #endregion
@@ -552,6 +445,7 @@
             };
             if (edit)
             {
+                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                 GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
             }
             #endregion
@@ -587,13 +481,15 @@
                             id = StringId.stop;
                         } 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");
-                string keyVlaue = "on_off";
                 LogicMethod.dictionary(dic, "value", strValue);
                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + "_" + strValue;
 
             });
             #endregion
@@ -611,12 +507,16 @@
                 BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
             };
             this.AddChidren(frame);
+            string stateVlaue = button.Text;
             LogicView.BrightnessView brightness = new LogicView.BrightnessView();
-            brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) =>
+            brightness.FLayoutView(frame, titleName, stateVlaue, (brightnesValue) =>
             {
+                //鐣岄潰鏄剧ず閫変腑鍊�
                 button.Text = brightnesValue+"%";
-                Dictionary<string, string> dic = new Dictionary<string, string>();
                 string keyVlaue = "";
+                selectedState = device.functionType + brightnesValue.ToString();
+                //鏁版嵁灏佽
+                Dictionary<string, string> dic = new Dictionary<string, string>();
                 switch (device.functionType)
                 {
                     //寮�鍏崇伅鍏� light.Switch
@@ -639,7 +539,6 @@
                 }
                 LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + brightnesValue.ToString();
             });
             #endregion
 
@@ -728,14 +627,7 @@
             }
 
         }
-        /// <summary>
-        /// 绉婚櫎鎺т欢
-        /// </summary>
-        /// <param name="frame"></param>
-        private void RemView(FrameLayout frame)
-        {
-            frame.RemoveFromParent();
-        }
+     
 
 
     }

--
Gitblit v1.8.0