wxr
2022-04-21 3f45dd0172305bef0008e4e5a8725dedec2340c9
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -1,7 +1,6 @@
using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.Music;
using Shared;
namespace HDL_ON.UI
@@ -9,7 +8,7 @@
    public partial class FunctionControlZone : FrameLayout
    {
        #region 区域控件
        static FrameLayout bodyDiv;
        FunctionControlZone bodyDiv;
        /// <summary>
        /// 功能/场景icon
        /// </summary>
@@ -26,6 +25,11 @@
        /// 收藏按钮
        /// </summary>
        Button btnCollectionIcon;
        /// <summary>
        /// 离线文本
        /// </summary>
        Button btnOffline;
        #endregion
        #region 区域变量
@@ -50,6 +54,7 @@
        /// <summary>
        /// 加载功能类型控制卡片
        /// Tag 功能属性显示
        /// </summary>
        public void LoadFunctionDiv()
        {
@@ -61,8 +66,9 @@
            }
            LoadDiv();
            btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
            btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
            if (SPK.CurtainSpkList().Contains(function.spk))
            {//窗帘没有开关按钮
                CurtainFragment();
@@ -89,6 +95,50 @@
                        };
                        this.AddChidren(btnTipPowerLow);
                    }
                }
            }
            else if (function.spk == SPK.DoorLock)
            {
                btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png";
            }
            else if(SPK.PanelSpkList().Contains(function.spk))//智能面板设备
            {
                var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
                if (powerLowTipAttr != null)
                {
                    if (powerLowTipAttr.state.ToLower() == "low")
                    {
                        Button btnTipPowerLow = new Button()
                        {
                            X = Application.GetRealWidth(307),
                            Y = Application.GetRealHeight(70),
                            Width = Application.GetRealWidth(24),
                            Height = Application.GetRealWidth(24),
                            UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
                            SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
                        };
                        this.AddChidren(btnTipPowerLow);
                    }
                }
                var alarmStatusAttr = function.GetAttribute("alarm_status");
                if(alarmStatusAttr !=null)
                {
                    var btnAlarmStatus = new Button()
                    {
                        X = Application.GetRealWidth(8 + 10 + 32),
                        Y = Application.GetRealHeight(53),
                        Width = Application.GetRealWidth(200),
                        Height = Application.GetRealHeight(24),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                        Tag = "AlarmStatus"
                    };
                    if(alarmStatusAttr.state == "alarm")
                    {
                        btnAlarmStatus.TextID = StringId.InAlarm;
                        btnAlarmStatus.TextColor = CSS_Color.WarningColor;
                    }
                    bodyDiv.AddChidren(btnAlarmStatus);
                }
            }
            else
@@ -160,6 +210,8 @@
            LoadEvent_DivSkipEvent();
            LoadEvent_FunctionCollection();
        }
        /// <summary>
@@ -212,10 +264,28 @@
                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
                IsSelected = function.collect
            };
            if ( !SPK.ArmSensorSpkList().Contains(function.spk) && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
            if ( !SPK.ArmSensorSpkList().Contains(function.spk)
                && function.spk != SPK.DoorLock
                && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
            {
                bodyDiv.AddChidren(btnCollectionIcon);
            }
            //if (!function.online)
            //{
            //    bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
            //    btnOffline = new Button()
            //    {
            //        X = Application.GetRealWidth(8 + 10 + 32),
            //        Y = Application.GetRealHeight(28 + 24),
            //        Height = Application.GetRealHeight(30),
            //        TextID = StringId.DeviceOffline,
            //        TextColor = CSS_Color.WarningColor,
            //        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            //        TextAlignment = TextAlignment.CenterLeft
            //    };
            //    bodyDiv.AddChidren(btnOffline);
            //}
        }
        /// <summary>
@@ -332,7 +402,7 @@
                btnCurtainOpen.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainUpIcon.png";
                btnCurtainOpen.SelectedImagePath = "FunctionIcon/Curtain/CurtainUpIconOn.png";
            }
            LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function);
            LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose);
            #endregion
        }
        /// <summary>
@@ -437,5 +507,8 @@
            };
            bodyDiv.AddChidren(btnLastStates);
        }
    }
}