| | |
| | | style="width: 21rem" |
| | | /> |
| | | <!-- <div> --> |
| | | <el-select |
| | | <!-- <el-select |
| | | v-model="value" |
| | | placeholder="选择因子" |
| | | style="margin-left: 20px" |
| | |
| | | :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" |
| | |
| | | :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> |
| | |
| | | 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 { |
| | |
| | | columnList: [], //表头的数组 |
| | | dateList: [], |
| | | timevalue: [], |
| | | select1: '日报', |
| | | dataType: 'HourPicker', |
| | | unit: 'day', |
| | | options1: [ |
| | | { |
| | | label: '小时报', |
| | | value: '小时报', |
| | | }, |
| | | { |
| | | label: '日报', |
| | | value: '日报', |
| | | }, |
| | | { |
| | | label: '月报', |
| | | value: '月报', |
| | | }, |
| | | ], |
| | | pickerOptions: { |
| | | disabledDate: (time) => { |
| | | return time.getTime() > new Date() |
| | |
| | | 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 = [] |
| | |
| | | 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', |
| | |
| | | }, |
| | | // 通过设备号获得因子数据 |
| | | getSensor() { |
| | | this.newSensor = [] |
| | | this.$request({ |
| | | url: '/deviceInfo/getMacSensors', |
| | | method: 'post', |
| | |
| | | }) |
| | | }, |
| | | exportMon() { |
| | | console.log(this.timevalue) |
| | | if (this.newMac1 == '') { |
| | | this.$message.warning('请选择站点') |
| | | return |
| | |
| | | this.$message.warning('请选择因子') |
| | | return |
| | | } |
| | | |
| | | this.dateList = [] |
| | | this.columnList = [] |
| | | this.$request({ |
| | |
| | | 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() { |