From 3eb7e4359ed28bef37359fe64a1726274874ba08 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 13 十月 2022 16:45:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wjc' into Dev-Branch

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs           |    1 
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs    |   17 ++++++--
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |    7 +++
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs   |   19 +++++----
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs    |   47 +++++++++++++++++++++--
 HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs              |    2 
 6 files changed, 72 insertions(+), 21 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
index ab6ff1e..5de45b6 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
@@ -11,6 +11,7 @@
         }
         public void Show()
         {
+
             LogicView.TopView topView = new LogicView.TopView();
             this.AddChidren(topView.FLayoutView());
             topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 975533b..ec4c085 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -947,8 +947,13 @@
                 }
             }
             PublicInterface view = new PublicInterface();
-            //var listStr = view.GetViewList(key);
+            
             var listStr = view.GetSensorLevelList(device);//2022骞�05鏈�25鏃�10:01:33 浜у搧缁忕悊鍚涚厡瑕佹眰鏀规垚鍔ㄦ��
+            //if (listStr.Count == 0)
+            //{
+            //    //鍚鏄负浜嗗吋鐢ㄥ緢鑰佸緢鑰佺殑椤圭洰
+            //    listStr = view.GetViewList(key);
+            //}
             view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetSensorLevelText(device, stateValue,true)
                , (text) =>
                {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 286dbbe..5953a75 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1274,12 +1274,15 @@
                                 case SPK.MusicStandard:
                                 case SPK.AvMusic:
                                     {
-                                        foreach (var dic in dicList)
+                                        string song_name = GetKeyValue("song_name", dicList);
+                                        string volume = GetKeyValue("volume", dicList);
+                                        stateStr = song_name + ";" +Language.StringByID(StringId.volumeMusic)+volume;
+                                        if (stateStr.StartsWith(";"))
                                         {
-                                            if (dic["key"] == "song_name")
-                                            {
-                                                stateStr = dic["value"]?.ToString();
-                                            }
+                                            stateStr = stateStr.Substring(1, stateStr.Length - 1);
+                                        }else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic)))
+                                        {
+                                            stateStr = stateStr.Substring(0, stateStr.Length - 3);
                                         }
                                     }
                                     break;
@@ -2065,6 +2068,10 @@
                             {
                                 button1.Text = dic["value"]?.ToString();
                             }
+                            else if (dic["key"] == "volume")
+                            {
+                                button2.Text = dic["value"]?.ToString();
+                            }
                         }
                     }
                     break;
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
index 31feff1..f39f42f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
@@ -11,11 +11,11 @@
         /// <summary>
         /// 澶ф鍦嗚鍊�
         /// </summary>
-        public int RradiusFrameLayout = 15;
+        private  int RradiusFrameLayout = 15;
         /// <summary>
         /// 灏忔鍦嗚鍊�
         /// </summary>
-        public int radiusEditFrameLayout = 4;
+        private int radiusEditFrameLayout = 4;
         /// <summary>
         /// 杈撳叆妗�
         /// </summary>
@@ -368,7 +368,9 @@
         /// <param name="titleId">鏍囬鏂囨湰</param>
         /// <param name="tnputEditTxet">鏄剧ず鏂囨湰</param>
         /// <param name="confirmAction">鍥炶皟鍑芥暟</param>
-        public void InputBox(int titleId, string tnputEditTxet, Action<string> confirmAction)
+        /// <param name="minValue">鏈�灏忓��</param>
+        /// <param name="maxValue">鏈�澶у��</param>
+        public void InputBox(int titleId, string tnputEditTxet, Action<string> confirmAction,int minValue=1,int maxValue=100)
         {
             Dialog dialog = new Dialog()
             {
@@ -537,11 +539,10 @@
                 }
                 else
                 {
-                    var editTextValue = editText.Text.Trim();
-                    int intValue = int.Parse(editTextValue);
-                    if (intValue <= 0 || intValue > 100)
+                    int intValue = int.Parse(editText.Text.Trim());
+                    if (intValue <minValue || intValue > maxValue)
                     {
-                        errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue);
+                        errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue).Replace("1",minValue.ToString()).Replace("000",maxValue.ToString());
                     }
                 }
                 if (errorId_IsNullOrEmpty!="")
