mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -78,7 +78,11 @@
            }
            btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
            if(function.spk == SPK.GroupControl || function.spk == SPK.CommonSeries)
            {
                //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/lightswitch.png";
                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/groupControl.png";
            }
            if (SPK.CurtainSpkList().Contains(function.spk))
            {//窗帘没有开关按钮
                CurtainFragment();
@@ -97,7 +101,7 @@
                        Button btnTipPowerLow = new Button()
                        {
                            X = Application.GetRealWidth(307),
                            Y = Application.GetRealHeight(25),
                            Y = Application.GetRealHeight(45),
                            Width = Application.GetRealWidth(24),
                            Height = Application.GetRealWidth(24),
                            UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
@@ -133,7 +137,7 @@
                        switch (tempStatus.state)
                        {//0空,1走,2跑,3坐,4跌倒,5站
                            case "0":
                                btnStatus.TextID = StringId.SensorNormalState;
                                btnStatus.TextID = StringId.wuren;
                                btnStatus.TextColor = CSS_Color.MainColor;
                                break;
                            case "1":
@@ -187,6 +191,79 @@
                }
                else if (SPK.ArmSensorSpkList().Contains(function.spk))
                {
                    var btnStatus = new Button()
                    {
                        X = Application.GetRealWidth(51),
                        Y = Application.GetRealHeight(64),
                        Height = Application.GetRealHeight(18),
                        TextColor = CSS_Color.MainColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                        Text = "",
                        TextAlignment = TextAlignment.CenterLeft,
                        Tag = function.sid + "_Sensor_Status"
                    };
                    bodyDiv.AddChidren(btnStatus);
                    var alarm_status = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
                    if(alarm_status!= null)
                    {
                        if (alarm_status.curValue.ToString() == "normal")
                        {
                            btnStatus.TextID = StringId.SensorNormalState;
                            btnStatus.TextColor = CSS_Color.MainColor;
                        }
                        else
                        {
                            btnStatus.TextID = StringId.InAlarm;
                            btnStatus.TextColor = CSS_Color.WarningColor;
                        }
                    }
                    else
                    {
                        alarm_status = function.attributes.Find((sta) => sta.key == "contact_status");
                        if (alarm_status != null)
                        {
                            if (alarm_status.curValue.ToString() == "close")
                            {
                                btnStatus.TextID = StringId.Shut;
                                btnStatus.TextColor = CSS_Color.MainColor;
                            }
                            else
                            {
                                if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
                                {
                                    btnStatus.TextID = StringId.DryBreak;
                                }
                                else
                                {
                                    btnStatus.TextID = StringId.Open;
                                }
                                btnStatus.TextColor = CSS_Color.WarningColor;
                            }
                        }
                        else
                        {
                            alarm_status = function.attributes.Find((sta) => sta.key == "people_status");
                            if (alarm_status != null)
                            {
                                if (alarm_status.curValue.ToString() == "false")
                                {
                                    btnStatus.TextID = StringId.wuren;
                                    btnStatus.TextColor = CSS_Color.MainColor;
                                }
                                else
                                {
                                    btnStatus.TextID = StringId.youren;
                                    btnStatus.TextColor = CSS_Color.WarningColor;
                                }
                            }
                        }
                    }
                }
            }
            else if (function.spk == SPK.DoorLock)
            {
@@ -194,8 +271,14 @@
            }
            else if (function.spk == SPK.VideoDoorLock)
            {
                btnIcon.UnSelectedImagePath = UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(Comerom.function);
                btnIcon.UnSelectedImagePath =UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.function);
            }
            else if (function.spk == SPK.AvZkAiks)
            {
                //隐藏开关按钮
                btnIcon.UnSelectedImagePath = "AksIcon/aks.png";
            }
            else if(function.spk == SPK.GroupControl) { }
            else if (function.spk == SPK.HvacCac)
            {
                var btnHumidityIcon = new Button()
@@ -266,7 +349,7 @@
                {
                    ClothesHangerFragment();
                }
                else if(function.spk == SPK.IpCam_Imou)
                else if(function.spk == SPK.IpCam_Imou || function.spk == SPK.ElectricEnergy || function.spk ==SPK.AirSwitch || function.spk == SPK.AirSwitchP3)
                {
                }
@@ -278,7 +361,7 @@
                    /// 开关按钮
                    /// </summary>
                    Button btnSwitch;
                    if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
                    if (function.spk == SPK.LightRGBW || function.spk == SPK.LightCCT || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
                    {
                        btnSwitch = new Button()
                        {
@@ -439,19 +522,20 @@
                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
                IsSelected = function.collect
            };
            if ( !SPK.ArmSensorSpkList().Contains(function.spk)
                && function.spk != SPK.DoorLock
                && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
            if ( !SPK.ArmSensorSpkList().Contains(function.spk)&&
                function.spk != SPK.DoorLock
                && function.spk != SPK.GroupControl
                && !SPK.EnvironDeviceSpkList().Contains( function.spk))
            {
                bodyDiv.AddChidren(btnCollectionIcon);
            }
            if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
            if(function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold || function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
            {
                bodyDiv.AddChidren(btnCollectionIcon);
            }
            if (!function.online)
            if (!function.isOnline())
            {
                bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
                btnOffline = new Button()
@@ -466,6 +550,19 @@
                };
                bodyDiv.AddChidren(btnOffline);
            }
            //排序
            //btnIcon.MouseLongEventHandler = (sender, e) => {
            //    OrderEvent();
            //};
            //btnName.MouseLongEventHandler = (sender, e) => {
            //    OrderEvent();
            //};
            //btnFromFloor.MouseLongEventHandler = (sender, e) => {
            //    OrderEvent();
            //};
            //bodyDiv.MouseLongEventHandler = (sender, e) => {
            //    OrderEvent();
            //};
        }
        /// <summary>
@@ -478,6 +575,7 @@
                case SPK.LightDimming:
                case SPK.LightRGBW:
                case SPK.LightRGB:
                case SPK.LightCCT:
                    #region Dimmer
                    var btnDimmerMinValues = new Button()
                    {
@@ -628,6 +726,11 @@
        }
        /// <summary>
        /// 排序事件
        /// </summary>
        public Action OrderEvent;
        /// <summary>
        /// 加载音乐功能控制卡片
        /// </summary>
        void MusicFragment()