陈嘉乐
2021-03-16 e1ac4ab0e68024e6289e0b11756962d662749b04
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
old mode 100755 new mode 100644
@@ -373,7 +373,14 @@
                        roomView.RemoveFromParent();
                    };
                    var view = new RoomPage(room, ReloadRoomName, deleteAction);
                    //房间背景图修改事件回调
                    Action modifyImageAction = () =>
                    {
                        //roomViewbg.ImagePath = room.backgroundImage;
                        ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
                    };
                    var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction);
                    MainPage.BasePageView.AddChidren(view);
                    view.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -423,6 +430,7 @@
            var lastY1 = Application.GetRealWidth(16);
            var lastY2 = Application.GetRealWidth(16);
            var functionContentViewHeight = Application.GetRealWidth(16);
            var functionCategoryCount = 0;
@@ -434,41 +442,41 @@
                {
                    case ShowFunction.Light:
                        #region Light
                        functionCount = FunctionList.List.lights.Count;
                        functionOnCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        functionCount = FunctionList.List.GetLightList().Count;
                        functionOnCount = FunctionList.List.GetLightList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.AC:
                        #region AC
                        functionCount = FunctionList.List.aCs.Count;
                        functionOnCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        functionCount = FunctionList.List.GetAcList().Count;
                        functionOnCount = FunctionList.List.GetAcList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.Curtain:
                        #region Curtain
                        functionCount = FunctionList.List.curtains.Count;
                        functionOnCount = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        functionCount = FunctionList.List.GetCurtainList().Count;
                        functionOnCount = FunctionList.List.GetCurtainList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.FloorHeating:
                        #region 地热
                        functionCount = FunctionList.List.floorHeatings.Count;
                        functionOnCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        functionCount = FunctionList.List.GetFloorHeatingList().Count;
                        functionOnCount = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.DoorLock:
                        break;
                    case ShowFunction.Electric:
                        #region 电器
                        functionCount = FunctionList.List.electricals.Count;
                        functionOnCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        functionCount = FunctionList.List.GetElectricals().Count;
                        functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.EnergyMonitoring:
                        break;
                    case ShowFunction.Environmental:
                        #region 环境数据
                        functionCount = FunctionList.List.sensorsEnvironmentalScience.Count;
                        functionCount = FunctionList.List.GetEnvirSensorsList().Count;
                        #endregion
                        break;
                    case ShowFunction.FreshAir:
@@ -480,18 +488,21 @@
                    case ShowFunction.Panel:
                        break;
                    case ShowFunction.SecurityMonitoring:
                        functionCount = 1;
                        break;
                    case ShowFunction.Sensor:
                        functionCount = FunctionList.List.GetArmSensorList().Count;
                        break;
                    case ShowFunction.VideoIntercom:
                        break;
                }
                if (functionCount == 0 && item != ShowFunction.Music)
                if(functionCount == 0)
                {
                    continue;
                }
                functionCategoryCount++;
                FrameLayout functionView = new FrameLayout()
@@ -524,6 +535,7 @@
                {
                    s2View.AddChidren(functionView);
                }
                functionContentViewHeight = functionView.Bottom;
                Button btnName = new Button()
