From 95abe9c68247fb8213871a59be4b0f33830dc188 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 30 六月 2023 14:18:38 +0800
Subject: [PATCH] 安卓定位优化,组控更新,修改密码验证码输入问题修复

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs |  180 +++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 111 insertions(+), 69 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index cb55326..a45dcc5 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -18,6 +18,8 @@
         Action refreshAction;
         SceneFunction sceneFunction;
 
+        bool isColorful = false;
+
         public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
         {
             bodyView = this;
@@ -33,7 +35,6 @@
                 }
                 catch { }
             }
-            //sceneFunction = fc;
             refreshAction = action;
         }
 
@@ -51,81 +52,64 @@
             };
             bodyView.AddChidren(contentView);
 
-            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff));
+            var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
 
-            foreach (var attr in sceneFunction.status)
+            LoadFunctionRow(onOffStatus);
+
+            if (sceneFunction.localFunction.spk == SPK.LightRGB)
             {
-                switch (attr.key)
+                var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+                if (colorfulStatus != null)
                 {
-                    case FunctionAttributeKey.SetTemp:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp));
-                        break;
-                    case FunctionAttributeKey.Mode:
-
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode));
-                        break;
-                    case FunctionAttributeKey.FanSpeed:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed));
-                        break;
-                    case FunctionAttributeKey.Percent:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent));
-                        break;
-                    case FunctionAttributeKey.Brightness:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
-                        break;
-                    case FunctionAttributeKey.FadeTime:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
-                        break;
-                    case FunctionAttributeKey.CCT:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.CCT));
-                        break;
-                    case FunctionAttributeKey.RGB:
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB));
-                        break;
-                    case "angle"://瑙掑害
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle"));
-                        break;
-                    case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻
-                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security"));
-                        break;
+                    isColorful = true;
+                    LoadColorfulRow(colorfulStatus);
                 }
             }
-
-            //鍔犺浇寮�鍏砇ow
-            //LoadFunctionRow(sceneFunction.localFunction.trait_on_off);
-            //switch (sceneFunction.localFunction.functionType)
-            //{
-            //    case SPK.AcStandard:
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan"));
-            //        break;
-            //    case SPK.FloorHeatStandard:
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp"));
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode"));
-            //        break;
-            //    case SPK.CurtainSwitch:
-            //        //鏃犳搷浣�
-            //        break;
-            //    case SPK.CurtainTrietex:
-            //    case SPK.CurtainRoller:
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"));
-            //        break;
-            //    case SPK.LightSwitch:
-            //        //鏃犳搷浣�
-            //        break;
-            //    case SPK.LightDimming:
-            //    case SPK.LightRGB:
-            //        LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"));
-            //        break;
-            //}
-
-            if (DB_ResidenceData.Instance.GatewayType != 0)
+            if(!isColorful)
             {
-                //鍔犺浇寤舵椂Row
-                LoadDelayRow();
-            }
+                foreach (var attr in sceneFunction.status)
+                {
+                    switch (attr.key)
+                    {
+                        case FunctionAttributeKey.SetTemp:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp));
+                            break;
+                        case FunctionAttributeKey.Mode:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode));
+                            break;
+                        case FunctionAttributeKey.FanSpeed:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed));
+                            break;
+                        case FunctionAttributeKey.Percent:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent));
+                            break;
+                        case FunctionAttributeKey.Brightness:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
+                            break;
+                        case FunctionAttributeKey.FadeTime:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
+                            break;
+                        case FunctionAttributeKey.CCT:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.CCT));
+                            break;
+                        case FunctionAttributeKey.RGB:
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB));
+                            break;
+                        case "angle"://瑙掑害
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle"));
+                            break;
+                        case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻
+                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security"));
+                            break;
+                    }
+                }
 
+                if (DB_ResidenceData.Instance.GatewayType != 0)
+                {
+                    //鍔犺浇寤舵椂Row
+                    LoadDelayRow();
+                }
+            }
             var bottomView = new FrameLayout()
             {
                 Y = Application.GetRealHeight(591),
@@ -392,6 +376,64 @@
             #endregion
         }
 
+        /// <summary>
+        /// 鍔犺浇鍔熻兘Row
+        /// </summary>
+        void LoadColorfulRow(SceneFunctionStatus sceneStatus)
+        {
+            if (sceneStatus == null)
+                return;
+            #region Row code
+            var row = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(50),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            contentView.AddChidren(row);
+
+            row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+            Button btnRight = new Button()
+            {
+                X = Application.GetRealWidth(339),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                UnSelectedImagePath = "Public/Right.png",
+            };
+            row.AddChidren(btnRight);
+
+
+            var showCode = "";
+
+            var btnFunctionText = new Button()
+            {
+                Width = Application.GetRealWidth(330),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = sceneStatus.GetValueText(showCode)
+            };
+            row.AddChidren(btnFunctionText);
+
+            var btnFunctionName = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.ColorfulFunction
+            };
+            row.AddChidren(btnFunctionName);
+            btnFunctionName.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
+            };
+
+            #endregion
+        }
+
+
 
         #region 鍔犺浇鍔熻兘鍦烘櫙鏁版嵁璋冭妭鐣岄潰
         /// <summary>

--
Gitblit v1.8.0