From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 28 三月 2023 11:54:45 +0800
Subject: [PATCH] 2023年03月28日11:52:02

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs |  147 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 134 insertions(+), 13 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 0246a9d..9cfe721 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -55,12 +55,38 @@
             #region  缂栬緫璁惧鐘舵��
             switch (device.spk)
             {
+                //鎻掑骇(鏈塙SB)
+                case SPK.PanelSocket:
+                    {
+                        #region 鐣岄潰
+                        ///鎬绘帶寮�鍏�
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.btnText.TextID = StringId.zongkogkaiguan;
+                        view1.btnState.Name = "鎬绘帶寮�鍏�";
+                        fLayout.AddChidren(view1.FLayoutView());
+                        ///璁惧寤舵椂iewv
+                        DelayView(fLayout, view1.frameLayout.Bottom);
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///鎬绘帶寮�鍏崇偣鍑讳簨浠�
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, view1.btnState, 2);
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditDeviceState(device, index, view1.btnState, null, null, null);
+                        }
+                        #endregion
+                    }
+                    break;
                 //寮�鍏崇伅鍏� 
                 case SPK.AirSwitch:
                 case SPK.LightSwitch:
-                //鎻掑骇
-                case SPK.PanelSocket:
                 case SPK.ElectricSocket:
+                //鏈烘鎵�
+                case SPK.MechanicalArm:
                     {
                         #region 鐣岄潰
                         ///寮�鍏�
@@ -89,7 +115,6 @@
                 case SPK.LightDimming:
                 case SPK.LightRGB:
                 case SPK.LightRGBW:
-                case SPK.LightCCT:
                     {
                         #region 鐣岄潰
                         ///寮�鍏�
@@ -121,6 +146,54 @@
                         {
                             //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditDeviceState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
+                        }
+                        #endregion
+                    }
+                    break;
+                case SPK.LightCCT:
+                    {
+                        #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());
+                        brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+                        ///鑹叉俯
+                        LogicView.FunTypeView colorTemperatureView = new LogicView.FunTypeView();
+                        colorTemperatureView.frameLayout.Y = brightnessView.frameLayout.Bottom;
+                        colorTemperatureView.btnText.TextID = StringId.ColorTemperature;
+                        fLayout.AddChidren(colorTemperatureView.FLayoutView());
+                        colorTemperatureView.btnState.Text = "2700k";
+                        ///璁惧寤舵椂iewv
+                        DelayView(fLayout, colorTemperatureView.frameLayout.Bottom);
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            SwitchViewMethod(device, lightSwitchView.btnState, 2);
+                        };
+                        ///浜害鐐瑰嚮浜嬩欢
+                        brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
+
+                        };
+                        ///鑹叉俯鐐瑰嚮浜嬩欢
+                        colorTemperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            ColorTemperatureMethod(device, colorTemperatureView.btnState, colorTemperatureView.btnText.Text);
+
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditDeviceState(device, index, lightSwitchView.btnState, brightnessView.btnState, colorTemperatureView.btnState, null);
                         }
                         #endregion
                     }
@@ -526,25 +599,30 @@
                                 {
                                     //HDL_ON.DriverLayer.Control.Ins.GetMusicDirectory(device);
                                     //var palyListName = Music.SendMethod.mMethod.GetListName(device); 
-                                    var palyList= Music.SendMethod.Current.GetListMusic(device, "hdl_special");
-                                    List<string> musicNameList = new List<string>();
+                                    var palyList= Music.SendMethod.Current.GetSingleSongList(device, "hdl_special","");
+                                    List<string> songNameList = new List<string>(); 
                                     for (int i = 0; i < palyList.songs.Count; i++)
                                     {
-                                        var music = palyList.songs[i];
-                                        musicNameList.Add(music.name);
+                                        var song = palyList.songs[i]; 
+                                        songNameList.Add(song.name);
                                     }
                                     Application.RunOnMainThread(() =>
                                     {
                                         loading.Hide();
                                         PublicInterface publicInterface = new PublicInterface();
-                                        publicInterface.FrameOrVv(this, musicNameList, new List<string> { funTypeView.btnState.Text }, palyList.group, (index) =>
+                                        publicInterface.FrameOrVv(this, songNameList, new List<string> { funTypeView.btnState.Text }, palyList.group, (index2) =>
                                         {
-                                            var musicSelecetd = palyList.songs[index];
+                                            var songSelecetd = palyList.songs[index2]; 
                                             //鐣岄潰鏄剧ず閫変腑鍊�
-                                            funTypeView.btnState.Text = musicSelecetd.name;
+                                            funTypeView.btnState.Text = songSelecetd.name;
                                             //鏁版嵁灏佽
                                             AddDictionary("playlist_name", palyList.group);//鍒楄〃鍚�
-                                            AddDictionary("song_name", musicSelecetd.name);//姝屾洸鍚�
+                                            AddDictionary("song_name", songSelecetd.name);//姝屾洸鍚�
+                                            if (!string.IsNullOrEmpty(songSelecetd.url))
+                                            {
+                                                //瀛樺湪url灏变竴璧峰彂閫佽繃鍘�
+                                                AddDictionary("url", songSelecetd.url);
+                                            }
 
                                         },false);
 
@@ -668,7 +746,7 @@
                             break;
 
                     }
-                    outputDevice.status = dicSateteList;
+                    outputDevice.status.AddRange(dicSateteList);
 
                     if (edit)
                     {
@@ -770,6 +848,17 @@
                 selectedState = device.spk + "_" + strValue;
                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                 string keyVlaue = "on_off";
+                switch (device.spk)
+                {
+                    case SPK.PanelSocket:
+                        {
+                            if (button.Name == "鎬绘帶寮�鍏�")
+                            {
+                                keyVlaue = "on_off_master";
+                            }
+                        }
+                        break;
+                }
                 //鏁版嵁灏佽
                 AddDictionary(keyVlaue, strValue);
             });
@@ -824,6 +913,38 @@
 
         }
         /// <summary>
+        /// 鑹叉俯(cct)=鍔熻兘涓嬩竴绾х晫闈�
+        /// </summary>
+        /// <param name="device"></param>
+        /// <param name="button"></param>
+        private void ColorTemperatureMethod(Entity.Function device, Button button, string titleName)
+        {
+            #region 鐣岄潰
+            //涔嬪墠鐨勭姸鎬佸��
+            string stateVlaue = button.Text;
+            LogicView.ColorTemperature brightness = new LogicView.ColorTemperature();
+            brightness.FLayoutView(this, titleName, stateVlaue, (colorTemperatureValue, unitStr) => 
+            {
+                //鐣岄潰鏄剧ず閫変腑鍊�
+                button.Text = colorTemperatureValue + unitStr;
+                selectedState = device.spk + colorTemperatureValue.ToString();
+                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                string keyVlaue = "";
+                switch (device.spk)
+                {
+                    case SPK.LightCCT:
+                        {
+                            keyVlaue = "cct";
+                        }
+                        break;
+                }
+                //鏁版嵁灏佽
+                AddDictionary(keyVlaue, colorTemperatureValue);
+            });
+            #endregion
+
+        }
+        /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
         /// </summary>
         /// <param name="device">缂栬緫璁惧</param>
@@ -841,7 +962,7 @@
             if (dicList.Count != 0)
             {
                 //鏈夋暟鎹噸鏂拌祴鍊�
-                dicSateteList = dicList;
+                dicSateteList.AddRange(dicList);
             }
             if (this.btnDelay != null)
             {

--
Gitblit v1.8.0