@@ -538,212 +550,9 @@
                };
                functionView.AddChidren(btnName);
                Button btnFunctionViewBg;
                btnFunctionViewBg = new Button()
                {
                    Height = Application.GetRealWidth(161),
                    UnSelectedImagePath = "FunctionIcon/FunctionBg/" + item + "FunctionBg.png",
                };
                functionView.AddChidren(btnFunctionViewBg);
                int functionPageTitleId = 0;
                switch (item)
                {
                    case ShowFunction.Light:
                        #region Light
                        btnName.TextID = StringId.Lights;
                        functionCount = FunctionList.List.lights.Count;
                        functionOnCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnLightPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            IsSelected = functionOnCount > 0,
                            Tag = item + "_AllControl",
                        };
                        functionView.AddChidren(btnLightPower);
                        btnLightPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnLightPower, item);
                        };
                        functionPageTitleId = StringId.Lights;
                        #endregion
                        break;
                    case ShowFunction.AC:
                        #region AC
                        btnName.TextID = StringId.AC;
                        functionCount = FunctionList.List.aCs.Count;
                        functionOnCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnAcPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0,
                        };
                        functionView.AddChidren(btnAcPower);
                        btnAcPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnAcPower, item);
                        };
                        functionPageTitleId = StringId.AC;
                        #endregion
                        break;
                    case ShowFunction.Curtain:
                        #region Curtain
                        btnName.TextID = StringId.Curtain;
                        functionCount = FunctionList.List.curtains.Count;
                        functionOnCount = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnClose;
                        btnClose = new Button()
                        {
                            X = Application.GetRealWidth(72),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                            SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
                            //Tag = item + "_AllControl",
                            IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus,
                        };
                        functionView.AddChidren(btnClose);
                        Button btnOpen;
                        btnOpen = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                            SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
                            IsSelected = DB_ResidenceData.Instance.GlobalCurtainStatus,
                        };
                        functionView.AddChidren(btnOpen);
                        LoadEvent_CurtainSwitch(btnClose, btnOpen);
                        functionPageTitleId = StringId.Curtain;
                        #endregion
                        break;
                    case ShowFunction.FloorHeating:
                        #region 地热
                        btnName.TextID = StringId.FloorHeating;
                        functionCount = FunctionList.List.floorHeatings.Count;
                        functionOnCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnFhPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0
                        };
                        functionView.AddChidren(btnFhPower);
                        btnFhPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnFhPower, item);
                        };
                        functionPageTitleId = StringId.FloorHeating;
                        #endregion
                        break;
                    case ShowFunction.DoorLock:
                        btnName.TextID = StringId.DoorLock;
                        break;
                    case ShowFunction.Electric:
                        #region 电器
                        btnName.TextID = StringId.Electric;
                        functionCount = FunctionList.List.electricals.Count;
                        functionOnCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnElectricPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0,
                        };
                        functionView.AddChidren(btnElectricPower);
                        btnElectricPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnElectricPower, item);
                        };
                        functionPageTitleId = StringId.Electric;
                        #endregion
                        break;
                    case ShowFunction.EnergyMonitoring:
                        btnName.TextID = StringId.EnergyMonitoring;
                        break;
                    case ShowFunction.Environmental:
                        #region 环境数据
                        btnName.TextID = StringId.EnvironmentalData;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var skipView = new EnvironmentalSciencePage();
                            MainPage.BasePageView.AddChidren(skipView);
                            skipView.LoadPage();
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        };
                        #endregion
                        break;
                    case ShowFunction.FreshAir:
                        btnName.TextID = StringId.FreshAir;
                        break;
                    case ShowFunction.Music:
                        btnName.TextID = StringId.Music;
                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var musicMain = new Music.MusicMain();
                            MainPage.BasePageView.AddChidren(musicMain);
                            musicMain.Show();
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        };
                        break;
                    case ShowFunction.Panel:
                        btnName.TextID = StringId.Panel;
                        break;
                    case ShowFunction.SecurityMonitoring:
                        btnName.TextID = StringId.SecurityMonitoring;
                        break;
                    case ShowFunction.Sensor:
                        btnName.TextID = StringId.Sensor;
                        break;
                    case ShowFunction.VideoIntercom:
                        btnName.TextID = StringId.VideoIntercom;
                        break;
                }
                //界面跳转--音乐跳转自己的界面--环境跳转自己的界面
                if (item != ShowFunction.Music && item != ShowFunction.Environmental)
                {
                    btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                    {
                        var skipView = new FunctionPage();
                        MainPage.BasePageView.AddChidren(skipView);
                        skipView.LoadPage(functionPageTitleId);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    };
                }
                if (item != ShowFunction.Environmental && functionCount != 0)
                if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
                    && item != ShowFunction.SecurityMonitoring
                    && functionCount != 0)
                {
                    Button btnFunctionCount = new Button()
                    {
@@ -772,19 +581,221 @@
                    };
                    functionView.AddChidren(btnOpenCount);
                }
                Button btnFunctionViewBg;
                btnFunctionViewBg = new Button()
                {
                    Height = Application.GetRealWidth(161),
                    UnSelectedImagePath = "FunctionIcon/FunctionBg/" + item + "FunctionBg.png",
                };
                functionView.AddChidren(btnFunctionViewBg);
                int functionPageTitleId = 0;
                switch (item)
                {
                    case ShowFunction.Light:
                        #region Light
                        btnName.TextID = StringId.Lights;
                        Button btnLightPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            IsSelected = functionOnCount > 0,
                            Tag = item + "_AllControl",
                        };
                        functionView.AddChidren(btnLightPower);
                        btnLightPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnLightPower, item, functionView);
                        };
                        functionPageTitleId = StringId.Lights;
                        #endregion
                        break;
                    case ShowFunction.AC:
                        #region AC
                        btnName.TextID = StringId.AC;
                        Button btnAcPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0,
                        };
                        functionView.AddChidren(btnAcPower);
                        btnAcPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnAcPower, item, functionView);
                        };
                        functionPageTitleId = StringId.AC;
                        #endregion
                        break;
                    case ShowFunction.Curtain:
                        #region Curtain
                        btnName.TextID = StringId.Curtain;
                        Button btnClose;
                        btnClose = new Button()
                        {
                            X = Application.GetRealWidth(72),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                            SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
                            IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus,
                        };
                        functionView.AddChidren(btnClose);
                        Button btnOpen;
                        btnOpen = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                            SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
                            IsSelected = DB_ResidenceData.Instance.GlobalCurtainStatus,
                        };
                        functionView.AddChidren(btnOpen);
                        LoadEvent_CurtainSwitch(btnClose, btnOpen, functionView);
                        functionPageTitleId = StringId.Curtain;
                        #endregion
                        break;
                    case ShowFunction.FloorHeating:
                        #region 地热
                        btnName.TextID = StringId.FloorHeating;
                        Button btnFhPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0
                        };
                        functionView.AddChidren(btnFhPower);
                        btnFhPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnFhPower, item, functionView);
                        };
                        functionPageTitleId = StringId.FloorHeating;
                        #endregion
                        break;
                    case ShowFunction.DoorLock:
                        btnName.TextID = StringId.DoorLock;
                        break;
                    case ShowFunction.Electric:
                        #region 电器
                        btnName.TextID = StringId.Electric;
                        Button btnElectricPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
                            Width = Application.GetRealWidth(32),
                            Height = Application.GetRealWidth(32),
                            SelectedImagePath = "Public/PowerOpen.png",
                            UnSelectedImagePath = "Public/PowerClose.png",
                            Tag = item + "_AllControl",
                            IsSelected = functionOnCount > 0,
                        };
                        functionView.AddChidren(btnElectricPower);
                        btnElectricPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnElectricPower, item, functionView);
                        };
                        functionPageTitleId = StringId.Electric;
                        #endregion
                        break;
                    case ShowFunction.EnergyMonitoring:
                        btnName.TextID = StringId.EnergyMonitoring;
                        break;
                    case ShowFunction.Environmental:
                        #region 环境数据
                        btnName.TextID = StringId.EnvironmentalData;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var skipView = new EnvironmentalSciencePage();
                            MainPage.BasePageView.AddChidren(skipView);
                            skipView.LoadPage();
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        };
                        #endregion
                        break;
                    case ShowFunction.FreshAir:
                        btnName.TextID = StringId.FreshAir;
                        break;
                    case ShowFunction.Music:
                        btnName.TextID = StringId.Music;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var musicMain = new Music.MusicMain();
                            MainPage.BasePageView.AddChidren(musicMain);
                            musicMain.Show();
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        };
                        break;
                    case ShowFunction.Panel:
                        btnName.TextID = StringId.Panel;
                        break;
                    case ShowFunction.SecurityMonitoring:
                        btnName.TextID = StringId.SecurityMonitoring;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
