|  | @@ -3,22 +3,22 @@
 | 
	
		
			
				|  |  |  		<cus-header title='智慧空调' bgColor='transparent'></cus-header>
 | 
	
		
			
				|  |  |  		<image class="bg" :src="imgBase+'home/kongtiao_bg.png'" mode="widthFix"></image>
 | 
	
		
			
				|  |  |  		<div class="nums">
 | 
	
		
			
				|  |  | -			<div class="pre">空调:<span class="mr">{{8}}</span></div>
 | 
	
		
			
				|  |  | -			<div class="pre">正常:<span class="zc">{{20}}</span></div>
 | 
	
		
			
				|  |  | -			<div class="pre">离线:<span class="lx">{{1}}</span></div>
 | 
	
		
			
				|  |  | +			<div class="pre">空调:<span class="mr">{{ktNum}}</span></div>
 | 
	
		
			
				|  |  | +			<div class="pre">正常:<span class="zc">{{zcNum}}</span></div>
 | 
	
		
			
				|  |  | +			<div class="pre">离线:<span class="lx">{{lxNum}}</span></div>
 | 
	
		
			
				|  |  |  		</div>
 | 
	
		
			
				|  |  |  		<div class="boxs" v-if="list.length">
 | 
	
		
			
				|  |  | -			<div class="box" v-for="(item,index) in list" :key="index" :class="bgcolorCfg[item.type]" @tap="showDetail(item)">
 | 
	
		
			
				|  |  | -				<image :src="imgCfg[item.type]" class="type" mode="widthFix"></image>
 | 
	
		
			
				|  |  | -				<div class="place">{{item.place}}</div>
 | 
	
		
			
				|  |  | -				<div class="position">{{item.position}}</div>
 | 
	
		
			
				|  |  | -				<div class="temperature" :class="{'off':item.status==2}">{{item.temperature}}℃</div>
 | 
	
		
			
				|  |  | +			<div class="box" v-for="(item,index) in list" :key="index" :style="{'background':modeCfg[item.attributeList[2].value].color}" @tap="showDetail(item,index)">
 | 
	
		
			
				|  |  | +				<image :src="modeCfg[item.attributeList[2].value].icon.split(';')[0]" class="type" mode="widthFix"></image>
 | 
	
		
			
				|  |  | +				<div class="place">{{item.installSite}}{{item.roomNumbers}}</div>
 | 
	
		
			
				|  |  | +				<div class="position">{{item.airConditionerName}}</div>
 | 
	
		
			
				|  |  | +				<div class="temperature" :class="{'off':item.opStatus==0}">{{item.attributeList[5].value}}℃</div>
 | 
	
		
			
				|  |  |  				<div class="text">温度</div>
 | 
	
		
			
				|  |  | -				<div class="btn" v-if="item.status==1">
 | 
	
		
			
				|  |  | +				<div class="btn" v-if="item.opStatus==1" @tap.stop="switchOpenClose(1,item.deviceId, index,item.attributeList[3].sensorAddress)">
 | 
	
		
			
				|  |  |  					<div class="circle"></div>
 | 
	
		
			
				|  |  |  					<text style="margin-left: 4rpx;">ON</text>
 | 
	
		
			
				|  |  |  				</div>
 | 
	
		
			
				|  |  | -				<div class="btn" v-else-if="item.status==2">
 | 
	
		
			
				|  |  | +				<div class="btn" v-else-if="item.opStatus==0" @tap.stop="switchOpenClose(0,item.deviceId, index,item.attributeList[3].sensorAddress)">
 | 
	
		
			
				|  |  |  					<text style="margin-right: 4rpx;">OFF</text>
 | 
	
		
			
				|  |  |  					<div class="circle off"></div>
 | 
	
		
			
				|  |  |  				</div>
 | 
	
	
		
			
				|  | @@ -33,8 +33,8 @@
 | 
	
		
			
				|  |  |  					<div class="left">
 | 
	
		
			
				|  |  |  						<image :src="imgBase+'home/kongtiao_kt.png'"></image>
 | 
	
		
			
				|  |  |  						<div class="addr">
 | 
	
		
			
				|  |  | -							<text>{{ktInfo.place}}</text>
 | 
	
		
			
				|  |  | -							<text class="ts">{{ktInfo.position}}</text>
 | 
	
		
			
				|  |  | +							<text>{{ktInfo.installSite}}{{ktInfo.roomNumbers}}</text>
 | 
	
		
			
				|  |  | +							<text class="ts">{{ktInfo.airConditionerName}}</text>
 | 
	
		
			
				|  |  |  						</div>
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  					<div class="right" @tap="ktClose">
 | 
	
	
		
			
				|  | @@ -42,45 +42,37 @@
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  				</div>
 | 
	
		
			
				|  |  |  				<template v-if="!setShow">
 | 
	
		
			
				|  |  | -					<image class="setting" :src="imgBase+'home/kongtiao_set.png'" @tap="setShow = true"></image>
 | 
	
		
			
				|  |  | +					<!-- <image class="setting" :src="imgBase+'home/kongtiao_set.png'" @tap="setShow = true"></image> -->
 | 
	
		
			
				|  |  |  					<div class="wendu">
 | 
	
		
			
				|  |  | -						<TemperatureControl :temperature="this.ktInfo.temperature" @changeTemperature="changeTemperature" ref="tcRef"></TemperatureControl>
 | 
	
		
			
				|  |  | +						<TemperatureControl :temperature="temperature" @changeTemperature="changeTemperature" ref="tcRef"></TemperatureControl>
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  | -					<div class="type">
 | 
	
		
			
				|  |  | -						<div class="pre" :class="{'active':ktInfo.type==1}" @tap="changeType(1)">
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_zl_bai.png'" v-if="ktInfo.type==1"></image>
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_zl_hui.png'" v-else></image>
 | 
	
		
			
				|  |  | -							<text>制冷</text>
 | 
	
		
			
				|  |  | -						</div>
 | 
	
		
			
				|  |  | -						<div class="pre" :class="{'active':ktInfo.type==2}" @tap="changeType(2)">
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_zr_bai.png'" v-if="ktInfo.type==2"></image>
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_zr_hui.png'" v-else></image>
 | 
	
		
			
				|  |  | -							<text>制热</text>
 | 
	
		
			
				|  |  | -						</div>
 | 
	
		
			
				|  |  | -						<div class="pre" :class="{'active':ktInfo.type==3}" @tap="changeType(3)">
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_cs_bai.png'" v-if="ktInfo.type==3"></image>
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_cs_hui.png'" v-else></image>
 | 
	
		
			
				|  |  | -							<text>除湿</text>
 | 
	
		
			
				|  |  | -						</div>
 | 
	
		
			
				|  |  | -						<div class="pre" :class="{'active':ktInfo.type==4}" @tap="changeType(4)">
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_sf_bai.png'" v-if="ktInfo.type==4"></image>
 | 
	
		
			
				|  |  | -							<image :src="imgBase+'home/kongtiao_sf_hui.png'" v-else></image>
 | 
	
		
			
				|  |  | -							<text>送风</text>
 | 
	
		
			
				|  |  | +					<div class="type" v-if="ktInfo.attributeList&&ktInfo.attributeList.length">
 | 
	
		
			
				|  |  | +						<div class="pre" v-for="item in modeList" :key="item.id" :style="{'width':'calc(100% / '+modeList.length+' - 20rpx)'}"
 | 
	
		
			
				|  |  | +							:class="{'active':temperature&&modeValue==item.dictValue}" @tap="changeType(item.dictValue)">
 | 
	
		
			
				|  |  | +							<image :src="item.icon.split(';')[2]" v-if="temperature&&modeValue==item.dictValue"></image>
 | 
	
		
			
				|  |  | +							<image :src="item.icon.split(';')[1]" v-else></image>
 | 
	
		
			
				|  |  | +							<text>{{item.dictLabel}}</text>
 | 
	
		
			
				|  |  |  						</div>
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  					<div class="speend">
 | 
	
		
			
				|  |  |  						<text>风速</text>
 | 
	
		
			
				|  |  |  						<image class="jian" :src="imgBase+'home/kongtiao_jian.png'" @tap="changeWindSpeend(1)"></image>
 | 
	
		
			
				|  |  | -						<div class="area">
 | 
	
		
			
				|  |  | -							<div class="jd" :style="{'width':speend+'%'}"></div>
 | 
	
		
			
				|  |  | +						<div class="area" v-if="speendList.length">
 | 
	
		
			
				|  |  | +							<div class="pre" :class="{'active':temperature&&speendValue==item.dictValue}"
 | 
	
		
			
				|  |  | +								:style="{'width':'calc(100% / '+speendList.length+' - 3rpx)'}"
 | 
	
		
			
				|  |  | +								v-for="item in speendList" :key="item.id">
 | 
	
		
			
				|  |  | +								<div class="text" v-if="temperature&&speendValue==item.dictValue">{{item.dictLabel}}</div>
 | 
	
		
			
				|  |  | +							</div>
 | 
	
		
			
				|  |  |  						</div>
 | 
	
		
			
				|  |  |  						<image class="jia" :src="imgBase+'home/kongtiao_jia.png'" @tap="changeWindSpeend(2)"></image>
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  					<div class="btns">
 | 
	
		
			
				|  |  | -						<div class="btn" :class="{'blue':wtype==1}" @tap="changeWindFx(1)">左右扫风</div>
 | 
	
		
			
				|  |  | -						<image :src="imgBase+'home/kongtiao_open1.png'" v-if="ktInfo.status==1" @tap="control(1)"></image>
 | 
	
		
			
				|  |  | -						<image :src="imgBase+'home/kongtiao_open2.png'" v-else-if="ktInfo.status==2" @tap="control(2)"></image>
 | 
	
		
			
				|  |  | -						<div class="btn" :class="{'blue':wtype==2}" @tap="changeWindFx(2)">上下扫风</div>
 | 
	
		
			
				|  |  | +						<!-- <div class="btn" :class="{'blue':wtype==1}" @tap="changeWindFx(1)">左右扫风</div> -->
 | 
	
		
			
				|  |  | +						<div></div>
 | 
	
		
			
				|  |  | +						<image :src="imgBase+'home/kongtiao_open1.png'" v-if="ktInfo.opStatus==1" @tap="control(1)"></image>
 | 
	
		
			
				|  |  | +						<image :src="imgBase+'home/kongtiao_open2.png'" v-else-if="ktInfo.opStatus==0" @tap="control(0)"></image>
 | 
	
		
			
				|  |  | +						<!-- <div class="btn" :class="{'blue':wtype==2}" @tap="changeWindFx(2)">上下扫风</div> -->
 | 
	
		
			
				|  |  | +						<div></div>
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  				</template>
 | 
	
		
			
				|  |  |  				<template v-else>
 | 
	
	
		
			
				|  | @@ -137,95 +129,114 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  |  	import TemperatureControl from '@/pagesHome/components/TemperatureControl/index.vue'
 | 
	
		
			
				|  |  | +	import pageEmpty from '@/components/pageEmpty/index.vue'
 | 
	
		
			
				|  |  |  	export default {
 | 
	
		
			
				|  |  |  		components:{
 | 
	
		
			
				|  |  | -			TemperatureControl
 | 
	
		
			
				|  |  | +			TemperatureControl,
 | 
	
		
			
				|  |  | +			pageEmpty
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  		data(){
 | 
	
		
			
				|  |  |  			return {
 | 
	
		
			
				|  |  | -				imgCfg:{
 | 
	
		
			
				|  |  | -					1:this.$imgBase+'home/kongtiao_cold.png',
 | 
	
		
			
				|  |  | -					2:this.$imgBase+'home/kongtiao_sun.png',
 | 
	
		
			
				|  |  | -					3:this.$imgBase+'home/kongtiao_water.png',
 | 
	
		
			
				|  |  | -					4:this.$imgBase+'home/kongtiao_wind.png'
 | 
	
		
			
				|  |  | -				},
 | 
	
		
			
				|  |  | -				bgcolorCfg:{
 | 
	
		
			
				|  |  | -					1:'cold',
 | 
	
		
			
				|  |  | -					2:'hot',
 | 
	
		
			
				|  |  | -					3:'water',
 | 
	
		
			
				|  |  | -					4:'wind'
 | 
	
		
			
				|  |  | +				ktNum:0,
 | 
	
		
			
				|  |  | +				zcNum:0,
 | 
	
		
			
				|  |  | +				lxNum:0,
 | 
	
		
			
				|  |  | +				params:{
 | 
	
		
			
				|  |  | +					page:1,
 | 
	
		
			
				|  |  | +					limit:9999,
 | 
	
		
			
				|  |  | +					controlCategory:'CommonLighting'
 | 
	
		
			
				|  |  |  				},
 | 
	
		
			
				|  |  | -				list:[
 | 
	
		
			
				|  |  | -					{
 | 
	
		
			
				|  |  | -						place:'B#/13F1301',
 | 
	
		
			
				|  |  | -						position:'传秀-指挥中心东',
 | 
	
		
			
				|  |  | -						temperature:18,
 | 
	
		
			
				|  |  | -						status:1,//1开启 2关闭
 | 
	
		
			
				|  |  | -						type:1//1制冷 2制热 3除湿 4送风
 | 
	
		
			
				|  |  | -					},
 | 
	
		
			
				|  |  | -					{
 | 
	
		
			
				|  |  | -						place:'B#/13F1302',
 | 
	
		
			
				|  |  | -						position:'传秀-指挥中心南',
 | 
	
		
			
				|  |  | -						temperature:20.5,
 | 
	
		
			
				|  |  | -						status:2,//1开启 2关闭
 | 
	
		
			
				|  |  | -						type:3//1制冷 2制热 3除湿 4送风
 | 
	
		
			
				|  |  | -					},
 | 
	
		
			
				|  |  | -					{
 | 
	
		
			
				|  |  | -						place:'B#/13F1303',
 | 
	
		
			
				|  |  | -						position:'传秀-指挥中心西',
 | 
	
		
			
				|  |  | -						temperature:28,
 | 
	
		
			
				|  |  | -						status:1,//1开启 2关闭
 | 
	
		
			
				|  |  | -						type:4//1制冷 2制热 3除湿 4送风
 | 
	
		
			
				|  |  | -					},
 | 
	
		
			
				|  |  | -					{
 | 
	
		
			
				|  |  | -						place:'B#/13F1304',
 | 
	
		
			
				|  |  | -						position:'传秀-指挥中心北',
 | 
	
		
			
				|  |  | -						temperature:28,
 | 
	
		
			
				|  |  | -						status:1,//1开启 2关闭
 | 
	
		
			
				|  |  | -						type:2//1制冷 2制热 3除湿 4送风
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -				],
 | 
	
		
			
				|  |  | +				modeList:[],
 | 
	
		
			
				|  |  | +				modeCfg:{},
 | 
	
		
			
				|  |  | +				modeValue:'',
 | 
	
		
			
				|  |  | +				speendList:[],
 | 
	
		
			
				|  |  | +				speendCfg:{},
 | 
	
		
			
				|  |  | +				speendValue:'',
 | 
	
		
			
				|  |  | +				ktStatus:'',
 | 
	
		
			
				|  |  | +				temperature:0,
 | 
	
		
			
				|  |  | +				list:[],
 | 
	
		
			
				|  |  | +				lIndex:'',
 | 
	
		
			
				|  |  |  				show:false,
 | 
	
		
			
				|  |  |  				setShow:false,
 | 
	
		
			
				|  |  |  				ktInfo:{},
 | 
	
		
			
				|  |  | -				speend:20,
 | 
	
		
			
				|  |  |  				wtype:1,
 | 
	
		
			
				|  |  | +				canClick:true
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  | +		async onLoad() {
 | 
	
		
			
				|  |  | +			await this.getModeList();
 | 
	
		
			
				|  |  | +			await this.getSpeendList();
 | 
	
		
			
				|  |  | +			this.getList();
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +		onPullDownRefresh() {
 | 
	
		
			
				|  |  | +			this.getList();
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  |  		methods:{
 | 
	
		
			
				|  |  | -			showDetail(item){
 | 
	
		
			
				|  |  | +			async getModeList(){
 | 
	
		
			
				|  |  | +				let res = await this.$api.get('/sys/dict/data/getListByType/air_mode');
 | 
	
		
			
				|  |  | +				if(res.data.code===0){
 | 
	
		
			
				|  |  | +					this.modeList = res.data.data;
 | 
	
		
			
				|  |  | +					res.data.data.map(d=>this.modeCfg[d.dictValue]=d);
 | 
	
		
			
				|  |  | +				}else this.$showToast(res.data.msg)
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			async getSpeendList(){
 | 
	
		
			
				|  |  | +				let res = await this.$api.get('/sys/dict/data/getListByType/air_fan');
 | 
	
		
			
				|  |  | +				if(res.data.code===0){
 | 
	
		
			
				|  |  | +					this.speendList = res.data.data;
 | 
	
		
			
				|  |  | +					res.data.data.map(d=>this.speendCfg[d.dictValue]=d);
 | 
	
		
			
				|  |  | +				}else this.$showToast(res.data.msg)
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			getList(){
 | 
	
		
			
				|  |  | +				this.$api.get('/airconditioner/page',this.params).then(res=>{
 | 
	
		
			
				|  |  | +					if(res.data.code===0){
 | 
	
		
			
				|  |  | +						this.list = res.data.data.list;
 | 
	
		
			
				|  |  | +						this.ktNum = res.data.data.total;
 | 
	
		
			
				|  |  | +						this.zcNum = this.list.filter(l=>l.opStatus==1).length;
 | 
	
		
			
				|  |  | +						this.lxNum = this.list.filter(l=>l.opStatus==0).length;
 | 
	
		
			
				|  |  | +					}else this.$showToast(res.data.msg)
 | 
	
		
			
				|  |  | +				})
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			showDetail(item,index){
 | 
	
		
			
				|  |  |  				this.ktInfo = JSON.parse(JSON.stringify(item));
 | 
	
		
			
				|  |  | -				if(item.status==2){
 | 
	
		
			
				|  |  | -					this.speend = 0;
 | 
	
		
			
				|  |  | -					this.wtype = '';
 | 
	
		
			
				|  |  | -					this.ktInfo.type = '';
 | 
	
		
			
				|  |  | -				} 
 | 
	
		
			
				|  |  | +				this.ktStatus = item.opStatus;
 | 
	
		
			
				|  |  | +				this.modeValue = this.ktInfo.attributeList[2].value;
 | 
	
		
			
				|  |  | +				this.temperature = this.ktInfo.attributeList[5].value;
 | 
	
		
			
				|  |  | +				this.speendValue = this.ktInfo.attributeList[0].value;
 | 
	
		
			
				|  |  | +				this.lIndex = index;
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  |  				this.show = true;
 | 
	
		
			
				|  |  | -				this.$refs.tcRef.sjTemperature = item.temperature;
 | 
	
		
			
				|  |  | +				this.$refs.tcRef.status = this.ktStatus;
 | 
	
		
			
				|  |  | +				this.$refs.tcRef.sjTemperature = this.temperature;
 | 
	
		
			
				|  |  |  				this.$refs.tcRef.init();
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			changeType(type){
 | 
	
		
			
				|  |  | -				if(this.ktInfo.status==2) return
 | 
	
		
			
				|  |  | -				this.ktInfo.type = type;
 | 
	
		
			
				|  |  | +				if(this.ktInfo.opStatus==0) return
 | 
	
		
			
				|  |  | +				if(this.modeValue == type) return
 | 
	
		
			
				|  |  | +				this.modeValue = type;
 | 
	
		
			
				|  |  | +				this.updateAirConditioner(type,this.ktInfo.attributeList[2].sensorAddress)
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			changeWindSpeend(type){
 | 
	
		
			
				|  |  | -				if(this.ktInfo.status==2) return
 | 
	
		
			
				|  |  | -				if(type==1){
 | 
	
		
			
				|  |  | -					if(this.speend<=20) return
 | 
	
		
			
				|  |  | -					this.speend-=20;
 | 
	
		
			
				|  |  | -				}else if(type==2){
 | 
	
		
			
				|  |  | -					if(this.speend==100) return
 | 
	
		
			
				|  |  | -					this.speend+=20;
 | 
	
		
			
				|  |  | +				if(this.ktInfo.opStatus==0) return
 | 
	
		
			
				|  |  | +				let idx = this.speendList.findIndex(s=>s.dictValue==this.speendValue)
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +				if(idx>-1){
 | 
	
		
			
				|  |  | +					if(type==1){
 | 
	
		
			
				|  |  | +						if(idx==0) return
 | 
	
		
			
				|  |  | +						this.speendValue = this.speendList[idx-1].dictValue;
 | 
	
		
			
				|  |  | +					}else if(type==2){
 | 
	
		
			
				|  |  | +						if(idx==this.speendList.length-1) return
 | 
	
		
			
				|  |  | +						this.speendValue = this.speendList[idx+1].dictValue;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | +				this.updateAirConditioner(this.speendValue,this.ktInfo.attributeList[0].sensorAddress)
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  | -			changeWindFx(type){
 | 
	
		
			
				|  |  | -				if(this.ktInfo.status==2) return
 | 
	
		
			
				|  |  | -				this.wtype = type;
 | 
	
		
			
				|  |  | -			},
 | 
	
		
			
				|  |  | -			control(type){
 | 
	
		
			
				|  |  | -				this.show = false;
 | 
	
		
			
				|  |  | +			// changeWindFx(type){
 | 
	
		
			
				|  |  | +			// 	if(this.ktInfo.opStatus==0) return
 | 
	
		
			
				|  |  | +			// },
 | 
	
		
			
				|  |  | +			control(status){
 | 
	
		
			
				|  |  | +				this.openCloseAirConditioner(status,this.ktInfo.deviceId,this.lIndex,this.ktInfo.attributeList[3].sensorAddress);
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			ktClose(){
 | 
	
		
			
				|  |  | +				this.ktInfo = {};
 | 
	
		
			
				|  |  |  				this.setShow = false;
 | 
	
		
			
				|  |  |  				this.show = false;
 | 
	
		
			
				|  |  |  			},
 | 
	
	
		
			
				|  | @@ -233,7 +244,56 @@
 | 
	
		
			
				|  |  |  				this.setShow = false;
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			changeTemperature(temperature){
 | 
	
		
			
				|  |  | -				console.log(temperature,'temperature');
 | 
	
		
			
				|  |  | +				this.updateAirConditioner(temperature,this.ktInfo.attributeList[5].sensorAddress)
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			switchOpenClose(status,deviceId,index,identifier){
 | 
	
		
			
				|  |  | +				this.openCloseAirConditioner(status,deviceId,index,identifier);
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			openCloseAirConditioner(status,deviceId,index,identifier){
 | 
	
		
			
				|  |  | +				let msg = status?'关闭':'开启';
 | 
	
		
			
				|  |  | +				uni.showModal({
 | 
	
		
			
				|  |  | +					title:'温馨提示',
 | 
	
		
			
				|  |  | +					content:`是否确认【${msg}】此设备`,
 | 
	
		
			
				|  |  | +					success: (res) => {
 | 
	
		
			
				|  |  | +						if(res.confirm){
 | 
	
		
			
				|  |  | +							this.$api.post('/airconditioner/command',{
 | 
	
		
			
				|  |  | +								identifier,
 | 
	
		
			
				|  |  | +								action: 0,
 | 
	
		
			
				|  |  | +								value: status? 0 : 1,
 | 
	
		
			
				|  |  | +								deviceId,
 | 
	
		
			
				|  |  | +							}).then(resu=>{
 | 
	
		
			
				|  |  | +								if(resu.data.code===0){
 | 
	
		
			
				|  |  | +									this.show = false;
 | 
	
		
			
				|  |  | +									this.$showToast('操作成功');
 | 
	
		
			
				|  |  | +									setTimeout(()=>{
 | 
	
		
			
				|  |  | +										this.getList();
 | 
	
		
			
				|  |  | +									},3000)
 | 
	
		
			
				|  |  | +								}else this.$showToast(resu.data.msg)
 | 
	
		
			
				|  |  | +							})
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				})
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			updateAirConditioner(value, identifier){
 | 
	
		
			
				|  |  | +				if(!this.canClick) return
 | 
	
		
			
				|  |  | +				this.canClick = false;
 | 
	
		
			
				|  |  | +				this.$api.post('/airconditioner/command',{
 | 
	
		
			
				|  |  | +					action: 0,
 | 
	
		
			
				|  |  | +					identifier,
 | 
	
		
			
				|  |  | +					value,
 | 
	
		
			
				|  |  | +					deviceId:this.ktInfo.deviceId,
 | 
	
		
			
				|  |  | +				}).then(resu=>{
 | 
	
		
			
				|  |  | +					if(resu.data.code===0){
 | 
	
		
			
				|  |  | +						this.show = false;
 | 
	
		
			
				|  |  | +						this.$showToast('操作成功');
 | 
	
		
			
				|  |  | +						setTimeout(()=>{
 | 
	
		
			
				|  |  | +							this.getList();
 | 
	
		
			
				|  |  | +						},3000)
 | 
	
		
			
				|  |  | +					}else this.$showToast(resu.data.msg)
 | 
	
		
			
				|  |  | +					this.canClick = true;
 | 
	
		
			
				|  |  | +				}).catch(err=>{
 | 
	
		
			
				|  |  | +					this.canClick = true;
 | 
	
		
			
				|  |  | +				})
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -304,18 +364,6 @@
 | 
	
		
			
				|  |  |  				padding: 32rpx 21rpx 42rpx 29rpx;
 | 
	
		
			
				|  |  |  				box-sizing: border-box;
 | 
	
		
			
				|  |  |  				position: relative;
 | 
	
		
			
				|  |  | -				&.cold{
 | 
	
		
			
				|  |  | -					background: linear-gradient( 180deg, #D7EBFF 0%, #FFFFFF 100%);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				&.hot{
 | 
	
		
			
				|  |  | -					background: linear-gradient( 180deg, #FFE7E4 0%, #FFFFFF 100%);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				&.water{
 | 
	
		
			
				|  |  | -					background: linear-gradient( 180deg, #ECF2F7 0%, #FFFFFF 100%);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				&.wind{
 | 
	
		
			
				|  |  | -					background: linear-gradient( 180deg, #ECF2F7 0%, #FFFFFF 100%);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  |  				
 | 
	
		
			
				|  |  |  				.type{
 | 
	
		
			
				|  |  |  					width: 164rpx;
 | 
	
	
		
			
				|  | @@ -452,7 +500,6 @@
 | 
	
		
			
				|  |  |  				justify-content: space-around;
 | 
	
		
			
				|  |  |  				margin-top: 20rpx;
 | 
	
		
			
				|  |  |  				.pre{
 | 
	
		
			
				|  |  | -					width: calc(25% - 20rpx);
 | 
	
		
			
				|  |  |  					margin: 0 10rpx;
 | 
	
		
			
				|  |  |  					padding: 36rpx 0;
 | 
	
		
			
				|  |  |  					display: flex;
 | 
	
	
		
			
				|  | @@ -507,17 +554,28 @@
 | 
	
		
			
				|  |  |  				.area{
 | 
	
		
			
				|  |  |  					width: calc(100% - 200rpx);
 | 
	
		
			
				|  |  |  					height: 20rpx;
 | 
	
		
			
				|  |  | -					background: #EDF4FF;
 | 
	
		
			
				|  |  |  					border-radius: 16rpx;
 | 
	
		
			
				|  |  | -					position: relative;
 | 
	
		
			
				|  |  | -					.jd{
 | 
	
		
			
				|  |  | -						height: 100%;
 | 
	
		
			
				|  |  | -						border-radius: 16rpx;
 | 
	
		
			
				|  |  | -						background: linear-gradient( 90deg, #3A8DFF 0%, #0BC6FF 100%);
 | 
	
		
			
				|  |  | -						box-shadow: 0rpx 4rpx 16rpx 4rpx #EFEFEF;
 | 
	
		
			
				|  |  | -						position: absolute;
 | 
	
		
			
				|  |  | -						left: 0;
 | 
	
		
			
				|  |  | -						top: 0;
 | 
	
		
			
				|  |  | +					display: flex;
 | 
	
		
			
				|  |  | +					justify-content: space-between;
 | 
	
		
			
				|  |  | +					.pre{
 | 
	
		
			
				|  |  | +						height: 20rpx;
 | 
	
		
			
				|  |  | +						background: #EDF4FF;
 | 
	
		
			
				|  |  | +						position: relative;
 | 
	
		
			
				|  |  | +						&.active{
 | 
	
		
			
				|  |  | +							background: linear-gradient( 90deg, #3A8DFF 0%, #0BC6FF 100%);
 | 
	
		
			
				|  |  | +							box-shadow: 0rpx 4rpx 16rpx 4rpx #EFEFEF;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						.text{
 | 
	
		
			
				|  |  | +							width: 100%;
 | 
	
		
			
				|  |  | +							font-family: PingFangSC, PingFang SC;
 | 
	
		
			
				|  |  | +							font-weight: 400;
 | 
	
		
			
				|  |  | +							font-size: 24rpx;
 | 
	
		
			
				|  |  | +							color: #86909C;
 | 
	
		
			
				|  |  | +							line-height: 33rpx;
 | 
	
		
			
				|  |  | +							text-align: center;
 | 
	
		
			
				|  |  | +							position: absolute;
 | 
	
		
			
				|  |  | +							top: -33rpx;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 |