mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -12,7 +12,7 @@
        /// <summary>
        /// 当前窗体
        /// </summary>
        static FrameLayout bodyView;
        public static FunctionPage bodyView;
        /// <summary>
        /// 楼层选择下拉图标
        /// </summary>
@@ -30,10 +30,32 @@
        List<Function> functionList;
        int titleId;
        public Action DelAction;
        public FunctionPage()
        {
            bodyView = this;
            functionList = new List<Function>();
        }
        /// <summary>
        /// 重载界面
        /// </summary>
        public void ReLoadPage()
        {
            if (bodyView != null)
            {
                try
                {
                    bodyView.RemoveAll();
                    LoadPage(this.titleId);
                    functionList = new List<Function>();
                }
                catch (Exception ex)
                {
                    MainPage.Log($"FunctionPage ReloadPage error :\r\n {ex.Message}");
                }
            }
        }
        public void LoadPage(int titleId_out)
@@ -62,50 +84,24 @@
                    skipView.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView_LightFunction(action);
                var topView = new TopViewDiv(bodyView, Language.StringByID(titleId));
                topView.maginY = 10;
                topView.LoadTopView_LightFunction(action);
            }
            else
            {
                new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView();
                var topView = new TopViewDiv(bodyView, Language.StringByID(titleId));
                topView.maginY = 10;
                topView.LoadTopView();
            }
#if DEBUG
            //Button testBtn = new Button()
            //{
            //    X = Application.GetRealWidth(80),
            //    Height = Application.GetRealHeight(64),
            //    BackgroundColor = 0xFFFF0000
            //};
            //bodyView.AddChidren(testBtn);
            //int ddd = 0;
            //testBtn.MouseUpEventHandler = (sender, e) => {
            //    ddd++;
            //        Function function_online = FunctionList.List.GetLightList().Find((obj) => obj.sid == "0001017DB92D2602020100010101");
            //    if (ddd % 2 == 0)
            //    {
            //        function_online.online = true;
            //    }
            //    else
            //    {
            //        function_online.online = false;
            //    }
            //    HomePage.LoadEvent_RefreshDevcieOnline(function_online);
            //    FunctionPage.UpdataOnline(function_online);
            //    RoomPage.UpdataOnline(function_online);
            //};
#endif
            /// <summary>
            /// 房间内容显示区域
            /// </summary>
            var roomFloorChangeView = new FrameLayout()
            {
                Y = Application.GetRealHeight(64),
                Y = Application.GetRealHeight(64+10),
                Height = Application.GetRealHeight(52),
            };
            bodyView.AddChidren(roomFloorChangeView);
@@ -136,19 +132,19 @@
            functionListView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64 + 52),
                Height = Application.GetRealHeight(603 - 12 - 52),
                Y = Application.GetRealHeight(64 + 52 +10),
                Height = Application.GetRealHeight(603 - 12 - 52-10),
            };
            bodyView.AddChidren(functionListView);
            if (titleId == StringId.Lights)
            {
                functionList.AddRange(FunctionList.List.groupControls);
                //functionList.AddRange(FunctionList.List.groupControls);
                functionList.AddRange(FunctionList.List.GetLightList());
            }
            else if(titleId == StringId.HorseRaceLamp)
            {
                functionList.AddRange(FunctionList.List.GetSeries());
            }
            else if (titleId == StringId.AC)
            {
@@ -164,7 +160,9 @@
            }
            else if (titleId == StringId.Electric)
            {
                functionList.AddRange(FunctionList.List.GetElectricals());
            }
            else if (titleId == StringId.EnvironmentalScience)
            {
@@ -178,13 +176,17 @@
            {
                functionList.AddRange(FunctionList.List.GetAirFreshList());
            }
            else if(titleId == StringId.MechanicalArm)
            else if (titleId == StringId.MechanicalArm)
            {
                functionList.AddRange(FunctionList.List.GetMechanicalArmList());
            }
            else if(titleId == StringId.SecurityMonitoring)
            else if (titleId == StringId.SecurityMonitoring)
            {
                functionList.AddRange(FunctionList.List.GetIpCamImouList());
            }
            else if(titleId == StringId.EnergyMonitoring)
            {
                functionList.AddRange(FunctionList.List.GetEnergyList());
            }
            functionList = functionList.OrderByDescending(o => o.controlCounter).ToList();
@@ -250,7 +252,7 @@
                            {
                                continue;
                            }
                            if (function.spk == SPK.LightRGBW || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
                            if (function.spk == SPK.LightCCT || function.spk == SPK.LightRGBW || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
                            {
                                var functionDiv = new FunctionControlZone(function,null)
                                {
@@ -284,9 +286,38 @@
                                functionListView.AddChidren(functionDiv);
                            }
                            else if (function.spk == SPK.ElectricalTvHisense)
                            {
                                Action deviceDelAction = () =>
                                {
                                    //删除设备成功后更新UI
                                    if (functionListView==null) {
                                        return;
                                    }
                                    functionListView.RemoveAll();
                                    showList.Remove(function);//先移除
                                    ShowFunctionRow(showList,isAppend);
                                    this.DelAction?.Invoke();
                                };
                                var functionDiv = new FunctionControlZone(function, deviceDelAction)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth(343),
                                    Height = Application.GetRealHeight(96),
                                    Radius = (uint)Application.GetMinRealAverage(12),
                                    BorderColor = 0x00FFFFFF,
                                    BorderWidth = 1,
                                    BackgroundColor = CSS_Color.MainBackgroundColor,
                                    Tag = function.spk + function.sid
                                };
                                functionDiv.LoadFunctionDiv();
                                functionDiv.OrderEvent = OrderEvent;
                                functionListView.AddChidren(functionDiv);
                            }
                            else
                            {
                                var functionDiv = new FunctionControlZone(function,null)
                                var functionDiv = new FunctionControlZone(function, null)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth(343),