xm
2020-05-19 34b65350abbb8b740b9c3bc0b43254cbbe23fcb5
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using Org.BouncyCastle.Bcpg.OpenPgp;
using Shared.Common;
using ZigBee.Common;
using ZigBee.Device;
@@ -38,9 +37,29 @@
        /// PM目标名字
        /// </summary>
        private string bindPmName = string.Empty;
        /// <summary>
        /// 被绑目标是新风
        /// </summary>
        private CommonDevice bindFreshAirDev;
        /// <summary>
        /// 被绑目标是温度
        /// </summary>
        private CommonDevice bindTemperatureDev;
        /// <summary>
        /// 被绑目标是湿度
        /// </summary>
        private CommonDevice bindHumidityDev;
        /// <summary>
        /// 被绑目标是PM2.5
        /// </summary>
        private CommonDevice bindPMDev;
        // <summary>
        /// 按键中被绑定的目标列表
        /// </summary>
        public List<BindObj.BindListResponseObj> bindList = new List<BindObj.BindListResponseObj>();
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
@@ -50,8 +69,8 @@
        public void ShowForm(CommonDevice i_device)
        {
            this.deviceObj = i_device;
            //获取数据
            ReadDoorLockUserInfo(deviceObj);
            //获取数据
            ReadDoorLockUserInfo(deviceObj);
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
@@ -87,9 +106,9 @@
            this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
            //初始化菜单行
            this.InitMenuRow();
            //初始化桌布完成
            this.InitMenuRow();
            //初始化桌布完成
            tableContr.FinishInitControl();
            tableContr = null;
@@ -101,14 +120,14 @@
            {
                //关闭自身
                this.CloseForm();
            };
            };
        }
        /// <summary>
        /// 初始化菜单行
        /// </summary>
        private void InitMenuRow()
        {
        {
            this.listview.RemoveAll();
            //添加新风目标
            this.AddFreshAirRow();
@@ -164,7 +183,7 @@
            });
        }
        #endregion
        #region ■ 新风目标_________________________ 
        /// <summary>
        ///  新风目标行
@@ -178,18 +197,18 @@
            //底线
            rowNewWind.AddBottomLine();
            //右箭头
            rowNewWind.AddRightArrow();
            rowNewWind.AddRightArrow();
            var msg = Language.StringByID(R.MyInternationalizationString.nothing);
            var msg = Language.StringByID(R.MyInternationalizationString.nothing);
            if (!string.IsNullOrEmpty(bindFreshAirName))
            {
                msg = bindFreshAirName;
            }
            var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700);
            rowNewWind.ButtonClickEvent += (sender, e) =>
            {
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1);
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindFreshAirDev, 1);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                addDevicePage.Show();
@@ -209,8 +228,6 @@
                    });
                };
                //var form = new PanelFangyueFreshAirTargetForm();
                //form.AddForm(this.deviceObj, string.Empty, 3);
            };
        }
        #endregion
@@ -228,35 +245,99 @@
            var panelBindListRes = await curControlDev.GetDeviceBindAsync();
            if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null)
            {
                foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList)
                bindList = panelBindListRes.getAllBindResponseData.BindList;
                foreach (var bDev in bindList)
                {
                    curControlDev.bindList.Add(bDev);
                    var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                    //获取设备类型的
                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                    //新风面板的新风设备,则不显示
                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                    {
                        continue;
                    }
                    if (device.Type == DeviceType.FreshAir)
                    {
                        bindFreshAirName = device.DeviceEpointName;
                        //获取设备类型的
                        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                        //新风面板的新风设备,则不显示
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(bDev.ESName))
                        {
                            bindFreshAirName = device.DeviceEpointName;
                        }
                        else
                        {
                            bindFreshAirName = bDev.ESName;
                        }
                        bindFreshAirDev = device;
                    }
                    if (device.Type == DeviceType.TemperatureSensor)
                    {
                        bindTemperatureName = device.DeviceEpointName;
                        var bD = device as TemperatureSensor;
                        if (bD.SensorDiv == 1)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindTemperatureName = device.DeviceEpointName;
                            }
                            else
                            {
                                bindTemperatureName = bDev.ESName;
                            }
                            bindTemperatureDev = device;
                        }
                        if (bD.SensorDiv == 2)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindHumidityName = device.DeviceEpointName;
                            }
                            else
                            {
                                bindHumidityName = bDev.ESName;
                            }
                            bindHumidityDev = device;
                        }
                    }
                    if (device.Type == DeviceType.FreshAirHumiditySensor)
                    {
                        bindHumidityName = device.DeviceEpointName;
                        if (string.IsNullOrEmpty(bDev.ESName))
                        {
                            bindHumidityName = device.DeviceEpointName;
                        }
                        else
                        {
                            bindHumidityName = bDev.ESName;
                        }
                        bindHumidityDev = device;
                    }
                    //if (device.Type == DeviceType.FreshAir)
                    //{
                    //    bindPmName  = device.DeviceEpointName;
                    //}
                    if (device.Type == DeviceType.PMSensor)
                    {
                        if (bDev.BindCluster == 1026)
                        {
                            bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                            bindTemperatureDev = device;
                        }
                        if (bDev.BindCluster == 1029)
                        {
                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                            bindHumidityDev = device;
                        }
                        if (bDev.BindCluster == 1066)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindPmName = device.DeviceEpointName;
                            }
                            else
                            {
                                bindPmName = bDev.ESName;
                            }
                            bindPMDev = device;
                        }
                    }
                }
                result = true;
            }
@@ -285,7 +366,7 @@
            var btnPMStatu = rowPM.AddMostRightView(msg, 700);
            rowPM.ButtonClickEvent += (sender, e) =>
            {
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4);
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindPMDev, 4);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                addDevicePage.Show();
@@ -330,7 +411,7 @@
            var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700);
            rowTemPerature.ButtonClickEvent += (sender, e) =>
            {
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2);
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindTemperatureDev, 2);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                addDevicePage.Show();
@@ -375,7 +456,7 @@
            var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700);
            rowHumidity.ButtonClickEvent += (sender, e) =>
            {
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3);
                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindHumidityDev, 3);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                addDevicePage.Show();