| | |
| | | :props="props" |
| | | collapse-tags |
| | | clearable |
| | | ></el-cascader> |
| | | /> |
| | | </div> |
| | | <div> |
| | | <el-select |
| | |
| | | :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" |
| | | @sendPickerChild="showPickerChild" |
| | | /> |
| | | |
| | | <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" |
| | | style="margin-left: 20px" |
| | | @click="toExcel()" |
| | | @command="handleCommand" |
| | | > |
| | | <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 |
| | | style="margin-left: 10px" |
| | | @click="exportMon" |
| | | > |
| | | 查询 |
| | | </el-button> |
| | | </div> |
| | | <el-table |
| | | :data="dateList" |
| | | id="exportTab" |
| | | :data="dateList" |
| | | style="margin-top: 20px" |
| | | border |
| | | max-height="800" |
| | | > |
| | | <el-table-column |
| | | v-for="item in columnList" |
| | | :key="item" |
| | | :prop="item" |
| | | :label="item" |
| | | width="180px" |
| | | :key="item" |
| | | /> |
| | | <!-- <el-table-column |
| | | v-for="item in columnList" |
| | | :prop="item.props" |
| | | :label="item.label" |
| | | width="180px" |
| | | :key="item.label" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | |
| | | TimePicker1, |
| | | HourPicker1, |
| | | }, |
| | | data() { |
| | | data () { |
| | | // 这里存放数据 |
| | | return { |
| | | props: { multiple: true }, |
| | |
| | | newMac: '', |
| | | newMac1: [], |
| | | newSensor: [] /* 因子数组 */, |
| | | columnList: [], //表头的数组 |
| | | columnList: [], // 表头的数组 |
| | | dateList: [], |
| | | timevalue: [], |
| | | select1: '日报', |
| | |
| | | computed: {}, |
| | | // 监控data中的数据变化 |
| | | watch: { |
| | | select1(nv, ov) { |
| | | select1 (nv, ov) { |
| | | if (nv === '日报') { |
| | | this.dataType = 'HourPicker' |
| | | this.unit = 'day' |
| | |
| | | } |
| | | }, |
| | | // 监听设备的数据更新 |
| | | newMac(newVal, oldval) { |
| | | newMac (newVal, oldval) { |
| | | this.newMac1 = [] |
| | | for (let i = 0; i < newVal.length; i++) { |
| | | // console.log(newVal[i], 111) |
| | |
| | | // 监听dataType的数据更新 |
| | | }, |
| | | // 生命周期 - 创建完成(可以访问当前 this 实例) |
| | | created() { |
| | | created () { |
| | | this.getData() |
| | | // for (let key in this.timess[0]) { |
| | | // this.columnList.push(key) |
| | | // } |
| | | }, |
| | | // 生命周期 - 挂载完成(可以访问 DOM 元素) |
| | | // mounted() { |
| | | // |
| | | // }, |
| | | beforeCreate() {}, // 生命周期 - 创建之前 |
| | | beforeMount() {}, // 生命周期 - 挂载之前 |
| | | beforeUpdate() {}, // 生命周期 - 更新之前 |
| | | updated() {}, // 生命周期 - 更新之后 |
| | | beforeDestroy() {}, // 生命周期 - 销毁之前 |
| | | destroyed() {}, // 生命周期 - 销毁完成 |
| | | activated() {}, |
| | | beforeCreate () {}, // 生命周期 - 创建之前 |
| | | beforeMount () {}, // 生命周期 - 挂载之前 |
| | | beforeUpdate () {}, // 生命周期 - 更新之前 |
| | | updated () {}, // 生命周期 - 更新之后 |
| | | beforeDestroy () {}, // 生命周期 - 销毁之前 |
| | | destroyed () {}, // 生命周期 - 销毁完成 |
| | | activated () {}, |
| | | // 方法集合 |
| | | methods: { |
| | | showPickerChild(data) { |
| | | 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() { |
| | | getData () { |
| | | this.$request({ |
| | | url: '/monitorPoint/queryMonitorPoints', |
| | | method: 'get', |
| | |
| | | label: this.defaultData[i].name, |
| | | }) |
| | | this.options[i].children = [] |
| | | for (let j = 0; j < this.defaultData[i].devices.length; j++) { |
| | | this.options[i].children.push({ |
| | | value: [ |
| | | this.defaultData[i].devices[j].name, |
| | | this.defaultData[i].devices[j].mac, |
| | | ], |
| | | label: this.defaultData[i].devices[j].name, |
| | | }) |
| | | if (this.defaultData[i].devices) { |
| | | for (let j = 0; j < this.defaultData[i].devices.length; j++) { |
| | | this.options[i].children.push({ |
| | | value: [ |
| | | this.defaultData[i].devices[j].name, |
| | | this.defaultData[i].devices[j].mac, |
| | | ], |
| | | label: this.defaultData[i].devices[j].name, |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | |
| | | }) |
| | | }, |
| | | // 通过设备号获得因子数据 |
| | | getSensor() { |
| | | getSensor () { |
| | | this.newSensor = [] |
| | | this.$request({ |
| | | url: '/deviceInfo/getMacSensors', |
| | |
| | | console.log(err) |
| | | }) |
| | | }, |
| | | exportMon() { |
| | | console.log(this.timevalue) |
| | | exportMon () { |
| | | if (this.newMac1 == '') { |
| | | this.$message.warning('请选择站点') |
| | | return |
| | |
| | | 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() { |
| | | toExcel () { |
| | | let wb = XLSX.utils.table_to_book(document.querySelector('#exportTab'), { |
| | | sheet: '分组表', |
| | | }) |
| | |
| | | } |
| | | return ws |
| | | }, |
| | | setExlStyle(data) { |
| | | setExlStyle (data) { |
| | | let borderAll = { |
| | | //单元格外侧框线 |
| | | // 单元格外侧框线 |
| | | top: { |
| | | style: 'thin', |
| | | }, |
| | |
| | | data[key].s = { |
| | | border: borderAll, |
| | | alignment: { |
| | | horizontal: 'center', //水平居中对齐 |
| | | horizontal: 'center', // 水平居中对齐 |
| | | vertical: 'center', |
| | | }, |
| | | font: { |