xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -47,44 +47,12 @@
            #region  编辑设备状态
            switch (device.spk)
            {
                //开关灯光 light.Switch
                case SPK.LightDimming:
                case SPK.LightRGB:
                case SPK.LightRGBW:
                case SPK.LightCCT:
                    {
                        #region 界面
                        ///开关
                        LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
                        lightSwitchView.btnText.TextID = StringId.switchLogic;
                        fLayout.AddChidren(lightSwitchView.FLayoutView());
                        ///亮度
                        LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
                        brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
                        brightnessView.btnText.TextID = StringId.brightnesLogic;
                        fLayout.AddChidren(brightnessView.FLayoutView());
                        #endregion
                        #region 点击事件
                        ///开关点击事件
                        lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            SwitchViewMethod(device, lightSwitchView.btnState, 2);
                        };
                        ///亮度点击事件
                        brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
                        };
                        if (edit)
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
                        }
                        #endregion
                    }
                    break;
                //开关灯光
                case SPK.AirSwitch:
                case SPK.LightSwitch:
                //插座
                case SPK.PanelSocket:
                case SPK.ElectricSocket:
                    {
                        #region 界面
                        ///开关
@@ -102,6 +70,44 @@
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, lightSwitchView.btnState, null, null, null);
                        }
                        #endregion
                    }
                    break;
                //灯光开关 亮度
                case SPK.LightDimming:
                case SPK.LightRGB:
                case SPK.LightRGBW:
                case SPK.LightCCT:
                    {
                        #region 界面
                        ///开关
                        LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
                        lightSwitchView.btnText.TextID = StringId.switchLogic;
                        fLayout.AddChidren(lightSwitchView.FLayoutView());
                        ///亮度
                        LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
                        brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
                        brightnessView.btnText.TextID = StringId.brightnesLogic;
                        fLayout.AddChidren(brightnessView.FLayoutView());
                        brightnessView.btnState.Text = "5%";//产品经理晓辉要求改的 2021-11-06
                        #endregion
                        #region 点击事件
                        ///开关点击事件
                        lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            SwitchViewMethod(device, lightSwitchView.btnState, 2);
                        };
                        ///亮度点击事件
                        brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
                        };
                        if (edit)
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
                        }
                        #endregion
                    }
@@ -132,6 +138,7 @@
                    }
                    break;
                case SPK.AcStandard:
                case SPK.HvacAC:
                    {
                        #region 界面
                        ///开关
@@ -233,7 +240,7 @@
                        #endregion
                    }
                    break;
                case SPK.FloorHeatStandard:
                case SPK.FloorHeatStandard:case SPK.HvacFloorHeat:
                    {
                        #region 界面
                        ///开关
@@ -312,6 +319,89 @@
                        #endregion
                    }
                    break;
                case SPK.AirFreshStandard:
                case SPK.HvacAirFresh:
                    {
                        #region 界面
                        ///开关
                        LogicView.FunTypeView AirFreshSwitchVie = new LogicView.FunTypeView();
                        AirFreshSwitchVie.btnText.TextID = StringId.switchLogic;
                        fLayout.AddChidren(AirFreshSwitchVie.FLayoutView());
                        ///风速
                        LogicView.FunTypeView AirFreshSpeedView = new LogicView.FunTypeView();
                        AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom;
                        AirFreshSpeedView.btnText.TextID = StringId.speedLogic;
                        fLayout.AddChidren(AirFreshSpeedView.FLayoutView());
                        #endregion
                        #region 点击事件
                        ///开关点击事件
                        AirFreshSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
                          {
                              SwitchViewMethod(device, AirFreshSwitchVie.btnState, 2);
                          };
                        ///风速点击事件
                        AirFreshSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
                        {
                            //定义一个临时列表
                            List<string> fanAttrList = new List<string>();
                            //动态读取新风风速列表
                            var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed);
                            foreach (var fanAttrValue in fanAttr.value)
                            {
                                switch (fanAttrValue)
                                {
                                    case "high":
                                        {
                                            fanAttrList.Add(Language.StringByID(StringId.HighWindSpeed));
                                        }
                                        break;
                                    case "medium":
                                        {
                                            fanAttrList.Add(Language.StringByID(StringId.MiddleWindSpeed));
                                        }
                                        break;
                                    case "low":
                                        {
                                            fanAttrList.Add(Language.StringByID(StringId.LowWindSpeed));
                                        }
                                        break;
                                    case "auto":
                                        {
                                            fanAttrList.Add(Language.StringByID(StringId.Auto));
                                            break;
                                        }
                                }
                            }
                            ///之前的状态文本
                            string currText = AirFreshSpeedView.btnState.Text;
                            //设备属性值,云雀上定义好的;
                            string keyVlaue = "fan";
                            selectedState = device.spk + "_" + keyVlaue;
                            PublicInterface speedView = new PublicInterface();
                            var speedListStr = fanAttrList;// speedView.GetViewList(keyVlaue);
                            speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
                               , (stateValue) =>
                               {
                                   //界面显示选中值
                                   AirFreshSpeedView.btnState.Text = stateValue;
                                   //数据封装
                                   AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue));
                               });
                        };
                        if (edit)
                        {
                            //显示编辑之前的设备状态
                            GetEditState(device, index, AirFreshSwitchVie.btnState, AirFreshSpeedView.btnState, null, null);
                        }
                        #endregion
                    }
                    break;
            }
            #endregion
@@ -354,11 +444,11 @@
                                }
                                break;
                            }
                        case SPK.HvacAC:
                        case SPK.AcStandard:
                        case SPK.FloorHeatStandard:
                        case SPK.FloorHeatStandard:case SPK.HvacFloorHeat:
                            {
                                //(空调/地热)做了一个特殊处理;
                                //做了一个特殊处理;
                                bool _bool = false;
                                for (int i = 0; i < dicSateteList.Count; i++)
                                {
@@ -378,10 +468,9 @@
                                    diction.Add("value", "on");
                                    dicSateteList.Add(diction);
                                }
                            }
                            break;
                    }
                    outputDevice.status = dicSateteList;
@@ -600,8 +689,6 @@
            }
        }
    }
}