guoshipeng
2023-08-18 f4dec5e5b3a400a6c0fe8cc7fade6b6a01621bfa
src/views/Listdata/index.vue
@@ -55,10 +55,30 @@
        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"
@@ -75,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>
@@ -175,9 +203,6 @@
  // 生命周期 - 创建完成(可以访问当前 this 实例)
  created() {
    this.getData()
    // for (let key in this.timess[0]) {
    //   this.columnList.push(key)
    // }
  },
  // 生命周期 - 挂载完成(可以访问 DOM 元素)
  // mounted() {
@@ -192,6 +217,53 @@
  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
    },
@@ -251,7 +323,6 @@
        })
    },
    exportMon() {
      console.log(this.timevalue)
      if (this.newMac1 == '') {
        this.$message.warning('请选择站点')
        return
@@ -274,15 +345,31 @@
          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() {