src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -39,26 +39,12 @@
            </a-col>
            <a-col :md="6" :sm="6">
              <a-form-item label="时间">
                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"
                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate"
                                @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange"
                                format="YYYYMMDD" v-model="dates"
                                :allowClear="false"/>
              </a-form-item>
            </a-col>
<!--            <a-col :md="5" :sm="5" :xs="5">-->
<!--              <a-form-item label="设备种类">-->
<!--                <a-select-->
<!--                  :value="queryParams.deviceCategory"-->
<!--                  mode="multiple"-->
<!--                  placeholder="请选择设备种类"-->
<!--                  allow-clear-->
<!--                  :maxTagCount="1"-->
<!--                  @change="selectChange($event,'deviceCategory')"-->
<!--                >-->
<!--                  <a-select-option v-for="(item,index) in device_category_list" :value="item.value" :key="index">-->
<!--                    {{item.label}}-->
<!--                  </a-select-option>-->
<!--                </a-select>-->
<!--              </a-form-item>-->
<!--            </a-col>-->
            <a-col :md="5" :sm="5" :xs="5">
              <a-form-item label="设备级别">
                <a-select
@@ -92,12 +78,9 @@
            <a-col :md="5" :sm="5" :xs="5">
              <a-form-item label="重要程度">
                <a-select
                  :value="queryParams.deviceImportanceLevel"
                  mode="multiple"
                  v-model="queryParam.deviceImportanceLevel"
                  placeholder="请选择设备重要程度"
                  allow-clear
                  :maxTagCount="1"
                  @change="selectChange($event,'deviceImportanceLevel')"
                >
                  <a-select-option v-for="(item,index) in device_importance_level_list" :value="item.value"
                                   :key="index">
@@ -116,12 +99,14 @@
                  <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" @click="handleShowFeedbackModal" icon="plus" v-has="'EfficiencyPO:feedback'">
                    异常反馈
                  </a-button>
                  <a-button type="primary" icon="printer" v-print="'#EfficiencyPO'"
                            v-has="'EfficiencyPO:print'">打印
                  </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>
@@ -133,6 +118,13 @@
                  </td>
                </tr>
              </table>
            </a-col>
          </a-row>
          <a-row :gutter="24">
            <a-col>
              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                @change="efficiencyOptionsOnChange"/>
            </a-col>
          </a-row>
        </a-form>
@@ -233,6 +225,8 @@
        </div>
      </a-spin>
    </div>
    <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/>
  </div>
</template>
@@ -243,10 +237,11 @@
  import '@/components/table2excel/table2excel'
  import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
  import api from '@/api/mdc'
  import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal'
  export default {
    name: 'EfficiencyPOList',
    components: {},
    components: { MdcMessageApprovalModal },
    data() {
      return {
        typeTree: '',
@@ -256,14 +251,12 @@
        equipmentTypeList: [],
        driveTypeList: [],
        device_level_list: [],
        device_category_list: [],
        device_importance_level_list: [],
        queryParam: {},
        queryParams: {
          equipmentType: [],
          driveType: [],
          deviceLevel: [],
          deviceCategory: [],
          deviceImportanceLevel: []
          deviceLevel: []
        },
        queryParamEquip: {},
        queryParamPeople: {},
@@ -285,7 +278,9 @@
        },
        tableHeads: [],
        spinning: false,
        toggleSearchStatus: false
        toggleSearchStatus: false,
        modalVisible: false,// 异常反馈弹窗是否弹出
        preSelectFirstDate: null
      }
    },
    props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -441,7 +436,6 @@
      },
      // 合并
      combineCell() {
        console.log(this.dataList)
        let list = this.dataList
        for (let field in list[0]) {
          var k = 0
@@ -463,10 +457,37 @@
        }
        return list
      },
      disabledDate(current) {
        //Can not slect days before today and today
        return current && current > moment().subtract('days', 1)
      /**
       * 时间选择器面板上的值发生改变时触发
       * @param dates 面板上的两个值组成的数组
       */
      handleCalendarChange(dates) {
        if (dates.length === 1) this.preSelectFirstDate = dates[0]
      },
      /**
       * 控制时间选择器面板开启与关闭
       * @param status 开启状态
       */
      handleCalendarOpenChange(status) {
        if (status) this.preSelectFirstDate = null
      },
      /**
       * 面板上禁止选择的日期
       * @param current 禁止的时间范围
       */
      disabledDate(current) {
        if (!this.preSelectFirstDate) {
          return current > moment().startOf('days')
        } else {
          return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days')
            || current > moment().startOf('days')
            || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days')
        }
      },
      initDeviceType(deviceList) {
        let dictCode = 'mdc_equipmentType'
        let items = []
@@ -515,19 +536,8 @@
      dateParamChange(v1, v2) {
        this.queryParam.startTime = v2[0]
        this.queryParam.endTime = v2[1]
        // 点击时间选择器的清空按钮时会触发此判断(点击重置按钮不会触发),实现重置列表功能,切实改变列表显示效果
        if (!this.queryParam.startTime && !this.queryParam.endTime) this.searchReset()
      },
      efficiencyOptionsOnChange(checkedList) {
        // let index = checkedList.indexOf('lyl')
        // if (index < 0) {
        //   // this.$message.warn('不能取消查询利用率')
        //   this.$notification.warning({
        //     message:'消息',
        //     description:"不能取消查询利用率"
        //   })
        //   return false
        // }
        this.checkedList = checkedList
      },
      searchQuery() {
@@ -539,9 +549,11 @@
          this.queryParam.equipmentId = ''
        }
        Object.keys(this.queryParams).forEach(item => {
          this.queryParam[item] = this.queryParams[item].join()
          // 此处为保证接口参数不多余,可省略
          if (this.queryParams[item].length === 0) delete this.queryParam[item]
          if (Array.isArray(this.queryParams[item])) {
            this.queryParam[item] = this.queryParams[item].join()
            // 此处为保证接口参数不多余,可省略
            if (this.queryParams[item].length === 0) delete this.queryParam[item]
          }
        })
        this.loadData()
      },
@@ -560,8 +572,7 @@
        this.queryParams = {
          equipmentType: [],
          driveType: [],
          deviceLevel: [],
          deviceCategory: []
          deviceLevel: []
        }
        this.loadData()
      },
@@ -571,7 +582,6 @@
        this.dataList = []
        getAction(this.url.list, this.queryParam).then(res => {
          if (res.success) {
            // console.log(res.result)
            this.tableHeads = res.result.dates
            this.dataList = res.result.mdcEfficiencyList
            if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) {
@@ -590,6 +600,13 @@
          this.spinning = false
        })
      },
      // 控制异常反馈弹窗弹出
      handleShowFeedbackModal() {
        this.$refs.modalForm.formParams = {}
        this.modalVisible = true
      },
      queryGroup() {
        getAction(this.url.queryEquipmentType).then(res => {
          if (res.success) {