wjc
2023-07-26 9508510f0b27da3278fa1161eb2ba3dd1e3e2030
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -98,6 +98,7 @@
        public void LoadPage(Action backRefresh)
        {
             //DB_ResidenceData.Instance.sceneChooseRoomId
            new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh);
            initPage();
        }
@@ -432,11 +433,17 @@
                    var pack = pm.GetSceneInfo(scene.userSceneId);
                    if (pack.Code == StateCode.SUCCESS)
                    {
                        var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
                        var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
                        if (tempScene != null)
                        if (pack.Data != null)
                        {
                            scene = tempScene;
                            var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
                            var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
                            if (tempScene != null)
                            {
                                scene.name = tempScene.name;
                                scene.delay = tempScene.delay;
                                scene.roomIds = tempScene.roomIds;
                                scene.functions = tempScene.functions;
                            }
                        }
                        Application.RunOnMainThread(() =>
                        {
@@ -478,6 +485,20 @@
                    scene.functions.Remove(scenefunction);
                    continue;
                }
                try
                {
                    //将spk实体里面的min max值放入场景功能实体里,要不然数据会丢失 2022-06-21 16:06:45
                    foreach (var tt in scenefunction.status)
                    {
                        tt.min = scenefunction.localFunction.GetAttribute(tt.key).min;
                        tt.max = scenefunction.localFunction.GetAttribute(tt.key).max;
                        tt.valueList = scenefunction.localFunction.GetAttribute(tt.key).value;
                    }
                }catch(Exception ex)
                {
                    MainPage.Log($"场景加载功能列表异常:{ex.Message}");
                }
                i++;
                var row = new RowLayout()
                {
@@ -560,14 +581,17 @@
                EventHandler<MouseEventArgs> skipEvent = (sender, e) =>
                {
                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction.localFunction.ConvertSceneFunction(), refreshFunctionRowAction);
                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
                    MainPage.BasePageView.AddChidren(ssf);
                    ssf.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                btnFunctionName.MouseUpEventHandler = skipEvent;
                btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent;
                btnFunctionDelayInfo.MouseUpEventHandler = skipEvent;
                btnFunctionInfo.MouseUpEventHandler = skipEvent;
                btnRight.MouseUpEventHandler = skipEvent;
                row.MouseUpEventHandler = skipEvent;
                Button btnDelSceneFunction = new Button() {
                    BackgroundColor = CSS_Color.WarningColor,
@@ -839,6 +863,12 @@
            UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction);
        }
        public override void RemoveFromParent()
        {
            backAction();
            base.RemoveFromParent();
        }
        /// <summary>
        /// 完成按钮点击事件
        /// </summary>
@@ -868,7 +898,7 @@
                    }
                    scene.EditScene();
                    FunctionList.List.scenes.Add(scene);
                    backAction();
                    //backAction();
                    this.RemoveFromParent();
                }
                if (btnComplete.TextID == StringId.Del)
@@ -876,7 +906,7 @@
                    Action action = () =>
                    {
                        FunctionList.List.DeleteScene(scene,true);
                        backAction();
                        //backAction();
                        this.RemoveFromParent();
                    };
                    new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action);