src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue
@@ -1,19 +1,32 @@
<template>
  <div style="width: 100%;">
    <div :bordered="false">
  <div class="device_list">
      <!-- 查询区域 -->
      <div class="seach-content">
        <div class="table-page-search-wrapper">
          <a-form layout="inline" @keyup.enter.native="searchQuery">
            <a-row :gutter="24">
              <a-col :md="5" :sm="5" :xs="5">
              <a-col :md="4" :sm="4" :xs="4">
                <a-form-item label="驱动类型">
                  <a-auto-complete
                    v-model="queryParam.driveType"
                    :data-source="driveTypeList"
                    placeholder="请选择驱动类型"
                    :filter-option="filterOption"
                    allowClear
                  />
                </a-form-item>
              </a-col>
              <a-col :md="4" :sm="4" :xs="4">
                <a-form-item label="设备级别">
                  <j-dict-select-tag placeholder="请选择设备级别" dictCode="device_level" v-model="queryParam.deviceLevel"
                                     allow-clear/>
                </a-form-item>
              </a-col>
              <a-col :md="4" :sm="4" :xs="4">
                <a-form-item label="设备种类">
                  <j-dict-select-tag placeholder="请选择设备种类" dictCode="device_category" v-model="queryParam.deviceCategory"
                                     allow-clear/>
                </a-form-item>
              </a-col>
@@ -33,6 +46,7 @@
                  <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
                  <a-button type="primary" @click="searchReset" icon="reload">重置</a-button>
                  <a-button type="primary" @click="exportExcel" icon="download">导出</a-button>
                  <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'" v-has="'deviceProcess:print'">打印</a-button>
                </a-space>
              </a-col>
            </a-row>
@@ -41,27 +55,24 @@
        </div>
      </div>
      <div class="container" id="EfficiencyShift" style="margin-top: 20px;">
        <div class="table2">
          <a-table :columns="columns" :dataSource="dataSource.records" :pagination="false" bordered>
            <span slot="duration" slot-scope="text">{{getFormattedTime(text)}}</span>
          </a-table>
        </div>
      <div class="container" id="EfficiencyShift" style="flex:1;overflow: hidden">
        <a-table :columns="columns"  rowKey="equipmentId" :dataSource="dataSource" :scroll="{x:'max-content',y:scrollY}" :pagination="false" bordered>
          <span slot="duration" slot-scope="text">{{getFormattedTime(text)}}</span>
        </a-table>
      </div>
      <div class="pagination">
        <a-pagination
          :total=dataSource.total
          :show-total="(total, range) => `${range[0]}-${range[1]} 共 ${total} 条`"
          :page-size="+queryParam.pageSize"
          :default-current="1"
          :current=+queryParam.pageNo
          show-size-changer
          :pageSizeOptions="['20','30','40','50']"
          @change="handlePageNoChange"
          @showSizeChange="handlePageSizeChange"
        />
      </div>
    </div>
      <!--<div class="pagination">-->
        <!--<a-pagination-->
          <!--:total=dataSource.total-->
          <!--:show-total="(total, range) => `${range[0]}-${range[1]} 共 ${total} 条`"-->
          <!--:page-size="+queryParam.pageSize"-->
          <!--:default-current="1"-->
          <!--:current=+queryParam.pageNo-->
          <!--show-size-changer-->
          <!--:pageSizeOptions="['20','30','40','50']"-->
          <!--@change="handlePageNoChange"-->
          <!--@showSizeChange="handlePageSizeChange"-->
        <!--/>-->
      <!--</div>-->
  </div>
