qushaowei
2024-03-14 e055d2d93b516985fbc2df0f6f5a135f3230cccf
src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -6,7 +6,7 @@
        <div class="table-page-search-wrapper">
        <a-form layout="inline" @keyup.enter.native="searchQuery">
          <a-row :gutter="24">
            <a-col :md="4" :sm="4" >
            <a-col :md="5" :sm="5" >
              <a-form-item label="设备类型">
                <a-select placeholder="请选择设备类型" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
                  <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
@@ -15,9 +15,19 @@
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="5" :sm="5">
              <a-form-item label="驱动类型">
                <a-auto-complete
                  v-model="queryParam.driveType"
                  :data-source="driveTypeList"
                  placeholder="请选择驱动类型"
                  :filter-option="filterOption"
                />
              </a-form-item>
            </a-col>
            <a-col :md="5" :sm="5" :xs="5">
              <a-form-item label="时间">
                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/>
                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/>
              </a-form-item>
            </a-col>
            <a-col :md="4" :sm="4" :xs="4">
@@ -39,18 +49,25 @@
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="7" :sm="7" :xs="7">
              <a-space>
                <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-space>
            </a-col>
            <!--<a-col :md="7" :sm="7" :xs="7">-->
              <!--<a-space>-->
                <!--<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-space>-->
            <!--</a-col>-->
          </a-row>
          <a-row :gutter="24">
            <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between">
              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                @change="efficiencyOptionsOnChange"/>
          <a-row :gutter="24" type="flex" align="middle">
            <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between;align-items: flex-start">
              <div>
                <a-space style="margin-right: 20px">
                  <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-space>
                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                  @change="efficiencyOptionsOnChange"/>
              </div>
              <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
                <tr>
                  <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -184,6 +201,8 @@
  import $ from 'jquery'
  import '@/components/table2excel/table2excel'
  import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
  import api from '@/api/mdc'
  export default {
    name: 'EfficiencyShiftList',
    components: {},
@@ -196,6 +215,7 @@
        allowClearSu:true,
        dates: [],
        selectList:[],
        driveTypeList:[],
        identifying: [],
        queryParam: {},
        queryParamEquip:{},
@@ -237,6 +257,7 @@
      this.queryParam.typeTree = "1"
      this.loadData();
      this.queryGroup()
      this.getDriveTypeByApi()
    },
    watch: {
      Type(valmath){
@@ -455,7 +476,7 @@
        this.queryParam.startTime = v2[0]
        this.queryParam.endTime = v2[1]
        // 点击时间选择器的清空按钮时会触发此判断(点击重置按钮不会触发),实现重置列表功能,切实改变列表显示效果
        if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
        // if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
      },
      efficiencyOptionsOnChange(checkedList) {
        let index = checkedList.indexOf('lyl')
@@ -470,22 +491,14 @@
        this.checkedList = checkedList
      },
      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.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.loadData()
        // this.onClearSelected()
      },
      searchReset() {
@@ -493,7 +506,9 @@
        this.typeParent =  this.queryParam.parentId
        this.typeEquipment = this.queryParam.equipmentId
        this.queryParam = {}
        this.dates = []
        this.dates = [moment().subtract('days', 7), moment().subtract('days', 1)]
        this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
        this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
        this.queryParam.typeTree = this.typeTree
        this.queryParam.parentId = this.typeParent
        this.queryParam.equipmentId =  this.typeEquipment
@@ -508,6 +523,12 @@
          if (res.success) {
            this.tableHeads = res.result.dates
            this.dataList = res.result.mdcEfficiencyList
            if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) {
              this.$notification.info({
                message: '消息',
                description: '暂无该设备类型数据'
              })
            }
            this.checkSameData(this.dataList)
            this.checkSameData1(this.dataList)
            this.checkSameData2(this.dataList)
@@ -535,7 +556,28 @@
        }).finally(() => {
          this.loading = false
        })
      }
      },
      /**
       * 调用接口获取控制系统类型
       */
      getDriveTypeByApi(){
        api.getDriveTypeApi().then((res)=>{
          this.driveTypeList=res.result.map(item=>item.value)
        })
      },
      /**
       * 联想输入框筛选功能
       * @param input 输入的内容
       * @param option 配置
       * @returns {boolean} 判断是否筛选
       */
      filterOption(input, option) {
        return (
          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
        );
      },
    }
  }
</script>