quanyawei
2024-01-15 c9fc948cfa3cf91c072a13787aed5cb50fb31669
src/views/Listdata/index.vue
@@ -31,7 +31,7 @@
          :props="props"
          collapse-tags
          clearable
        ></el-cascader>
        />
      </div>
      <div>
        <el-select
@@ -44,15 +44,14 @@
            :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"
@@ -69,32 +68,38 @@
      <el-dropdown
        split-button
        type="primary"
        style="margin-left: 20px"
        @click="toExcel()"
        @command="handleCommand"
        style="margin-left: 20px"
      >
        导出
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item command="expNew">导出(新)</el-dropdown-item>
          <el-dropdown-item command="expNew">
            导出(新)
          </el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <el-button @click="exportMon" style="margin-left: 10px">查询</el-button>
      <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>
      />
      <!-- <el-table-column
        v-for="item in columnList"
        :prop="item.props"
@@ -130,7 +135,7 @@
    TimePicker1,
    HourPicker1,
  },
  data() {
  data () {
    // 这里存放数据
    return {
      props: { multiple: true },
@@ -139,7 +144,7 @@
      newMac: '',
      newMac1: [],
      newSensor: [] /* 因子数组 */,
      columnList: [], //表头的数组
      columnList: [], // 表头的数组
      dateList: [],
      timevalue: [],
      select1: '日报',
@@ -170,7 +175,7 @@
  computed: {},
  // 监控data中的数据变化
  watch: {
    select1(nv, ov) {
    select1 (nv, ov) {
      if (nv === '日报') {
        this.dataType = 'HourPicker'
        this.unit = 'day'
@@ -189,7 +194,7 @@
      }
    },
    // 监听设备的数据更新
    newMac(newVal, oldval) {
    newMac (newVal, oldval) {
      this.newMac1 = []
      for (let i = 0; i < newVal.length; i++) {
        // console.log(newVal[i], 111)
@@ -201,23 +206,23 @@
    // 监听dataType的数据更新
  },
  // 生命周期 - 创建完成(可以访问当前 this 实例)
  created() {
  created () {
    this.getData()
  },
  // 生命周期 - 挂载完成(可以访问 DOM 元素)
  // mounted() {
  //
  // },
  beforeCreate() {}, // 生命周期 - 创建之前
  beforeMount() {}, // 生命周期 - 挂载之前
  beforeUpdate() {}, // 生命周期 - 更新之前
  updated() {}, // 生命周期 - 更新之后
  beforeDestroy() {}, // 生命周期 - 销毁之前
  destroyed() {}, // 生命周期 - 销毁完成
  activated() {},
  beforeCreate () {}, // 生命周期 - 创建之前
  beforeMount () {}, // 生命周期 - 挂载之前
  beforeUpdate () {}, // 生命周期 - 更新之前
  updated () {}, // 生命周期 - 更新之后
  beforeDestroy () {}, // 生命周期 - 销毁之前
  destroyed () {}, // 生命周期 - 销毁完成
  activated () {},
  // 方法集合
  methods: {
    handleCommand(command) {
    handleCommand (command) {
      if (this.newMac1 == '') {
        this.$message.warning('请选择站点')
        return
@@ -245,10 +250,10 @@
        this.getOutExcel('列表数据导出.xlsx', res)
      })
    },
    getOutExcel(fileName, res) {
    getOutExcel (fileName, res) {
      let blob = new Blob([res], { type: 'application/x-xls' })
      if (window.navigator.msSaveOrOpenBlob) {
        //兼容 IE & EDGE
        // 兼容 IE & EDGE
        navigator.msSaveBlob(blob, fileName)
      } else {
        var link = document.createElement('a')
@@ -256,18 +261,18 @@
        const url = window.URL || window.webkitURL || window.moxURL
        // 创建下载链接
        link.href = url.createObjectURL(blob)
        //命名下载名称
        // 命名下载名称
        link.download = fileName
        //点击触发下载
        // 点击触发下载
        link.click()
        //下载完成进行释放
        // 下载完成进行释放
        url.revokeObjectURL(link.href)
      }
    },
    showPickerChild(data) {
    showPickerChild (data) {
      this.newData = data
    },
    getData() {
    getData () {
      this.$request({
        url: '/monitorPoint/queryMonitorPoints',
        method: 'get',
@@ -285,14 +290,16 @@
              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,
                })
              }
            }
          }
        })
@@ -301,7 +308,7 @@
        })
    },
    // 通过设备号获得因子数据
    getSensor() {
    getSensor () {
      this.newSensor = []
      this.$request({
        url: '/deviceInfo/getMacSensors',
@@ -322,7 +329,7 @@
          console.log(err)
        })
    },
    exportMon() {
    exportMon () {
      if (this.newMac1 == '') {
        this.$message.warning('请选择站点')
        return
@@ -345,7 +352,7 @@
          times: this.newData instanceof Array ? this.newData : [this.newData],
        },
      }).then((res) => {
        //console.log(res, 11)
        // console.log(res, 11)
        this.tableData = res.data
        for (let key in this.tableData[0]) {
          this.columnList.push(key)
@@ -372,7 +379,7 @@
        // }
      })
    },
    toExcel() {
    toExcel () {
      let wb = XLSX.utils.table_to_book(document.querySelector('#exportTab'), {
        sheet: '分组表',
      })
@@ -390,9 +397,9 @@
      }
      return ws
    },
    setExlStyle(data) {
    setExlStyle (data) {
      let borderAll = {
        //单元格外侧框线
        // 单元格外侧框线
        top: {
          style: 'thin',
        },
@@ -412,7 +419,7 @@
          data[key].s = {
            border: borderAll,
            alignment: {
              horizontal: 'center', //水平居中对齐
              horizontal: 'center', // 水平居中对齐
              vertical: 'center',
            },
            font: {