#if __IOS__
                            EZSDK.IOS.EZSDK.Go2EZvizMonitor();
#else  //安卓摄像头
                            HDLCommon.Current.Go2EZvizMonitor(bodyView);
#endif
                        };
                        break;
                    case ShowFunction.Sensor:
                        btnName.TextID = StringId.Sensor;
                        functionPageTitleId = StringId.Sensor;
                        break;
                    case ShowFunction.VideoIntercom:
                        btnName.TextID = StringId.VideoIntercom;
                        break;
                }
                //界面跳转--音乐跳转自己的界面--环境跳转自己的界面
                if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring)
                {
                    btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                    {
                        var skipView = new FunctionPage();
                        MainPage.BasePageView.AddChidren(skipView);
                        skipView.LoadPage(functionPageTitleId);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    };
                }
                index++;
            }
            if (functionCategoryCount > 4)
            //if (functionCategoryCount > 4)
            {
                functionContentView.Height = Application.GetRealHeight((220 * functionCategoryCount / 2) + 20);
                s1View.Height = s2View.Height = functionContentView.Height;
                //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2)));
                s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
            }
            #endregion
#endregion
        }
        #region 切换楼层
#region 切换楼层
        /// <summary>
        /// 楼层显示切换
        /// </summary>
@@ -902,7 +913,7 @@
                        Text = floor.roomName,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        IsSelected = floor.roomId == DB_ResidenceData.Instance.ClassificationChooseFloor.roomId,
                        IsMoreLines = true,
                        //IsMoreLines = true,
                    };
                    contentView.AddChidren(btnHomeName);
@@ -920,7 +931,7 @@
                        {
                            foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                            {
                                if (room.parentId == floor.roomId)
                                if (room.parentId == floor.uid)
                                {
                                    roomsShowed.Add(room);
                                }
@@ -941,6 +952,6 @@
        {
        }
        #endregion
#endregion
    }
}