wjc
2022-05-24 7cfcdb7a90f59bf9001c948e166fd9af09752fe1
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -54,6 +54,7 @@
        /// <summary>
        /// 加载功能类型控制卡片
        /// Tag 功能属性显示
        /// </summary>
        public void LoadFunctionDiv()
        {
@@ -76,8 +77,7 @@
            {//音乐没有开关按钮
                MusicFragment();
            }
            else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)
                || SPK.PanelSpkList().Contains(function.spk)) //传感器没有开关按钮)
            else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)) //传感器没有开关按钮)
            {
                var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
                if (powerLowTipAttr != null)
@@ -101,6 +101,178 @@
            {
                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;
                    }
                    else
                    {
                        btnAlarmStatus.TextID = StringId.zhengchang;
                        btnAlarmStatus.TextColor = CSS_Color.MainColor;
                    }
                    bodyDiv.AddChidren(btnAlarmStatus);
                }
                //var tipScrView1 = new HorizontalScrolViewLayout() {
                //    X = Application.GetRealWidth(10),
                //    Y =  Application.GetRealHeight(56),
                //    Height = Application.GetRealHeight(20),
                //    Width = Application.GetRealWidth(330),
                //    BackgroundColor = 0x22220022,
                //};
                //var tipScrView2 = new HorizontalScrolViewLayout()
                //{
                //    X = Application.GetRealWidth(10),
                //    Y = Application.GetRealHeight(83),
                //    Height = Application.GetRealHeight(20),
                //    Width = Application.GetRealWidth(330),
                //    BackgroundColor = 0x22220022,
                //};
                foreach (var target in function.targetSids)
                {
                    //bodyDiv.AddChidren(tipScrView1);
                    //bodyDiv.AddChidren(tipScrView2);
                    var targetObj = FunctionList.List.Functions.Find((obj) => target == obj.sid);
                    if(targetObj == null)
                    {
                        continue;
                    }
                    if (SPK.AcSpkList().Contains(targetObj.spk))
                    {
                        bodyDiv.Height = Application.GetRealHeight(126);
                        AC acDevice = new AC();
                        var btnAcMode = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = Application.GetRealHeight(56),
                            Width = Application.GetRealWidth(62),
                            Height = Application.GetRealHeight(19),
                            BackgroundColor = 0x334484F4,
                            TextAlignment = TextAlignment.Center,
                            TextSize = 10,
                            TextColor = 0xFF4484F4,
                            Text = Language.StringByID(StringId.AC) + acDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
                            Tag = target + "screen.panel.ac.mode",
                            Radius = (uint)Application.GetRealWidth(4),
                        };
                        bodyDiv.AddChidren(btnAcMode);
                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(16)});
                        var btnAcTemp = new Button()
                        {
                            X = Application.GetRealWidth(10 + 72),
                            Y = Application.GetRealHeight(56),
                            Width = Application.GetRealWidth(62),
                            Height = Application.GetRealHeight(19),
                            BackgroundColor = 0x334484F4,
                            TextAlignment = TextAlignment.Center,
                            TextSize = 10,
                            TextColor = 0xFF4484F4,
                            Text = Language.StringByID(StringId.AC) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "°C",
                            Radius = (uint)Application.GetRealWidth(4),
                            Tag = target + "screen.panel.ac.temp"
                        };
                        bodyDiv.AddChidren(btnAcTemp);
                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
                    }
                    else if (SPK.FhSpkList().Contains(targetObj.spk))
                    {
                        FloorHeating fhDevice = new FloorHeating();
                        var btnFhMode = new Button()
                        {
                            X = Application.GetRealWidth(10 + 72*2),
                            Y = Application.GetRealHeight(56),
                            Radius = (uint)Application.GetRealWidth(4),
                            Width = Application.GetRealWidth(62),
                            Height = Application.GetRealHeight(19),
                            BackgroundColor = 0x33ff9d54,
                            TextAlignment = TextAlignment.Center,
                            TextSize = 10,
                            TextColor = 0xFFff9d54,
                            Text = Language.StringByID(StringId.FloorHeating) + fhDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
                            Tag = target + "screen.panel.fh.mode"
                        };
                        bodyDiv.AddChidren(btnFhMode);
                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
                        var btnFhTemp = new Button()
                        {
                            X = Application.GetRealWidth(10 + 72 * 3),
                            Y = Application.GetRealHeight(56),
                            Radius = (uint)Application.GetRealWidth(4),
                            Width = Application.GetRealWidth(62),
                            Height = Application.GetRealHeight(19),
                            BackgroundColor = 0x33ff9d54,
                            TextAlignment = TextAlignment.Center,
                            TextSize = 10,
                            TextColor = 0xFFff9d54,
                            Text = Language.StringByID(StringId.FloorHeating) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "°C",
                            Tag = target + "screen.panel.fh.temp"
                        };
                        bodyDiv.AddChidren(btnFhTemp);
                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
                    }
                    else if (SPK.AirFreshSpkList().Contains(targetObj.spk))
                    {
                        AC acDevice = new AC();
                        var btnAirFreshFanSpeed = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = Application.GetRealHeight(83),
                            Width = Application.GetRealWidth(62),
                            Height = Application.GetRealHeight(19),
                            BackgroundColor = 0x3309bb07,
                            TextAlignment = TextAlignment.Center,
                            TextSize = 10,
                            TextColor = 0xFF09bb07,
                            Radius = (uint)Application.GetRealWidth(4),
                            Text = Language.StringByID(StringId.AirFresh) + acDevice.GetFanAttrText(targetObj.GetAttrState(FunctionAttributeKey.FanSpeed)),
                            Tag = target + "screen.panel.airFresh.mode"
                        };
                        bodyDiv.AddChidren(btnAirFreshFanSpeed);
                    }
                }
            }
            else
            {
                if (function.spk == SPK.ClothesHanger)//晾衣架