wjc
2023-07-26 9508510f0b27da3278fa1161eb2ba3dd1e3e2030
HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -1903,14 +1903,15 @@
            }
            LoadFunctionRow(onOffStatus);
            if (sceneFunction.localFunction.spk == SPK.LightRGB)
            if (sceneFunction.localFunction.spk == SPK.LightRGB || sceneFunction.localFunction.spk == SPK.GroupControl)
            {
                var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
                if (colorfulStatus != null)
                {
                    isColorful = true;
                    LoadColorfulRow(colorfulStatus);
                }
                //var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
                //if (colorfulStatus != null)
                //{
                //    isColorful = true;
                //    LoadColorfulRow(colorfulStatus);
                //    isColorful = colorfulStatus.value == "on";
                //}
            }
            foreach (var attr in sceneFunction.status)
            {
@@ -1981,17 +1982,43 @@
            btnConfrim.MouseUpEventHandler = (sender, e) =>
            {
                if (isOnStatus)
                {
                if (sceneFunction.localFunction.spk == SPK.GroupControl) {
                    var colorBegin = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulBegin);
                    if (colorBegin != null)
                    {
                        sceneFunction.status.Remove(colorBegin);
                    }
                    var colorEnd = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulEnd);
                    if (colorEnd != null)
                    {
                        sceneFunction.status.Remove(colorEnd);
                    }
                }
                else
                {
                    if (isColorful) { } else { }
                    sceneFunction.status.Clear();
                    sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" });
                    if (isOnStatus)
                    {
                        if (isColorful)
                        {
                            sceneFunction.status.Clear();
                            sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "on" });
                            sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.Colorful, value = "on" });
                        }
                        else
                        {
                            var isHasColorful = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
                            if (isHasColorful != null)
                            {
                                sceneFunction.status.Remove(isHasColorful);
                            }
                        }
                    }
                    else
                    {
                        sceneFunction.status.Clear();
                        sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" });
                    }
                }
                var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
                
                if (temp != null)
@@ -2030,11 +2057,15 @@
                    this.RemoveFromParent();
                }
            };
            UpdataFunctionRow();
        }
        void UpdataFunctionRow()
        {
            for(var i =0;i< functionRowList.Count; i++)
            contentView.RemoveAll();
            for (var i =0;i< functionRowList.Count; i++)
            {
                try
                {
@@ -2045,11 +2076,16 @@
                        {
                            if (view.Tag != null)
                            {
                                if (view.Tag.ToString() == FunctionAttributeKey.OnOff)
                                {
                                    contentView.AddChidren(view);
                                }
                                if (isOnStatus)
                                {
                                    if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
                                    {
                                        if (isColorful)
                                        if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB)
                                        {
                                            if(view.Tag.ToString() != FunctionAttributeKey.Colorful)
                                            {
@@ -2544,11 +2580,13 @@
            dialog.Show();
            pView.MouseUpEventHandler = (sender, e) => {
            pView.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
            };
            btnCancel.MouseUpEventHandler = (sender, e) => {
            btnCancel.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
            };
            btnOn.MouseUpEventHandler = (sender, e) =>
@@ -2609,10 +2647,10 @@
                    MainPage.Log($"场景配置异常3:{ex.Message}");
                }
            };
            btnOff.MouseUpEventHandler = (sender,e) =>{
            btnOff.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
                trait.value = "off";
                isOnStatus = false;
                try
                {
                    sceneFunction.status.Find((obj) => obj.key == trait.key).value = "off";
@@ -2627,6 +2665,7 @@
                    btn.Text = trait.GetValueText() + trait.GetUintString();
                    if (trait.key == FunctionAttributeKey.OnOff)
                    {
                        isOnStatus = false;
                        var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
                        if (temp == null)
                        {
@@ -2664,7 +2703,7 @@
                {
                    MainPage.Log($"场景配置异常3:{ex.Message}");
                }
        };
            };
        }
@@ -3161,7 +3200,33 @@
        /// <param name="btn"></param>
        void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
        {
            if (trait.min == 0)
            {
                switch (trait.key)
                {
                    case FunctionAttributeKey.SetTemp:
                        trait.min = 16;
                        break;
                    case FunctionAttributeKey.CCT:
                        trait.min = 2700;
                        break;
                }
            }
            if (trait.max == 0)
            {
                switch (trait.key)
                {
                    case FunctionAttributeKey.SetTemp:
                        trait.max = 30;
                        break;
                    case FunctionAttributeKey.CCT:
                        trait.max = 6500;
                        break;
                }
            }
            double temp = trait.min;
            double.TryParse(trait.value, out temp);
            trait.value = temp.ToString();