qushaowei
2024-03-14 e055d2d93b516985fbc2df0f6f5a135f3230cccf
src/views/mdc/base/modules/efficiencyReport/EfficiencyList.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">
@@ -16,19 +16,31 @@
                  </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="6" :sm="6">
                <a-form-item label="时间">
                  <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
                                  v-model="dates"/>
                                  v-model="dates" :allowClear="false"/>
                </a-form-item>
              </a-col>
              <a-col :md="14" :sm="14" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
                <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-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">打印</a-button>
                </a-space>
              <a-col :md="8" :sm="8"
                     style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
                <!--<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-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">打印-->
                  <!--</a-button>-->
                <!--</a-space>-->
                <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">
                  <tr>
                    <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -43,8 +55,17 @@
                </table>
              </a-col>
            </a-row>
            <a-row :gutter="24">
              <a-col :md="15" :sm="15">
            <a-row :gutter="24" type="flex" align="middle">
              <a-col :md="6" :sm="6">
                <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-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">打印
                  </a-button>
                </a-space>
              </a-col>
              <a-col :md="18" :sm="18">
                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                  @change="efficiencyOptionsOnChange"/>
              </a-col>
@@ -123,7 +144,9 @@
                    </div>
                  </td>
                  <td class="tdgu3  kaitou">{{item.equipmentId}}</td>
                  <td class="tdgu4 kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">{{item.equipmentName}}</td>
                  <td class="tdgu4 kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">
                    {{item.equipmentName}}
                  </td>
                  <td class="tdgu5 kaitou">{{item.equipmentType}}</td>
                </template>
@@ -169,6 +192,7 @@
  import $ from 'jquery'
  import '@/components/table2excel/table2excel'
  import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
  import api from '@/api/mdc'
  export default {
    name: 'EfficiencyList',
@@ -183,6 +207,7 @@
        deviceTypeDict: '',
        dates: [],
        selectList: [],
        driveTypeList:[],
        identifying: [],
        queryParam: {},
        queryParams: {},
@@ -223,6 +248,7 @@
      this.queryParam.typeTree = '1'
      this.loadData()
      this.queryGroup()
      this.getDriveTypeByApi()
    },
    watch: {
      Type(valmath) {
@@ -480,10 +506,12 @@
        this.typeParent = this.queryParam.parentId
        this.typeEquipment = this.queryParam.equipmentId
        this.queryParam = {}
        this.dates = []
        this.queryParam.typeTree = this.typeTree
        this.queryParam.parentId = this.typeParent
        this.queryParam.equipmentId = this.typeEquipment
        this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
        this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
        this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
        // this.ipagination.current = 1
        this.loadData()
        // this.queryParam = {}
@@ -499,6 +527,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.distinguishColorList = res.result.utilizationRateList
            this.checkSameData(this.dataList)
            this.checkSameData1(this.dataList)
@@ -529,6 +563,27 @@
          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>