guoshipeng
2023-07-06 63c0ecf98f3705b4c70e4bafee5f325966a5777b
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,18 +23,37 @@
          :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
@@ -66,7 +85,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 +114,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 +142,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 = []
@@ -105,6 +175,9 @@
  // 生命周期 - 创建完成(可以访问当前 this 实例)
  created() {
    this.getData()
    // for (let key in this.timess[0]) {
    //   this.columnList.push(key)
    // }
  },
  // 生命周期 - 挂载完成(可以访问 DOM 元素)
  // mounted() {
@@ -119,6 +192,9 @@
  activated() {},
  // 方法集合
  methods: {
    showPickerChild(data) {
      this.newData = data
    },
    getData() {
      this.$request({
        url: '/monitorPoint/queryMonitorPoints',
@@ -154,6 +230,7 @@
    },
    // 通过设备号获得因子数据
    getSensor() {
      this.newSensor = []
      this.$request({
        url: '/deviceInfo/getMacSensors',
        method: 'post',
@@ -183,7 +260,6 @@
        this.$message.warning('请选择因子')
        return
      }
      this.dateList = []
      this.columnList = []
      this.$request({
@@ -192,13 +268,15 @@
        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)
        this.tableData = res.data
        console.log(this.tableData, 'this.tableData')
        // console.log(this.tableData, 'this.tableData')
        for (let key in this.tableData[0]) {
          this.columnList.push(key)
        }