柒零 1 gadu atpakaļ
vecāks
revīzija
692fb962bb
2 mainītis faili ar 36 papildinājumiem un 7 dzēšanām
  1. 28 0
      pages/index/index.js
  2. 8 7
      pages/index/index.wxml

+ 28 - 0
pages/index/index.js

@@ -416,6 +416,7 @@ Page({
 			'加湿器', '空调', '音箱', '窗帘', '纱帘'
 		],
 		temperatureHumidifyName: '温度',
+		temperatureValue:0,
 		isButtonPressedHumidityUp: false,
 		isButtonPressedHumidityDown: false,
 		isButtonPressedClimateUp: false,
@@ -1769,6 +1770,31 @@ Page({
 		}
 		this.getService("/services", "/" + domain, "/turn_off", "POST", data);
 	},
+	// 拖动空调的值
+	dragClimate(e) {
+		var that = this;
+		let state = e.currentTarget.dataset.state;
+		console.log(e.detail.value);
+		if (state == "auto") {
+			return
+		}
+		let list = that.data.listClimate;//这里是将需要循环的数组赋值给list
+		let indexS = Number(e.currentTarget.dataset.index);
+		// 将本地缓存数据渲染到对应修改的案例
+
+		for (let i = 0; i < list.length; i++) {
+			var element = list[i];
+			if (i == indexS) {
+				element.temperatureTemp = e.detail.value;
+				break;
+			}
+
+		}
+		that.setData({
+			listClimate: list
+		})
+		console.log(list);
+	},
 	// 更改空调的值
 	changeClimate(e) {
 		var that = this;
@@ -2888,6 +2914,7 @@ Page({
 								) {
 									climateModeTemp = obj.state;
 									obj.temperature = resData[i].attributes.temperature;
+									obj.temperatureTemp = resData[i].attributes.temperature;
 									obj.min_temp = resData[i].attributes.min_temp;
 									obj.max_temp = resData[i].attributes.max_temp;
 									obj.hvac_modes = resData[i].attributes.hvac_modes;
@@ -3437,6 +3464,7 @@ Page({
 								) {
 									climateModeTemp = obj.state;
 									obj.temperature = resData[i].attributes.temperature;
+									obj.temperatureTemp = resData[i].attributes.temperature;
 									obj.min_temp = resData[i].attributes.min_temp;
 									obj.max_temp = resData[i].attributes.max_temp;
 									obj.hvac_modes = resData[i].attributes.hvac_modes;

+ 8 - 7
pages/index/index.wxml

@@ -224,10 +224,10 @@
             <view class="data-media-player">
 
               <text wx:if="{{item.state!='auto'}}" class="value-display">
-                {{item.temperature}}<text class="value-display_unit">°C</text>
+                {{item.temperatureTemp}}<text class="value-display_unit">°C</text>
               </text>
               <text wx:else class="value-display" style="opacity: 0;">
-                {{item.temperature}}<text class="value-display_unit">°C</text>
+                {{item.temperatureTemp}}<text class="value-display_unit">°C</text>
               </text>
               <view class="button-row" style="margin-left: 15rpx;">
                 <image src="/static/icons/ic_minus.svg" style="width: 112rpx;height: 112rpx;" bindtap="minusClimate"
@@ -235,11 +235,12 @@
                   data-state="{{item.state}}" data-id="{{item.entity_id}}" data-domain="{{item.domain}}"
                   data-min="{{item.min_temp}}" data-max="{{item.max_temp}}" data-temperature="{{item.temperature}}"
                   data-fanMode="{{item.fan_mode}}" disabled="{{item.state=='auto'}}"></image>
-                <van-slider bar-height="52rpx" active-color="#3A87FD" class="tui-slider-box" bind:change="changeClimate"
-                  min="{{item.min_temp}}" max="{{item.max_temp}}" step="1" value="{{item.temperature}}"
-                  data-state="{{item.state}}" data-id="{{item.entity_id}}" data-domain="{{item.domain}}"
-                  data-min="{{item.min_temp}}" data-max="{{item.max_temp}}" data-temperature="{{item.temperature}}"
-                  data-fanMode="{{item.fan_mode}}" disabled="{{item.state=='auto'}}">
+                <van-slider bar-height="52rpx" active-color="#3A87FD" class="tui-slider-box" data-index="{{index}}"
+                  bind:change="changeClimate" bind:drag="dragClimate" min="{{item.min_temp}}" max="{{item.max_temp}}"
+                  step="1" value="{{item.temperature}}" data-state="{{item.state}}" data-id="{{item.entity_id}}"
+                  data-domain="{{item.domain}}" data-min="{{item.min_temp}}" data-max="{{item.max_temp}}"
+                  data-temperature="{{item.temperature}}" data-fanMode="{{item.fan_mode}}"
+                  disabled="{{item.state=='auto'}}">
                   <!-- <text style="color:black">{{sliderValueClimate}}</text> -->
                 </van-slider>
                 <image src="/static/icons/ic_add.svg" style="width: 112rpx;height: 112rpx; " bindtap="addClimate"