黄学彪
2020-09-18 c7df85937f73fb347ee0b19e9c052d2d00a6df6c
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -261,7 +261,7 @@
                btnPosition.ButtonClickEvent += (sender, e) =>
                {
                    //定位
                    Common.LocalDevice.Current.SetFixedPositionCommand(listdevice[0]);
                    Common.LocalDevice.Current.SetFixedPositionCommand(listdevice[0], true);
                };
            }
@@ -269,7 +269,8 @@
            btnRight.ButtonClickEvent += (sender, e) =>
            {
                //回路数大于1才展开
                if (Common.LocalDevice.Current.GetDevicesCountByMac(deviceMac) > 1)
                var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
                if (listMacDevice.Count > 1)
                {
                    btnRight.IsSelected = !btnRight.IsSelected;
                    //展开或者折叠明细列表
@@ -277,9 +278,20 @@
                }
                else
                {
                    if (LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
                    {
                        //mini夜灯的功能设置界面
                        var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
                        var form = new MainPage.DeviceDetailInfoForm();
                        form.AddForm(listMacDevice[0], room);
                    }
                    else
                    {
                        //设备信息界面
                        var form = new DeviceMacInfoEditorForm();
                        form.AddForm(deviceMac);
                    }
                    btnNew.Visible = false;
                    var form = new DeviceMacInfoEditorForm();
                    form.AddForm(deviceMac);
                    //界面跳转,记录当前的正在操作的设备的Mac地址
                    this.nowActionDeviceMac = deviceMac;
                }
@@ -296,9 +308,22 @@
                    form2.AddForm(deviceMac);
                    return;
                }
                var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
                if (listMacDevice.Count > 0 && LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
                {
                    //mini夜灯的功能设置界面
                    var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
                    var form = new MainPage.DeviceDetailInfoForm();
                    form.AddForm(listMacDevice[0], room);
                }
                else
                {
                    //设备信息界面
                    var form = new DeviceMacInfoEditorForm();
                    form.AddForm(deviceMac);
                }
                btnNew.Visible = false;
                var form = new DeviceMacInfoEditorForm();
                form.AddForm(deviceMac);
                //界面跳转,记录当前的正在操作的设备的Mac地址
                this.nowActionDeviceMac = deviceMac;
            };
@@ -352,7 +377,8 @@
                    }
                }
                else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment
                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
                {
                    var listTemp = Common.LocalDevice.Current.GetPanelMatchEpointByMac(listDevice);
                    //展开模式时,扩大依据为:它有几个子控件
@@ -493,12 +519,6 @@
                var form = new DeviceAirConditioner.IndoorUnitSettionForm();
                form.AddForm((AC)device);
            }
            //环境面板
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
            {
                var form = new DeviceFunctionSettionForm();
                form.AddForm(device, true);
            }
            //新风面板
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
            {
@@ -506,7 +526,7 @@
                //干接点
                if (device.Type == DeviceType.FreshAir)
                {
                    var form = new DevicePanel.PanelFangyueFreshAirButtonSettionForm();
                    var form = new DevicePanel.PanelSettionWithSourceForm();
                    form.AddForm(device);
                }
                else
@@ -521,7 +541,7 @@
                if (device.Type == DeviceType.FreshAir || device.Type == DeviceType.Thermostat)
                {
                    var form = new DevicePanel.PanelSimpleEnvironmentButtonSettionForm();
                    var form = new DevicePanel.PanelSettionWithSourceForm();
                    form.AddForm(device);
                }
                else
@@ -530,7 +550,7 @@
                    form.AddForm(device, true);
                }
            }
            //简约环境面板的按键配置
            //简约多功能面板的按键配置
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
            {
                var form = new DeviceFunctionSettionForm();
@@ -625,7 +645,7 @@
        {
            lock (dicRowInfo)
            {
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    if (this.listView == null)
                    {
@@ -674,7 +694,7 @@
        /// <summary>
        /// 滑动控件下拉刷新
        /// </summary>
        private async void ListViewBeginHeaderRefreshing()
        private void ListViewBeginHeaderRefreshing()
        {
            //如果当前住宅是虚拟的
            if (Common.Config.Instance.Home.IsVirtually == true)
@@ -701,11 +721,16 @@
                    {
                        //显示进度条
                        ProgressBar.Show();
                        int result2 = await HdlGatewayLogic.Current.ReBindNewGateway(realWay);
                        int result2 = HdlGatewayLogic.Current.ReBindNewGateway(realWay);
                        //关闭进度条
                        ProgressBar.Close();
                        if (result2 == -1)
                        {
                            HdlThreadLogic.Current.RunMain(() =>
                            {
                                //隐藏下拉刷新特效
                                listView.EndHeaderRefreshing();
                            });
                            return;
                        }
                    }
@@ -717,7 +742,7 @@
            }
            //获取全部设备
            int result = LocalDevice.Current.SetDeviceToMemmoryByGateway(nowGateway);
            int result = LocalDevice.Current.SetDeviceToMemmoryByGateway(nowGateway, false);
            if (this.Parent == null)
            {
                return;
@@ -754,7 +779,7 @@
                //刷新网关在线状态
                HdlGatewayLogic.Current.RefreshGatewayOnlineStatu(new List<ZbGateway>() { zbGateway });
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    if (this.gatewayViewRow != null && this.gatewayViewRow.zbGatewayId == selectGwId)
                    {
@@ -782,7 +807,7 @@
            }
            if (gateWay.GwId == this.gatewayViewRow.zbGatewayId)
            {
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    //相同的状态,不需要再次刷新
                    if (this.gatewayViewRow.isOnline != online)
@@ -848,7 +873,7 @@
                                this.ReceiveDeviceStatu(device);
                            }, ShowErrorMode.NO);
                        }
                        System.Threading.Thread.Sleep(30);
                        System.Threading.Thread.Sleep(50);
                    }
                }
            });
@@ -954,10 +979,10 @@
                        return;
                    }
                    //添加升级固件信息(成不成功都无所谓)
                    var result = HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.ZigbeeDevice, ota.HwVersion.ToString(), ota.ImgTypeId.ToString());
                    var result = HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.A设备, ota.HwVersion.ToString(), ota.ImgTypeId.ToString());
                    //获取设备最新版本
                    var deviceFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.ZigbeeDevice,
                    var deviceFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.A设备,
                        ota.HwVersion.ToString(),
                        ota.ImgTypeId.ToString(),
                        ota.ImgVersion);
@@ -1034,14 +1059,27 @@
        {
            if (this.dicRowInfo.ContainsKey(deviceAddr) == true)
            {
                var row = this.dicRowInfo[deviceAddr];
                row.MenuRow?.RefreshControlInfo(true);
                //明细
                if (row.dicDetailRow != null)
                var rowInfo = this.dicRowInfo[deviceAddr];
                //检测这个设备是否被删除 2020.01.13变更:追加Ota设备的判断
                if (LocalDevice.Current.GetDevicesByMac(deviceAddr).Count == 0
                    && LocalDevice.Current.GetOTADevice(deviceAddr) == null)
                {
                    foreach (var detailRow in row.dicDetailRow.Values)
                    //移除控件
                    rowInfo.dicDetailRow = null;
                    rowInfo.frameTable.RemoveFromParent();
                    this.dicRowInfo.Remove(deviceAddr);
                }
                else
                {
                    //刷新设备信息
                    rowInfo.MenuRow?.RefreshControlInfo(true);
                    if (rowInfo.dicDetailRow != null)
                    {
                        detailRow.RefreshControlInfo();
                        foreach (var contr in rowInfo.dicDetailRow.Values)
                        {
                            contr?.RefreshControlInfo();
                        }
                    }
                }
            }
@@ -1107,30 +1145,8 @@
        {
            if (this.nowActionDeviceMac != null)
            {
                var rowInfo = this.dicRowInfo[nowActionDeviceMac];
                //检测这个设备是否被删除 2020.01.13变更:追加Ota设备的判断
                if (Common.LocalDevice.Current.GetDevicesByMac(nowActionDeviceMac).Count == 0
                    && Common.LocalDevice.Current.GetOTADevice(nowActionDeviceMac) == null)
                {
                    //移除控件
                    rowInfo.dicDetailRow = null;
                    rowInfo.frameTable.RemoveFromParent();
                    this.dicRowInfo.Remove(nowActionDeviceMac);
                    rowInfo = null;
                }
                else
                {
                    //刷新设备信息
                    rowInfo.MenuRow?.RefreshControlInfo(true);
                    if (rowInfo.dicDetailRow != null)
                    {
                        foreach (var contr in rowInfo.dicDetailRow.Values)
                        {
                            contr?.RefreshControlInfo();
                        }
                    }
                }
                //刷新指定设备行的信息
                this.RefreshDeviceRow(this.nowActionDeviceMac);
            }
            //清空记录
            this.nowActionDeviceMac = null;
@@ -1381,7 +1397,7 @@
                btnName.Height = Application.GetRealHeight(60);
                btnName.TextSize = 15;
                btnName.Y = Application.GetRealHeight(57);
                btnName.Text = "小度小度";
                btnName.Text = "智能音箱";
                this.AddRightArrow();
                this.AddMostRightView("", 300, false).Name = "smartSoundLayout";