qushaowei
2025-05-30 25fee48ceca7a54bc6008eb2e2fb6d8ea801a50e
src/views/eam/RepairOrderList.vue
@@ -1,6 +1,6 @@
<template>
  <a-card
    title="维修"
    title=""
    :bordered="false"
  >
    <div class="table-page-search-wrapper">
@@ -162,25 +162,70 @@
            </a-form-item>
          </a-col>
        </a-row>
        <!-- <a-row :gutter="24">
            <a-col
        <a-row :gutter="24">
          <a-col
            :xl="6"
            :lg="7"
              :md="8"
              :sm="24">
            <a-form-item
              label="工区"
            >
            :md="8"
            :sm="24"
          >
            <a-form-item label="ABC标识">
              <j-dict-select-tag
                allow-clear
                placeholder="请选择工区"
                placeholder="请选择ABC标识"
                :triggerChange="true"
                dictCode="mom_base_area,name,id,del_flag!='1'"
                v-model="queryParam.factoryModelId"
                dictCode="ABC-standard-result"
                v-model="queryParam.equipmentImportanceId"
              />
            </a-form-item>
          </a-col>
          </a-row> -->
          <a-col
            :xl="6"
            :lg="7"
            :md="8"
            :sm="24"
          >
            <a-form-item label="故障原因">
              <j-dict-select-tag
                allow-clear
                placeholder="请选择故障原因"
                :triggerChange="true"
                dictCode="repair_order_fault_cause"
                v-model="queryParam.faultCause"
              />
            </a-form-item>
          </a-col>
          <a-col
            :xl="6"
            :lg="7"
            :md="8"
            :sm="24"
          >
            <a-form-item label="报修时间">
              <a-range-picker
                style="width: 100%;"
                format="YYYY-MM-DD HH:mm:ss"
                v-model="faultTime"
                @change="timeChange"
              />
            </a-form-item>
          </a-col>
          <a-col
            :xl="6"
            :lg="7"
            :md="8"
            :sm="24"
          >
            <a-form-item label="创建时间">
              <a-range-picker
                style="width: 100%;"
                format="YYYY-MM-DD HH:mm:ss"
                v-model="createTimes"
                @change="timeChangeCreate"
              />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 操作按钮区域 -->
@@ -216,6 +261,11 @@
        @click="searchReset"
        icon="reload"
      >重置</a-button>
      <a-button
        type="primary"
        icon="download"
        @click="handleExportXls('维修履历')"
      >导出</a-button>
      <a-button
        hidden
        type="primary"
@@ -383,6 +433,44 @@
          </a-dropdown>
        </span>
        <template
          slot="equipmentNum"
          slot-scope="text, record"
        >
          <a-popover title="故障原因统计">
            <template slot="content">
              <p
                v-for="(faultCauseMap, index) in record.equipmentFaultCause"
                :key="index"
              >
                <span class="fontweight">{{ faultCauseMap.faultCause }}:{{ faultCauseMap.total }}</span>
              </p>
            </template>
            <span>
              {{ record.equipmentNum }}
            </span>
          </a-popover>
        </template>
        <template
          slot="faultCauseCount"
          slot-scope="text, record"
        >
          <a-popover title="故障原因统计">
            <template slot="content">
              <p
                v-for="(faultCauseMap, index) in record.allFaultCause"
                :key="index"
              >
                <span class="fontweight">{{ faultCauseMap.faultCause }}:{{ faultCauseMap.total }}</span>
              </p>
            </template>
            <span>
              {{ record.faultCauseCount }}
            </span>
          </a-popover>
        </template>
      </a-table>
    </div>
@@ -508,6 +596,7 @@
import FaultReportRepair from './modules/repairorder/moudles/select/FaultReportRepair.vue'
import store from '@/store'
import dayjs from 'dayjs'
import moment from 'moment'
export default {
  name: "RepairOrderList",
  mixins: [JeecgListMixin],
@@ -536,6 +625,8 @@
    return {
      description: '维修工单管理页面',
      // 表头
      faultTime: [],
      createTimes: [],
      columns: [
        {
          title: '#',
@@ -553,6 +644,11 @@
          dataIndex: 'specificEquipment',
          width: 90,
          scopedSlots: { customRender: 'specificEquipment' }
        },
        {
          title: 'ABC标识',
          align: "center",
          dataIndex: 'equipmentImportanceId',
        },
        {
          title: '状态',
@@ -581,7 +677,8 @@
        {
          title: '统一编码',
          align: "center",
          dataIndex: 'equipmentNum'
          dataIndex: 'equipmentNum',
          scopedSlots: { customRender: 'equipmentNum' }
        },
        {
          title: '设备名称',
@@ -641,11 +738,11 @@
          align: "center",
          dataIndex: 'faultTime'
        },
        {
          title: '报修人',
          align: "center",
          dataIndex: 'errUda2'
        },
        // {
        //   title: '报修人',
        //   align: "center",
        //   dataIndex: 'errUda2',
        // },
        {
          title: '故障描述',
          align: "center",
@@ -654,11 +751,12 @@
            customRender: 'jell'
          }
        },
        // {
        //   title: '故障原因',
        //   align: "center",
        //   dataIndex: 'faultReason'
        // },
        {
          title: '故障原因',
          align: "center",
          dataIndex: 'faultCauseCount',
          scopedSlots: { customRender: 'faultCauseCount' }
        },
        // {
        //   title: '故障现象',
        //   align: "center",
@@ -800,8 +898,14 @@
  },
  methods: {
    timeChange() {
      this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss")
      this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss")
    },
    timeChangeCreate() {
      this.queryParam.createStartTime = moment(this.createTimes[0]).format("YYYY-MM-DD HH:mm:ss")
      this.queryParam.createEndTime = moment(this.createTimes[1]).format("YYYY-MM-DD HH:mm:ss")
    },
    clickThenSelect(record) {
      return {
        on: {
@@ -952,6 +1056,12 @@
      this.$refs.repairOrderExcuteDrawer.visible = true
      this.$refs.repairOrderExcuteDrawer.title = '维修工单执行'
    },
    handleDetail(record) {
      this.excuteRepairOrder = record;
      this.excuteRepairOrder.status = '4';
      this.$refs.repairOrderExcuteDrawer.visible = true
      this.$refs.repairOrderExcuteDrawer.title = '维修详情'
    },
    searchQuery() {
      this.loadData(1)
@@ -966,6 +1076,8 @@
      this.loadData(1)
      this.onClearSelected()
      this.$refs.FaultDescriptionList.faultId = '-1'
      this.faultTime = []
      this.createTimes = []
    },
    getReports() {
      this.$refs.FaultReportRepair.title = '故障报修单';