From 7c5c458225e1e6ab32bba352c5efd33c6a78f023 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Tue, 19 Sep 2023 14:52:57 +0800
Subject: [PATCH] fix:监测因子趋势echarts样式修改
---
src/views/Listdata/index.vue | 207 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 186 insertions(+), 21 deletions(-)
diff --git a/src/views/Listdata/index.vue b/src/views/Listdata/index.vue
index ae35e81..acc59f9 100644
--- a/src/views/Listdata/index.vue
+++ b/src/views/Listdata/index.vue
@@ -12,7 +12,7 @@
style="width: 21rem"
/>
<!-- <div> -->
- <el-select
+ <!-- <el-select
v-model="value"
placeholder="������������"
style="margin-left: 20px"
@@ -23,23 +23,62 @@
:label="item.label"
:value="item.value"
/>
- </el-select>
- <el-date-picker
- v-model="timevalue"
- type="datetimerange"
- range-separator="���"
- value-format="yyyy-MM-dd HH"
- start-placeholder="������������"
- :picker-options="pickerOptions"
- end-placeholder="������������"
- style="margin-left: 1rem"
- >
- </el-date-picker>
+ </el-select> -->
+ <div style="margin-left: 1.5rem">
+ <el-cascader
+ v-model="value"
+ :options="newSensor"
+ :props="props"
+ collapse-tags
+ clearable
+ ></el-cascader>
+ </div>
+ <div>
+ <el-select
+ v-model="select1"
+ placeholder="���������"
+ style="margin-left: 1.5rem; width: 15rem"
+ >
+ <el-option
+ v-for="item in options1"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <component
+ :is="dataType"
+ style="padding-left: 0; margin-left: 20px; width: 160px"
+ @sendPickerChild="showPickerChild"
+ class="select11"
+ />
- <el-button type="primary" @click="toExcel()" style="margin-left: 20px"
+ <!-- <el-button type="primary" @click="toExcel()" style="margin-left: 20px"
>������</el-button
+ > -->
+ <!-- <el-dropdown @command="handleCommand">
+ <el-button type="primary" @click="toExcel()" style="margin-left: 20px"
+ >������<i class="el-icon-arrow-down el-icon--right"></i
+ ></el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="expNew">������(���)</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown> -->
+ <el-dropdown
+ split-button
+ type="primary"
+ @click="toExcel()"
+ @command="handleCommand"
+ style="margin-left: 20px"
>
- <el-button @click="exportMon">������</el-button>
+ ������
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="expNew">������(���)</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ <el-button @click="exportMon" style="margin-left: 10px">������</el-button>
</div>
<el-table
:data="dateList"
@@ -56,6 +95,14 @@
:key="item"
>
</el-table-column>
+ <!-- <el-table-column
+ v-for="item in columnList"
+ :prop="item.props"
+ :label="item.label"
+ width="180px"
+ :key="item.label"
+ >
+ </el-table-column> -->
</el-table>
</div>
</template>
@@ -66,7 +113,23 @@
import FileSaver from 'file-saver'
import XLSX2 from 'xlsx-style'
import XLSX from 'xlsx'
+import DatePicker from '@/components/Form/DatePicker'
+import MouthPicker from '@/components/Form/MouthPicker'
+import HourPicker from '@/components/Form/HourPicker'
+import HourPicker1 from '@/components/Form/HourPicker1'
+import CustomPicker from '@/components/Form/CustomPicker'
+import CustomPicker1 from '@/components/Form/CustomPicker1'
+import TimePicker1 from '@/components/Form/TimePicker1'
export default {
+ components: {
+ DatePicker,
+ MouthPicker,
+ HourPicker,
+ CustomPicker,
+ CustomPicker1,
+ TimePicker1,
+ HourPicker1,
+ },
data() {
// ������������������
return {
@@ -79,6 +142,23 @@
columnList: [], //���������������
dateList: [],
timevalue: [],
+ select1: '������',
+ dataType: 'HourPicker',
+ unit: 'day',
+ options1: [
+ {
+ label: '���������',
+ value: '���������',
+ },
+ {
+ label: '������',
+ value: '������',
+ },
+ {
+ label: '������',
+ value: '������',
+ },
+ ],
pickerOptions: {
disabledDate: (time) => {
return time.getTime() > new Date()
@@ -90,6 +170,24 @@
computed: {},
// ������data������������������
watch: {
+ select1(nv, ov) {
+ if (nv === '������') {
+ this.dataType = 'HourPicker'
+ this.unit = 'day'
+ } else if (nv === '������') {
+ this.dataType = 'DatePicker'
+ this.unit = 'month'
+ } else if (nv === '������') {
+ this.dataType = 'MouthPicker'
+ this.unit = 'month'
+ } else if (nv === '���������') {
+ this.dataType = 'HourPicker1'
+ this.unit = 'hours'
+ } else {
+ this.dataType = 'CustomPicker'
+ this.unit = 'hours'
+ }
+ },
// ���������������������������
newMac(newVal, oldval) {
this.newMac1 = []
@@ -119,6 +217,56 @@
activated() {},
// ������������
methods: {
+ handleCommand(command) {
+ if (this.newMac1 == '') {
+ this.$message.warning('���������������')
+ return
+ }
+ if (this.value == '') {
+ this.$message.warning('���������������')
+ return
+ }
+ this.dateList = []
+ this.columnList = []
+ this.$request({
+ url: 'monitorPoint/exlOut',
+ method: 'post',
+ data: {
+ macs: this.newMac1,
+ sensors: this.value.toString(),
+ // startTime: this.timevalue[0],
+ // endTime: this.timevalue[1],
+ type: this.unit,
+ times: this.newData instanceof Array ? this.newData : [this.newData],
+ },
+ responseType: 'blob',
+ }).then((res) => {
+ console.log('������������', res)
+ this.getOutExcel('������������������.xlsx', res)
+ })
+ },
+ getOutExcel(fileName, res) {
+ let blob = new Blob([res], { type: 'application/x-xls' })
+ if (window.navigator.msSaveOrOpenBlob) {
+ //������ IE & EDGE
+ navigator.msSaveBlob(blob, fileName)
+ } else {
+ var link = document.createElement('a')
+ // ������������������������URL������
+ const url = window.URL || window.webkitURL || window.moxURL
+ // ������������������
+ link.href = url.createObjectURL(blob)
+ //������������������
+ link.download = fileName
+ //������������������
+ link.click()
+ //������������������������
+ url.revokeObjectURL(link.href)
+ }
+ },
+ showPickerChild(data) {
+ this.newData = data
+ },
getData() {
this.$request({
url: '/monitorPoint/queryMonitorPoints',
@@ -154,6 +302,7 @@
},
// ���������������������������������
getSensor() {
+ this.newSensor = []
this.$request({
url: '/deviceInfo/getMacSensors',
method: 'post',
@@ -174,7 +323,6 @@
})
},
exportMon() {
- console.log(this.timevalue)
if (this.newMac1 == '') {
this.$message.warning('���������������')
return
@@ -183,7 +331,6 @@
this.$message.warning('���������������')
return
}
-
this.dateList = []
this.columnList = []
this.$request({
@@ -192,19 +339,37 @@
data: {
macs: this.newMac1,
sensors: this.value.toString(),
- startTime: this.timevalue[0],
- endTime: this.timevalue[1],
+ // startTime: this.timevalue[0],
+ // endTime: this.timevalue[1],
+ type: this.unit,
+ times: this.newData instanceof Array ? this.newData : [this.newData],
},
}).then((res) => {
- console.log(res, 11)
+ //console.log(res, 11)
this.tableData = res.data
- console.log(this.tableData, 'this.tableData')
for (let key in this.tableData[0]) {
this.columnList.push(key)
}
for (let item of this.tableData) {
this.dateList.push(item)
}
+ // this.tableData = res.data
+ // for (let key in this.tableData[0]) {
+ // let prop = key
+ // if (String(key).indexOf('.') > -1) {
+ // prop = key.replace(/\./g, '')
+ // }
+ // this.columnList.push({ label: key, props: prop })
+ // }
+ // for (let item of this.tableData) {
+ // for (let key in this.tableData[0]) {
+ // if (String(key).indexOf('.') > -1) {
+ // let newKey = key.replace(/\./g, '')
+ // item[newKey] = item[key]
+ // }
+ // }
+ // this.dateList.push(item)
+ // }
})
},
toExcel() {
--
Gitblit v1.8.0