黄学彪
2020-06-10 dce6c3481a37216292724013ff9d2b75ceb82f86
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs
@@ -40,7 +40,7 @@
        /// </summary>
        private CommonDevice device = null;
        /// <summary>
        /// 当前选择的功能类型索引
        /// 当前选择的功能类型索引 -1:还没有设置过 0:不指定 1:开关 2:灯光 3:插座
        /// </summary>
        private int nowSelectNo = -1;
@@ -52,7 +52,7 @@
        /// 设备功能类型的自定义行控件(选择功能之后,无条件直接变更类型)
        /// </summary>
        /// <param name="i_device">设备的对象</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(真实值,有些界面需要这种特殊操作)</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(【列表控件的rowSpace/2】即可,不懂默认为0即可)</param>
        public DeviceFunctionTypeRowControl(CommonDevice i_device, int i_ChidrenYaxis = 0) : base("", "", i_ChidrenYaxis)
        {
            this.device = i_device;
@@ -108,15 +108,23 @@
            var form = new BottomItemSelectForm();
            form.CancelCallEvent = true;//允许取消
            form.AddForm(title, listText, nowSelectNo);
            form.AddForm(title, listText, nowSelectNo - 1);
            form.FinishSelectEvent += (selectNo) =>
            {
                if (selectNo == nowSelectNo - 1)
                {
                    //选择的是相同的
                    return;
                }
                //-1:选择取消
                this.Text = selectNo == -1 ? string.Empty : listText[selectNo];
                nowSelectNo = selectNo;
                nowSelectNo = selectNo + 1;
                //记录起当前选择的功能类型
                this.RefreshDfunctionType();
                //设备改变功能类型的话,主页需要重新刷新
                UserView.UserPage.Instance.RefreshForm = true;
                //调用回调函数
                this.FinishSelectEvent?.Invoke(nowSelectNo);
@@ -137,28 +145,34 @@
            var myFunType = this.device.DfunctionType;
            //功能类型的翻译名字
            string strType = string.Empty;
            if (myFunType == DeviceFunctionType.A灯光)
            if (this.device.DfunctionType == DeviceFunctionType.A不指定)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uLight);
                nowSelectNo = 1;
                nowSelectNo = 0;
            }
            else if (this.device.DfunctionType == DeviceFunctionType.A开关)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
                nowSelectNo = 0;
                nowSelectNo = 1;
            }
            else if (myFunType == DeviceFunctionType.A灯光)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uLight);
                nowSelectNo = 2;
            }
            else if (this.device.DfunctionType == DeviceFunctionType.A插座)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
                nowSelectNo = 2;
                nowSelectNo = 3;
            }
            if (this.device.Type == DeviceType.ColorDimmableLight
                || this.device.Type == DeviceType.ColorTemperatureLight
                || this.device.Type == DeviceType.DimmableLight)
            {
                //灯光类固定为 灯光
                strType = Language.StringByID(R.MyInternationalizationString.uLight);
                nowSelectNo = 1;
                nowSelectNo = 2;
            }
            else if (this.device.Type == DeviceType.WindowCoveringDevice)
            {
@@ -178,10 +192,16 @@
                strType = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId2800);
                nowSelectNo = -1;
            }
            else if (this.device.Type == DeviceType.DoorLock)
            else if (this.device.Type == DeviceType.FreshAir)
            {
                //新风固定为 新风
                strType = Language.StringByID(R.MyInternationalizationString.FreshAir);
                nowSelectNo = -1;
            }
            else if (this.device.Type == DeviceType.PMSensor)
            {
                //PM2.5传感器固定为 空气质量
                strType = Language.StringByID(R.MyInternationalizationString.AirQuality);
                nowSelectNo = -1;
            }
@@ -208,6 +228,8 @@
                || this.device.Type == DeviceType.OnOffOutput//继电器
                || this.device.Type == DeviceType.Thermostat//空调
                || this.device.Type == DeviceType.FreshAir//新风
                || this.device.Type == DeviceType.PMSensor //PM2.5
                || this.device.Type == DeviceType.ColorTemperatureLight //色温灯
                || this.device.Type == DeviceType.WindowCoveringDevice)//窗帘
            {
                return true;
@@ -238,7 +260,7 @@
        /// </summary>
        private void RefreshDfunctionType()
        {
            if (this.nowSelectNo == 0)
            if (this.nowSelectNo == 1)
            {
                this.device.DfunctionType = DeviceFunctionType.A开关;
                if (this.device.IsCustomizeImage == false)
@@ -247,7 +269,7 @@
                    this.device.IconPath = "Device/Switch.png";
                }
            }
            else if (this.nowSelectNo == 1)
            else if (this.nowSelectNo == 2)
            {
                this.device.DfunctionType = DeviceFunctionType.A灯光;
                if (this.device.IsCustomizeImage == false)
@@ -256,7 +278,7 @@
                    this.device.IconPath = "Device/Light.png";
                }
            }
            else if (this.nowSelectNo == 2)
            else if (this.nowSelectNo == 3)
            {
                this.device.DfunctionType = DeviceFunctionType.A插座;
                if (this.device.IsCustomizeImage == false)
@@ -267,7 +289,7 @@
            }
            else
            {
                this.device.DfunctionType = DeviceFunctionType.A未定义;
                this.device.DfunctionType = DeviceFunctionType.A不指定;
                if (this.device.IsCustomizeImage == false)
                {
                    //重新设置图片