</template>
@@ -99,7 +110,7 @@
            title: '序号',
            dataIndex: '',
            key: 'rowIndex',
            width: 70,
            width: 60,
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
@@ -110,18 +121,18 @@
            title: '设备统一编号',
            align: 'center',
            dataIndex: 'equipmentId',
            width: 120
            width: 200
          },
          {
            title: '设备名称',
            align: 'center',
            width: 150,
            width: 200,
            dataIndex: 'equipmentName'
          },
          {
            title: '驱动类型',
            align: 'center',
            width: 110,
            width: 100,
            dataIndex: 'driveType'
          },
          {
@@ -133,7 +144,7 @@
          {
            title: '加工件数',
            align: 'center',
            width: 80,
            width: 100,
            dataIndex: 'processCount'
          },
          {
@@ -141,17 +152,18 @@
            dataIndex: 'duration',
            align: 'center',
            scopedSlots: { customRender: 'duration' },
            width: 110
            width: 150
          },
          {
            title: '日期',
            dataIndex: 'theDate',
            align: 'center',
            width: 110
          }
          // {
          //   title: '日期',
          //   dataIndex: 'theDate',
          //   align: 'center',
          //   width: 110
          // }
        ],
        dataSource: [],
        driveTypeList: []
        driveTypeList: [],
        scrollY:465
      }
    },
    props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -161,6 +173,13 @@
      this.queryParam.typeTree = '1'
      this.loadData()
      this.getDriveTypeByApi()
    },
    mounted(){
      window.addEventListener('resize',this.handleWindowResize)
      this.handleWindowResize()
    },
    beforeDestroy(){
      window.removeEventListener('resize',this.handleWindowResize)
    },
    watch: {
      Type(valmath) {
@@ -205,9 +224,13 @@
    methods: {
      dateParamChange(value) {
        this.dates = value
        console.log('value', value)
        this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
        this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
        if(!value.length) {
          delete this.queryParam.startTime
          delete this.queryParam.endTime
        }else{
          this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
          this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
        }
      },
      exportExcel() {
@@ -223,24 +246,15 @@
      },
      searchQuery() {
        if (this.dates != '') {
          if (this.queryParam.typeTree == '1') {
            this.queryParam.parentId = this.queryParamEquip.parentId
            this.queryParam.equipmentId = this.queryParamEquip.equipmentId
          } else {
            this.queryParam.parentId = this.queryParamPeople.parentId
            this.queryParam.equipmentId = ''
          }
          this.queryParam.pageNo = 1
          this.loadData()
        if (this.queryParam.typeTree == '1') {
          this.queryParam.parentId = this.queryParamEquip.parentId
          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
        } else {
          // this.$message.warning("请选择时间")
          this.$notification.warning({
            message: '消息',
            description: '请选择时间'
          })
          this.queryParam.parentId = this.queryParamPeople.parentId
          this.queryParam.equipmentId = ''
        }
        // this.onClearSelected()
        this.queryParam.pageNo = 1
        this.loadData()
      },
      searchReset() {
@@ -328,112 +342,56 @@
        return (
          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
        )
      },
      /**
       * 当浏览器可视窗口尺寸发生改变时触发
       */
      handleWindowResize(){
        const boxHeight = +window.getComputedStyle(document.getElementById('EfficiencyShift')).height.slice(0,-2)
        const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0,-2)
        this.scrollY = boxHeight - tableHeadHeight
      }
    }
  }
</script>
<style scoped>
  .table2 {
    width: 100%;
    height: 100%;
    overflow: auto;
  }
  .pagination {
    display: flex;
    justify-content: end;
    margin: 20px 0;
  }
  @media screen and (min-width: 1920px) {
    #EfficiencyShift {
      height: 670px !important;
      overflow: scroll;
  .device_list{
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  @media screen and (min-width: 1920px){
    .device_list{
      height: 811px!important;
    }
  }
  @media screen and (min-width: 1680px) and (max-width: 1920px) {
    #EfficiencyShift {
      height: 670px !important;
      overflow: scroll;
  @media screen and (min-width: 1680px) and (max-width: 1920px){
    .device_list{
      height: 811px!important;
    }
  }
  @media screen and (min-width: 1400px) and (max-width: 1680px) {
    #EfficiencyShift {
      height: 522px !important;
      overflow: scroll;
  @media screen and (min-width: 1400px) and (max-width: 1680px){
    .device_list{
      height: 663px!important;
    }
  }
  @media screen and (min-width: 1280px) and (max-width: 1400px) {
    #EfficiencyShift {
      height: 414px !important;
      overflow: scroll;
  @media screen and (min-width: 1280px) and (max-width: 1400px){
    .device_list{
      height: 564px!important;
    }
  }
  @media screen and (max-width: 1280px) {
    #EfficiencyShift {
      height: 414px !important;
      overflow: scroll;
  @media screen and (max-width: 1280px){
    .device_list{
      height: 564px!important;
    }
  }
  .identifyingclass {
    width: 55px;
    height: 15px;
    display: inline-block
  }
  .dataContent {
    white-space: nowrap;
    /*margin: 0;*/
    /*border: none;*/
    border-collapse: separate;
    border-spacing: 0;
    /*table-layout: fixed;*/
    border: 1px solid #ccc;
    /*border: 1px solid #ccc;*/
    width: 100%;
    /*height: 100%;*/
    /*overflow: hidden;*/
    /*overflow-y: auto;*/
    text-align: center;
  }
  .dataContent .fixed th {
    width: 50px;
  }
  .dataContent .thead th {
    background-color: #fafafa;
    text-align: center;
    height: 30px;
    padding: 5px;
  }
  .dataContent .notfixed th {
    width: auto;
  }
  /*.dataContent tr td {*/
  /*height: 35px*/
  /*}*/
  .dataContent .mathData td {
    padding: 10px;
    /*display: none;*/
  }
  .dataContent .mathData .td {
    /*background-color: #ff9bd2;*/
    display: inline-block;
    padding: 10px;
  }
  .dataContent .mathData .tdd {
    /*display: none;*/
  }
</style>