Parcourir la source

fix:灯调光调色

chenzhen2 il y a 2 ans
Parent
commit
bde2a1d4e1

+ 43 - 16
src/views/envmonitor/components/Light/LightTemp.vue

@@ -75,44 +75,69 @@ export default defineComponent({
         setSpaceCondtioners(data).then((res: any) => {});
       },
       timeTemp: timeTemp,
-      timeTempNum: 0,
+      timeTempNum: 1,
       timeColor: timeColor,
-      timeColorNum: 0,
+      timeColorNum: 1,
       // 改变当前空间设置的值
-      changContrlVal(type: any) {
+      changContrlVal(type: any,tmerType:any=2) {
         let data: any = [];
         if (type == 1) {
+          if(proxyData.lightData.brightValue<proxyData.lightData.brightMinValue){
+            proxyData.lightData.brightValue=proxyData.lightData.brightMinValue
+          }
           data = [
             {
               id: proxyData.lightData.id,
-              code: "bright",
+              code: "brightSet",
               value: proxyData.lightData.brightValue,
             },
           ];
-          if(proxyData.timeTempNum==2){
+          if(tmerType==2){
+            if(proxyData.timeTempNum==2){
+            proxyData.setSpaceContrl(data);
+          }
+          }else {
             proxyData.setSpaceContrl(data);
           }
+          
         } else if (type == 2) {
+          if(proxyData.lightData.colorTempValue<proxyData.lightData.colorTempMinValue){
+            proxyData.lightData.colorTempValue=proxyData.lightData.colorTempMinValue
+          }
           data = [
             {
               id: proxyData.lightData.id,
-              code: "colorTemperature",
+              code: "colorTemperatureSet",
               value: proxyData.lightData.colorTempValue,
             },
           ];
-          if(proxyData.timeColorNum==2){
+          if(tmerType==2){
+            if(proxyData.timeColorNum==2){
             proxyData.setSpaceContrl(data);
           }
+          }else {
+            proxyData.setSpaceContrl(data);
+          }
+          
+        }
+      },
+      // 控制结束处理
+      changContrlValEnd(type:any){
+        if(type==1){
+          clearInterval(proxyData.timeTemp);
+          proxyData.changContrlVal(1,1)
+        }else if(type==2){
+          clearInterval(proxyData.timeColor);
+          proxyData.changContrlVal(2,1)
         }
       },
-
       // 定时控制
       setTimeContrl(type: any) {
         if (type == 1) {
           clearInterval(proxyData.timeTemp);
           proxyData.timeTemp = setInterval(() => {
             if (proxyData.timeTempNum >= 2) {
-              proxyData.timeTempNum = 0;
+              proxyData.timeTempNum = 1;
             }
             proxyData.timeTempNum++;
           }, 1000);
@@ -120,7 +145,7 @@ export default defineComponent({
           clearInterval(proxyData.timeColor);
           proxyData.timeColor = setInterval(() => {
             if (proxyData.timeColorNum >= 2) {
-              proxyData.timeColorNum = 0;
+              proxyData.timeColorNum = 1;
             }
             proxyData.timeColorNum++;
           }, 1000);
@@ -141,9 +166,10 @@ export default defineComponent({
         proxyData.setLightDataMax();
         if (type == 1) {
           //  亮度
+          let value:any=proxyData.lightData.brightMaxValue -proxyData.lightData.brightMinValue 
           let bright: any =
-            proxyData.lightData.brightMaxValue / (sliderWidth - barWidth);
-          let rate: any = 100 / proxyData.lightData.brightMaxValue;
+          value / (sliderWidth - barWidth);
+          let rate: any = 100 / value;
           proxyData.lightData.brightValueRate = left * bright * rate;
           proxyData.lightData.brightValueRate = Math.floor(
             proxyData.lightData.brightValueRate
@@ -156,10 +182,11 @@ export default defineComponent({
             proxyData.lightData.brightValueRate * rate;
           proxyData.itemWidth = width + "%";
         } else if (type == 2) {
+          let value:any=proxyData.lightData.colorTempMaxValue -proxyData.lightData.colorTempMinValue 
           // 色温
           let colorVal: any =
-            proxyData.lightData.colorTempMaxValue / (sliderWidth - barWidth);
-          let rate: any = 100 / proxyData.lightData.colorTempMaxValue;
+          value / (sliderWidth - barWidth);
+          let rate: any = 100 / value;
           proxyData.lightData.colorTempValueRate = left * colorVal * rate;
           proxyData.lightData.colorTempValueRate = Math.floor(
             proxyData.lightData.colorTempValueRate
@@ -237,7 +264,7 @@ export default defineComponent({
         });
         handBox.addEventListener("touchend", function (e: any) {
           isMove = false;
-          clearInterval(proxyData.timeTemp)
+         proxyData.changContrlValEnd(1)
         });
 
         swiper(handBox, {
@@ -290,7 +317,7 @@ export default defineComponent({
         });
         handBox.addEventListener("touchend", function (e: any) {
           isMove = false;
-          clearInterval(proxyData.timeColor)
+          proxyData.changContrlValEnd(2)
         });
 
         swiper(handBox, {

+ 2 - 1
src/views/envmonitor/components/Light/index.vue

@@ -49,7 +49,7 @@
           v-if="(!showFlag && index < 2) || showFlag"
         >
           <div class="control-top">
-            <img :src="lightImg" alt="" />
+            <img :src="item.lightImg" alt="" />
             <Switch
               active-color="$elActiveColor"
               :disabled="!userIsControl"
@@ -212,6 +212,7 @@ export default defineComponent({
                     "lampch_close.png"
                   );
                   content[i].switch = content[i].runStatus ? true : false;
+                  content[i].lightImg=content[i].runStatus ? parseImgUrl("page-officehome", "lamp_open.png") : parseImgUrl("page-officehome", "lamp_close.png");
                   if (content[i].runStatus) {
                     lampOpen = true;
                   }