@@ -564,8 +565,8 @@
                     btnTip.IsMoreLines = true;
                     return;
                 }
-
-                confirmAction(editText.Text.Trim());
+                string editTextValue= int.Parse(editText.Text.Trim()).ToString();
+                confirmAction(editTextValue);
                 dialog.Close();
             };
 
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 68af545..2cb4899 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -503,9 +503,14 @@
                         LogicView.FunTypeView funTypeView = new LogicView.FunTypeView();
                         funTypeView.btnText.TextID = StringId.tishiyin;
                         fLayout.AddChidren(funTypeView.FLayoutView());
+                        ///闊抽噺
+                        LogicView.FunTypeView volView = new LogicView.FunTypeView();
+                        volView.frameLayout.Y = funTypeView.frameLayout.Bottom;
+                        volView.btnText.TextID = StringId.volumeMusic; 
+                        fLayout.AddChidren(volView.FLayoutView());
 
                         ///璁惧寤舵椂iewv
-                        DelayView(fLayout, funTypeView.frameLayout.Bottom);
+                        DelayView(fLayout, volView.frameLayout.Bottom);
                         #endregion
                         #region 鐐瑰嚮浜嬩欢
                         ///鎻愮ず璇煶鐐瑰嚮浜嬩欢
@@ -549,11 +554,24 @@
 
                             });
                         };
+                        ///闊抽噺鐐瑰嚮浜嬩欢
+                        volView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            selectedState = device.spk + "_volume";
+                            new LogicView.TipPopView { }.InputBox(StringId.volumeMusic, volView.btnState.Text, (value) =>
+                            {
+                                
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                volView.btnState.Text =value;
+                                //鏁版嵁灏佽
+                                AddDictionary("volume", value);//闊抽噺
+                            },0,100);
+                        };
 
                         if (edit)
                         {
                             //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                            GetEditDeviceState(device, index, funTypeView.btnState, null, null, null);
+                            GetEditDeviceState(device, index, funTypeView.btnState, volView.btnState, null, null);
                         }
 
                         #endregion
@@ -622,13 +640,32 @@
                                 if (!_bool)
                                 {
                                     //娌℃湁寮�鍏冲氨榛樿娣诲姞-寮�-灞炴��
-                                    Dictionary<string, string> diction = new Dictionary<string, string>();
-                                    diction.Add("key", "on_off");
-                                    diction.Add("value", "on");
+                                    Dictionary<string, string> diction = new Dictionary<string, string>
+                                    {
+                                        { "key", "on_off" },
+                                        { "value", "on" }
+                                    };
                                     dicSateteList.Add(diction);
                                 }
                             }
                             break;
+                        //闊充箰
+                        case SPK.MusicStandard:
+                        case SPK.AvMusic:
+                            {
+                                string volume = "volume";
+                                var dicObj = dicSateteList.Find((dic) => dic.ContainsValue(volume));
+                                if (dicObj != null)
+                                {
+                                    //鏈夐厤缃煶涔愰煶閲忓睘鎬э紝瑕侀噸鏂版帓鍒�,闊抽噺鍦ㄥ墠闈�
+                                    var dicList = new List<Dictionary<string, string>>();
+                                    dicList.Add(dicObj);//鍏堟坊鍔犻煶閲忓睘鎬�
+                                    var diclist = dicSateteList.FindAll((dic) => !dic.ContainsValue(volume));
+                                    dicList.AddRange(diclist);//鍐嶆坊鍔犲叾瀹冨睘鎬�
+                                    dicSateteList = dicList;//閲嶆柊璧嬪��
+                                }
+                            }
+                            break;
 
                     }
                     outputDevice.status = dicSateteList;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index 50cdc79..fc0f09e 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -59,7 +59,7 @@
             try
             {
                 //RefreshDeviceStatus(functionIds);
-                //a31Music.LastDateTime = DateTime.Now;
+                a31Music.LastDateTime = DateTime.Now;
                 ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁>
                 var allLocalFuntion = FunctionList.List.GetDeviceFunctionList();
                 var localFunction = allLocalFuntion.Find((obj) => obj.sid == sid);

--
Gitblit v1.8.0