From 47cf5518f0f61dbf8066c2273b9f77c2cd7b1751 Mon Sep 17 00:00:00 2001
From: YLouie <929705085@qq.com>
Date: 星期五, 19 九月 2025 17:56:03 +0800
Subject: [PATCH] 销售订单plm同步
---
src/views/equipment/mqtt-show/index.vue | 144 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 111 insertions(+), 33 deletions(-)
diff --git a/src/views/equipment/mqtt-show/index.vue b/src/views/equipment/mqtt-show/index.vue
index 6e95491..5abf0f9 100644
--- a/src/views/equipment/mqtt-show/index.vue
+++ b/src/views/equipment/mqtt-show/index.vue
@@ -6,7 +6,7 @@
<el-select
v-model="deviceId"
placeholder="璇烽�夋嫨"
- @change="getMqttLists"
+ @change="getMqttListsSelect"
>
<el-option
v-for="item in options"
@@ -28,6 +28,28 @@
}}</el-radio-button>
</el-radio-group>
</el-form-item>
+ <el-form-item label="鍘嗗彶鏌ヨ锛�">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="娉ㄦ剰锛氬巻鍙叉椂闂翠负绌轰細鍒锋柊鏁版嵁锛屼笉涓虹┖鍒欎笉浼氬埛鏂版暟鎹紒"
+ placement="top"
+ >
+ <el-date-picker
+ v-model="datePicker"
+ size="small"
+ :picker-options="pickerOptions"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ @change="datePickerHistory"
+ type="datetimerange"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ :default-time="['12:00:00']"
+ >
+ </el-date-picker>
+ </el-tooltip>
+ </el-form-item>
</el-form>
</basic-container>
<basic-container>
@@ -45,8 +67,6 @@
:span="12"
><largeAreaChart
ref="largeAreaChartRef"
- v-if="largeAreaChartList.length > 0"
- :key="k"
:yAxisMonth="v.yAxisMonth"
:seriesData="v.listData"
:otherData="v"
@@ -68,60 +88,118 @@
data() {
return {
largeAreaChartList: [],
- cities: ['1 鍒嗛挓', '3 鍒嗛挓', '5 鍒嗛挓', '10 鍒嗛挓'],
- checkboxGroup3: '1 鍒嗛挓',
+ cities: ['5 鍒嗛挓', '10 鍒嗛挓', '15 鍒嗛挓'],
+ checkboxGroup3: '10 鍒嗛挓',
options: [],
deviceId: '',
- timer: ''
+ timer: '',
+ datePicker: [],
+ choiceDate: null,
+ pickerOptions: {
+ onPick: ({ maxDate, minDate }) => {
+ // 鎶婇�夋嫨鐨勭涓�涓棩鏈熻祴鍊肩粰涓�涓彉閲忋��
+ this.choiceDate = minDate.getTime()
+ // 濡備綍浣犻�夋嫨浜嗕袱涓棩鏈熶簡锛屽氨鎶婇偅涓彉閲忕疆绌�
+ if (maxDate) this.choiceDate = ''
+ },
+ disabledDate: (time) => {
+ // 濡備綍閫夋嫨浜嗕竴涓棩鏈�
+ if (this.choiceDate) {
+ // 7澶╃殑鏃堕棿鎴�
+ const one = 7 * 24 * 3600 * 1000
+ // 褰撳墠鏃ユ湡 - one = 7澶╀箣鍓�
+ const minTime = this.choiceDate - one
+ // 褰撳墠鏃ユ湡 + one = 7澶╀箣鍚�
+ const maxTime = this.choiceDate + one
+ return (
+ time.getTime() < minTime ||
+ time.getTime() > maxTime ||
+ // 闄愬埗涓嶈兘閫夋嫨浠婂ぉ鍙婁互鍚�
+ time.getTime() > Date.now()
+ )
+ } else {
+ // 濡傛灉娌℃湁閫夋嫨鏃ユ湡锛屽氨瑕侀檺鍒朵笉鑳介�夋嫨浠婂ぉ鍙婁互鍚�
+ return time.getTime() > Date.now()
+ }
+ }
+ }
}
},
+ // 鍒濆鍖栬皟鐢� 鏌ヨ璁惧 鎶樼嚎鍥炬暟鎹�
async created() {
await this.getDeviceIdFun()
- this.getMqttLists()
- },
- mounted() {
this.destroyTimerAgainStart()
},
+ // 鍏抽棴椤甸潰閿�姣佸畾鏃跺櫒
beforeDestroy() {
- console.log(`output->閿�姣佷簡瀹氭椂鍣╜)
clearInterval(this.timer)
},
+ watch: {
+ datePicker(newVal) {
+ // 瀛樺湪鏃堕棿 閿�姣佸畾鏃跺櫒
+ if (newVal) {
+ clearInterval(this.timer)
+ } else {
+ this.destroyTimerAgainStart()
+ }
+ }
+ },
methods: {
+ // 閫夋嫨鏃堕棿鍚庤皟鐢�
+ datePickerHistory() {
+ if (this.datePicker) {
+ this.getMqttLists()
+ }
+ },
+ // 閫夋嫨璁惧鍚庤皟鐢ㄥ埛鏂版帴鍙�
+ getMqttListsSelect() {
+ this.largeAreaChartList = []
+ this.getMqttLists()
+ },
+ // 鑾峰彇璁惧涓嬫媺妗�
async getDeviceIdFun() {
await getDeviceId().then((res) => {
this.options = res.data.data
this.deviceId = this.options[0].device_id
})
},
+ // 鑾峰彇鎶樼嚎鍥炬暟鎹�
async getMqttLists() {
- const obj = Object.assign({
+ const obj = {
deviceId: this.deviceId,
collectionTime: this.checkboxGroup3.split(' ')[0]
- })
- this.largeAreaChartList = []
- await mqttList(obj).then((res) => {
- let data = res.data.data
- data.forEach((i) => {
- i.listData = []
- i.yAxisMonth = []
- if (i.listMqttTableData.length > 0) {
- i.deviceId = i.listMqttTableData[0].deviceId
- }
- i.listMqttTableData.forEach((j) => {
- i.listData.push(j.value)
- i.yAxisMonth.push(j.collectionTime)
- })
- i.listMqttTableData = []
- })
- this.largeAreaChartList = data
- })
+ }
+ if (this.datePicker) {
+ obj.startTime = this.datePicker[0]
+ obj.endTime = this.datePicker[1]
+ }
+ // 璋冪敤鏁版嵁鎺ュ彛
+ const res = await mqttList(obj)
+ const data = res.data.data
+ for (const i of data) {
+ i.listData = []
+ i.yAxisMonth = []
+ if (i.listMqttTableData.length > 0) {
+ i.deviceId = i.listMqttTableData[0].deviceId
+ }
+ for (const j of i.listMqttTableData) {
+ i.listData.push(j.value)
+ i.yAxisMonth.push(j.collectionTime)
+ }
+ i.listMqttTableData = []
+ }
+ this.largeAreaChartList = data
+ // 澶勭悊鏁版嵁锛岄�傞厤鎶樼嚎鍥炬牸寮�
+ for (const [k, i] of this.largeAreaChartList.entries()) {
+ this.$refs.largeAreaChartRef[k].refreshData(i.listData, i.yAxisMonth)
+ }
},
+ // 寮�鍚畾鏃跺櫒
destroyTimerAgainStart() {
+ this.largeAreaChartList = []
clearInterval(this.timer)
- this.timer = setInterval(
- this.getMqttLists,
- 1000 * 60 * this.checkboxGroup3.split(' ')[0]
- )
+ this.timer = setInterval(this.getMqttLists, 1000 * 3)
+ this.getMqttLists()
}
}
}
--
Gitblit v1.9.3