黄学彪
2020-03-23 cc0d80c7d86c6d0167269b3408c4b30c24ce84e9
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -61,7 +61,7 @@
            this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice);
            //设置标题信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo));
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceSettion));
            //初始化右上角菜单
            this.InitTopRightMenu();
@@ -141,18 +141,18 @@
                        //针对单纯只有一个200端点的设备
                        continue;
                    }
                    var room = Room.CurrentRoom.GetRoomByDevice(device);
                    var room = HdlRoomLogic.Current.GetRoomByDevice(device);
                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
                    if (room == null)
                    {
                        //这里有点特殊,如果回路没有设置有区域的时候,才设置
                        listCheck.Add(mainKeys);
                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                    else if (listCheck.Contains(mainKeys) == true)
                    {
                        //如果这个回路之前都还没有区域,在本界面还没有关闭之前,可以无条件随便变更
                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                }
                //保存设备房间索引
@@ -227,10 +227,19 @@
                this.AddDirectionAndLimitRow();
                //添加【手拉控制】行(开合帘专用)
                this.AddHandPullControlRow();
                //添加【按键设置】行(面板专用)
                this.AddPanelSettionRow();
                //添加【功能设置】行
                this.AddFunctionSettionRow();
                //添加【按键设置】行(方悦专用) --这个有可能和面板重叠
                if (this.AddFangyuePanelSettionRow() == false)
                {
                    //添加【按键设置】行(面板专用)
                    this.AddPanelSettionRow();
                }
                if (this.IsFangyueFreshaAirPanel() == false)
                {
                    //添加【功能设置】行
                    this.AddFunctionSettionRow();
                }
                //添加【干接点设置】行
                this.AddDryContactSettionRow();
            }
@@ -452,7 +461,7 @@
        #region ■ 按键设置(面板)_____________________
        /// <summary>
        /// 添加【按键设置】行
        /// 添加【按键设置】行(面板)
        /// </summary>
        private void AddPanelSettionRow()
        {
@@ -472,26 +481,77 @@
            btnFunction.AddBottomLine();
            btnFunction.ButtonClickEvent += (sender, e) =>
            {
                if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
                {
                    //方悦面板的按键配置
                    var form = new DevicePanel.PanelFangyueButtonSettionForm();
                    form.AddForm(listNewDevice[0]);
                }
                else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
                {
                    //方悦环境面板的按键配置
                    var form = new DevicePanel.PanelFangyueEnvironmentButtonSettionForm();
                    form.AddForm(listNewDevice[0]);
                }
                else
                {
                    var form = new DevicePanel.PanelButtonSettionForm();
                    form.AddForm(listNewDevice[0]);
                }
                var form = new DevicePanel.PanelButtonSettionForm();
                form.AddForm(listNewDevice[0]);
            };
        }
        #endregion
        #region ■ 按键设置(方悦)_____________________
        /// <summary>
        /// 添加【按键设置】行(方悦)
        /// </summary>
        private bool AddFangyuePanelSettionRow()
        {
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
            {
                //按键设置
                string caption = Language.StringByID(R.MyInternationalizationString.uPanelSettion);
                var btnFunction = new FrameRowControl(listview.rowSpace / 2);
                listview.AddChidren(btnFunction);
                btnFunction.AddLeftCaption(caption, 600);
                //向右图标
                btnFunction.AddRightArrow();
                //底线
                btnFunction.AddBottomLine();
                btnFunction.ButtonClickEvent += (sender, e) =>
                {
                    if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
                    {
                        //方悦按键面板[单开双控/双开四控/四开八控]配置
                        var form = new DevicePanel.PanelFangyueButtonSettionForm();
                        form.AddForm(listNewDevice[0]);
                    }
                    else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
                    {
                        //方悦环境面板的按键配置
                        var form = new DevicePanel.PanelFangyueEnvironmentButtonSettionForm();
                        form.AddForm(listNewDevice[0]);
                    }
                    else
                    {
                        //方悦新风面板的按键配置
                        var form = new DevicePanel.PanelFangyueFreshAirButtonSettionForm();
                        form.AddForm(listNewDevice[0]);
                    }
                };
                return true;
            }
            return false;
        }
        #endregion
        #region ■ 按键设置(方悦)_____________________
        /// <summary>
        /// 是否是方悦新风面板
        /// </summary>
        private bool IsFangyueFreshaAirPanel()
        {
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
            {
                return true;
            }
            return false;
        }
        #endregion
@@ -604,9 +664,25 @@
            {
                return;
            }
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
            {
                //环境面板没有功能设置
                return;
            }
            //2020.03.06新追加:如果全部都是干接点的话,也不能有这个东西
            int dryContactCount = 0;
            for (int i = 0; i < listNewDevice.Count; i++)
            {
                if (listNewDevice[i].Type == DeviceType.OnOffSwitch)
                {
                    dryContactCount++;
                }
            }
            if (listNewDevice.Count == dryContactCount)
            {
                //这个设备全是干接点
                return;
            }
@@ -720,10 +796,11 @@
            btnSwitch.ButtonClickEvent += async (sender, e) =>
            {
                //切换模式
                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, !btnSwitch.IsSelected);
                bool statu = !btnSwitch.IsSelected;
                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
                if (result == true)
                {
                    btnSwitch.IsSelected = !btnSwitch.IsSelected;
                    btnSwitch.IsSelected = statu;
                }
            };