| | |
| | | <template> |
| | | <div class="dashboard-title"> |
| | | <div class="title-text"> |
| | | 智能工作台 — {{ deviceStore?.deviceInfo?.currentDeviceID ?? '' }} |
| | | 智能工作台 — |
| | | <el-popover |
| | | placement="bottom" |
| | | :width="200" |
| | | trigger="click" |
| | | :content="deviceStore?.deviceInfo?.currentDeviceID ?? ''" |
| | | > |
| | | <template #reference> |
| | | <el-text truncated class="device-name">{{ deviceStore?.deviceInfo?.currentDeviceID ?? '' }}</el-text> |
| | | </template> |
| | | </el-popover> |
| | | <el-icon size="32" color="#0db7f5" style="margin-left: 20px; cursor: pointer" @click="openDevicesModal"> |
| | | <IconSlider></IconSlider> |
| | | </el-icon> |
| | | </div> |
| | | <div class="title-status"> |
| | | <div class="connection-info" @click="openProblemsModal"> |
| | | <el-icon size="30" :color="problemsIconStatus ? '#00ff00' : '#ff0000'"> |
| | | <el-icon size="26" :color="problemsIconStatus ? '#00ff00' : '#ff0000'"> |
| | | <AlertLightIcon></AlertLightIcon> |
| | | </el-icon> |
| | | </div> |
| | | <div class="cloud-connection-status"> |
| | | <el-icon v-if="cloudConnectionIconStatus" size="45" color="#00ff00"> |
| | | <el-icon v-if="cloudConnectionIconStatus" size="38" color="#00ff00"> |
| | | <IconCloudDone></IconCloudDone> |
| | | </el-icon> |
| | | |
| | | <el-icon v-else size="45" color="#ff0000"> |
| | | <el-icon v-else size="38" color="#ff0000"> |
| | | <IconCloudOff></IconCloudOff> |
| | | </el-icon> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <DeviceCheckList v-model="showDevicesModal" :devices="deviceList"></DeviceCheckList> |
| | | <DeviceCheckList v-model="showDevicesModal" @should-reload="emits('shouldReload')"></DeviceCheckList> |
| | | <TroubleTrackerModal v-model="showProblemsModal" :problems="problemList"></TroubleTrackerModal> |
| | | </template> |
| | | <script setup lang="ts"> |
| | |
| | | import { useRequest } from 'vue-hooks-plus' |
| | | import { apiGetProblemList } from '@/api' |
| | | import { PROBLEMS_POLLING_DURATION } from '@/common/constants' |
| | | |
| | | const emits = defineEmits<{ |
| | | shouldReload: [] |
| | | }>() |
| | | |
| | | // 是否显示问题诊断modal |
| | | const showProblemsModal = ref(false) |
| | |
| | | align-items: center; |
| | | position: absolute; |
| | | top: 16px; |
| | | right: 40px; |
| | | right: 6px; |
| | | } |
| | | .connection-info { |
| | | margin-right: 10px; |
| | | cursor: pointer; |
| | | } |
| | | .device-name { |
| | | max-width: 340px; |
| | | font-size: 40px; |
| | | color: #fff; |
| | | } |
| | | </style> |