¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <basic-container> |
| | | <el-form label-width="100px" :inline="true"> |
| | | <el-form-item label="设å¤ï¼" required> |
| | | <el-select v-model="search.deviceId" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.name" |
| | | :value="item.device_id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¶é´ï¼"> |
| | | <el-date-picker |
| | | v-model="search.collectionTime" |
| | | type="datetime" |
| | | placeholder="éæ©æ¥ææ¶é´" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="searchFun">æ¥è¯¢</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </basic-container> |
| | | <basic-container> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | height="calc(100vh - 27vh)" |
| | | > |
| | | <el-table-column type="index" label="åºå·"></el-table-column> |
| | | <el-table-column prop="collectionTime" label="ééæ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column label="设å¤åç§°"> |
| | | <template slot-scope="scope"> |
| | | <!-- 使ç¨è®¡ç®å±æ§ææ¹æ³æ¥æ¾å¹é
项 --> |
| | | {{ getMatchedName(scope.row.dataStream) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="dataStream" label="设å¤ç¼å·" > |
| | | </el-table-column> |
| | | <el-table-column prop="value" label="åæ°å¼"> </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="1" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :page-size="search.size" |
| | | layout="->, total, sizes, prev, pager, next, jumper" |
| | | :total="search.total" |
| | | > |
| | | </el-pagination> |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getDeviceId, |
| | | getEquipmentSensors, |
| | | mqttPage |
| | | } from '@/api/equipment/equipment' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | currentPage: 1, |
| | | options: [], |
| | | tableData: [], |
| | | equipmentSensorsList: [], |
| | | search: { |
| | | size: 100, |
| | | current: 1, |
| | | total: 0, |
| | | deviceId: null, |
| | | collectionTime: null |
| | | } |
| | | } |
| | | }, |
| | | // åå§åè°ç¨ æ¥è¯¢è®¾å¤ æçº¿å¾æ°æ® |
| | | async created() { |
| | | await this.getDeviceIdFun() |
| | | await this.getPage() |
| | | }, |
| | | methods: { |
| | | // æ¥æ¾å¹é
ç设å¤åç§° |
| | | getMatchedName(dataStream) { |
| | | // éå设å¤ä¼ æå¨å表 |
| | | const matchedItem = this.equipmentSensorsList.find((item) => { |
| | | return item.dataStream === dataStream |
| | | }) |
| | | |
| | | // è¿åå¹é
ç䏿åç§°æé»è®¤å¼ |
| | | return matchedItem ? matchedItem.nameCn : 'æªæ¾å°è®¾å¤' |
| | | }, |
| | | searchFun() { |
| | | this.tableData = [] |
| | | this.getEquipmentSensors() |
| | | this.getPage() |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.search.size = val |
| | | this.getPage() |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.search.current = val |
| | | this.getPage() |
| | | }, |
| | | // è·å设å¤ä¸ææ¡ |
| | | async getDeviceIdFun() { |
| | | await getDeviceId().then(async (res) => { |
| | | this.options = res.data.data |
| | | this.search.deviceId = this.options[0].device_id |
| | | await this.getEquipmentSensors() |
| | | }) |
| | | }, |
| | | getPage() { |
| | | mqttPage(this.search).then((res) => { |
| | | this.tableData = res.data.data.content |
| | | this.search.total = res.data.data.totalElements |
| | | }) |
| | | }, |
| | | async getEquipmentSensors() { |
| | | await getEquipmentSensors({ deviceId: this.search.deviceId }).then( |
| | | (response) => { |
| | | this.equipmentSensorsList = response.data.data |
| | | } |
| | | ) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |