|  | @@ -0,0 +1,150 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class="detail">
 | 
	
		
			
				|  |  | +    <nav-bar></nav-bar>
 | 
	
		
			
				|  |  | +    <card title="基本信息">
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-cell title="名称" :value="info.deviceName" />
 | 
	
		
			
				|  |  | +        <van-cell title="连接状态">
 | 
	
		
			
				|  |  | +          <template #default><van-tag type="primary">已连接</van-tag></template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="所属机构" :value="info.orgName" />
 | 
	
		
			
				|  |  | +        <van-cell title="设备品牌" :value="info.brandName" />
 | 
	
		
			
				|  |  | +        <van-cell title="探头温度1">
 | 
	
		
			
				|  |  | +          <template #default>{{ info.temperature1 }}°C</template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="探头温度2">
 | 
	
		
			
				|  |  | +          <template #default>{{ info.temperature2 }}°C</template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="空调湿度">
 | 
	
		
			
				|  |  | +          <template #default>{{ info.humidity }}%</template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="更新时间" value-class="cell-updatetime-value">
 | 
	
		
			
				|  |  | +          <template #default>{{ stateUpdateTimeText }}</template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +    </card>
 | 
	
		
			
				|  |  | +    <card title="空调控制">
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-cell title="空调控制">
 | 
	
		
			
				|  |  | +          <template #default>
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onOnOffClick(1, '开机')">开机</van-button>
 | 
	
		
			
				|  |  | +            <span style="display: inline-block; width: 3vw" />
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onOnOffClick(0, '关机')">关机</van-button>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="模式选择">
 | 
	
		
			
				|  |  | +          <template #default>
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onModeSwitchClick(1, '制热')">制热</van-button>
 | 
	
		
			
				|  |  | +            <span style="display: inline-block; width: 3vw" />
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onModeSwitchClick(2, '制冷')">制冷</van-button>
 | 
	
		
			
				|  |  | +            <span style="display: inline-block; width: 3vw" />
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onModeSwitchClick(3, '除湿')">除湿</van-button>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="温度调节">
 | 
	
		
			
				|  |  | +          <template #default>
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onAdjustClick(info.temperature1, 1, '温度', 16, 40)"
 | 
	
		
			
				|  |  | +              >温度{{ info.temperature1 }}°C</van-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +            <span style="display: inline-block; width: 3vw" />
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onAdjustClick(info.temperature2, 2, '温度', 16, 40)"
 | 
	
		
			
				|  |  | +              >温度{{ info.temperature2 }}°C</van-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +        <van-cell title="湿度调节">
 | 
	
		
			
				|  |  | +          <template #default>
 | 
	
		
			
				|  |  | +            <van-button type="info" size="small" @click="onAdjustClick(info.humidity, 3, '湿度', 50, 100)"
 | 
	
		
			
				|  |  | +              >湿度{{ info.humidity }}%</van-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </van-cell>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +    </card>
 | 
	
		
			
				|  |  | +    <OnOff ref="onoffDialog" @success="onOnOff"></OnOff>
 | 
	
		
			
				|  |  | +    <ModeSwitch ref="modelSwitchDialog" @success="onModeSwitch"></ModeSwitch>
 | 
	
		
			
				|  |  | +    <Adjust ref="adjustDialog" @success="onAdjust"></Adjust>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import NavBar from '@/components/NavBar'
 | 
	
		
			
				|  |  | +import dayjs from 'dayjs'
 | 
	
		
			
				|  |  | +import { durationText } from '@/utils/date.js'
 | 
	
		
			
				|  |  | +import Card from '@/components/card'
 | 
	
		
			
				|  |  | +import OnOff from './components/dialog.offon.vue'
 | 
	
		
			
				|  |  | +import ModeSwitch from './components/dialog.mode.vue'
 | 
	
		
			
				|  |  | +import Adjust from './components/dialog.adjust.vue'
 | 
	
		
			
				|  |  | +import { Toast } from 'vant'
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      info: {},
 | 
	
		
			
				|  |  | +      search: {
 | 
	
		
			
				|  |  | +        sensorId: this.$route.query.id
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  components: { NavBar, Card, OnOff, ModeSwitch, Adjust },
 | 
	
		
			
				|  |  | +  computed: {
 | 
	
		
			
				|  |  | +    stateUpdateTimeText() {
 | 
	
		
			
				|  |  | +      if (this.info.stateUpdateTime == null) {
 | 
	
		
			
				|  |  | +        return '未上报'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      return dayjs(this.info.stateUpdateTime).format('YYYY年M月D日H时m分')
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    this.getInfo()
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    getInfo() {
 | 
	
		
			
				|  |  | +      this.info = {
 | 
	
		
			
				|  |  | +        deviceName: '大厅空调',
 | 
	
		
			
				|  |  | +        orgName: '六一分理处',
 | 
	
		
			
				|  |  | +        brandName: '格力',
 | 
	
		
			
				|  |  | +        stateUpdateTime: dayjs().add(-1000, 'second').format('YYYY-MM-DD HH:mm:ss'),
 | 
	
		
			
				|  |  | +        temperature1: 30,
 | 
	
		
			
				|  |  | +        temperature2: 28,
 | 
	
		
			
				|  |  | +        humidity: 70
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onOnOffClick(state, stateText) {
 | 
	
		
			
				|  |  | +      this.$refs['onoffDialog'].open(state, stateText)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onModeSwitchClick(state, stateText) {
 | 
	
		
			
				|  |  | +      this.$refs['modelSwitchDialog'].open(state, stateText)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onAdjustClick(current, state, stateText, min, max) {
 | 
	
		
			
				|  |  | +      this.$refs['adjustDialog'].open(current, state, stateText, min, max)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onOnOff(state, stateText) {
 | 
	
		
			
				|  |  | +      Toast(stateText + '指令发送成功')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onModeSwitch(state, stateText) {
 | 
	
		
			
				|  |  | +      Toast(stateText + '指令发送成功')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onAdjust(state, stateText) {
 | 
	
		
			
				|  |  | +      Toast(stateText + '调节指令发送成功')
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +.cell-title-value {
 | 
	
		
			
				|  |  | +  display: none;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.detail {
 | 
	
		
			
				|  |  | +  margin: 15px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  ::v-deep .title {
 | 
	
		
			
				|  |  | +    font-weight: 700;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.cell-gather-alarm-value {
 | 
	
		
			
				|  |  | +  color: #ee0a24;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.cell-updatetime-value{
 | 
	
		
			
				|  |  | +  min-width: 60vw;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |