|
|
@@ -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>
|