zhangherong
2025-06-02 c82ac973f3ebf35a9c595259706090cf73610283
src/views/eam/repair/EamRepairOrderList.vue
@@ -17,8 +17,8 @@
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="单据状态">
              <a-select placeholder="请选择单据状态" v-model="queryParam.repairStatus" allow-clear>
            <a-form-item label="维修状态">
              <a-select placeholder="请选择维修状态" v-model="queryParam.repairStatus" allow-clear>
                <a-select-option v-for="item in report_repair_status_list" :key="item.value">{{ item.label }}
                </a-select-option>
              </a-select>
@@ -44,8 +44,8 @@
    <!-- 操作按钮区域 -->
    <div class="table-operator" v-if="isDisplayOperation">
      <a-button @click="handleOpenReceiveFaultModal" type="primary" icon="plus">领取</a-button>
      <a-button type="primary" icon="download" @click="handleExportXls('维修工单')">导出</a-button>
      <a-button @click="handleOpenReceiveFaultModal" type="primary" icon="plus" v-if="isShowAuth('eam:repair:collect')">领取</a-button>
      <!--<a-button type="primary" icon="download" @click="handleExportXls('维修工单')">导出</a-button>-->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel">
@@ -80,11 +80,17 @@
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange"
        :scroll="{x:'max-content'}"
      />
      >
        <span slot="action" slot-scope="text, record">
          <a @click="handleDetail(record)">详情</a>
        </span>
      </a-table>
    </div>
    <!-- table区域-end -->
    <receive-fault-modal ref="receiveFaultModalRef" @ok="loadData"/>
    <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectRepairOrderData"/>
  </a-card>
</template>
@@ -94,18 +100,20 @@
  import ReceiveFaultModal from './modules/EamRepairOrderList/ReceiveFaultModal'
  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
  import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
  import RepairOrderApprovalModal from '../../flowable/workflow/repairOrder/RepairOrderApprovalModal'
  export default {
    name: 'EamRepairOrderList',
    mixins: [JeecgListMixin],
    components: {
      RepairOrderApprovalModal,
      LxSearchEquipmentSelect,
      ReceiveFaultModal
    },
    props:{
      isDisplayOperation:{
        type:Boolean,
        default:true
    props: {
      isDisplayOperation: {
        type: Boolean,
        default: true
      }
    },
    data() {
@@ -115,102 +123,69 @@
        // 表头
        columns: [
          {
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
            },
          },
          {
            title: '工单编号',
            align: 'center',
            dataIndex: 'repairCode',
            width: 200,
            fixed: 'left'
          },
          // {
          //   title: '报修编号',
          //   align: 'center',
          //   dataIndex: 'reportId',
          //   width: 200,
          //   fixed: 'left'
          // },
          {
            title: '设备编号',
            align: 'center',
            dataIndex: 'equipmentId_dictText',
            width: 200,
            fixed: 'left'
            dataIndex: 'equipmentCode',
          },
          {
            title: '状态',
            title: '设备名称',
            align: 'center',
            dataIndex: 'equipmentName',
          },
          {
            title: '安装位置',
            align: 'center',
            dataIndex: 'installationPosition',
          },
          {
            title: '维修状态',
            align: 'center',
            dataIndex: 'repairStatus_dictText',
            fixed: 'left',
            width: 100
          },
          {
            title: '维修负责人',
            align: 'center',
            dataIndex: 'repairer',
            width: 100
          },
          {
            title: '维修开始时间',
            align: 'center',
            dataIndex: 'actualStartTime',
            width: 200
          },
          {
            title: '维修结束时间',
            align: 'center',
            dataIndex: 'actualEndTime',
            width: 200
          },
          {
            title: '故障原因',
            align: 'center',
            dataIndex: 'faultReason',
            width: 150
            dataIndex: 'faultReason'
          },
          {
            title: '维修结果描述',
            align: 'center',
            dataIndex: 'repairDescription',
            dataIndex: 'repairDescription'
            // width: 300
          },
          {
            title: '维修图片',
            align: 'center',
            dataIndex: 'imageFiles',
            width: 100
          },
          // {
          //   title: '是否委外',
          //   align: 'center',
          //   dataIndex: 'outsourcedFlag',
          //   width: 100
          // },
          // {
          //   title: '委外维修描述',
          //   align: 'center',
          //   dataIndex: 'outsourcedRepairDecription',
          //   width: 300
          // },
          // {
          //   title: '委外维修开始时间',
          //   align: 'center',
          //   dataIndex: 'outsourcedStartTime',
          //   width: 200
          // },
          // {
          //   title: '委外维修结束时间',
          //   align: 'center',
          //   dataIndex: 'outsourcedEndTime',
          //   width: 200
          // },
          // {
          //   title: '委外负责人',
          //   align: 'center',
          //   dataIndex: 'outsourcedPerson',
          //   width: 100
          // },
          }
        ],
        report_repair_status_list: [],
        selectRepairOrderData: {},
        url: {
          list: '/eam/eamRepairOrder/list',
          delete: '/eam/eamRepairOrder/delete',
@@ -229,13 +204,15 @@
        return
      }
      this.initDictData('report_repair_status')
      // const operationColumn = {
      //   title: '操作',
      //   dataIndex: 'action',
      //   align: 'center',
      //   scopedSlots: { customRender: 'action' }
      // }
      // this.columns = [...this.columns, operationColumn]
      const operationColumn = {
        title: '操作',
        dataIndex: 'action',
        align: 'center',
        width: 100,
        fixed: 'right',
        scopedSlots: { customRender: 'action' }
      }
      this.columns = [...this.columns, operationColumn]
      this.loadData(1)
    },
    methods: {
@@ -262,6 +239,19 @@
      handleOpenReceiveFaultModal() {
        this.$refs.receiveFaultModalRef.visible = true
      },
      /**
       * 点击详情触发
       * @param record 表格行信息
       */
      handleDetail(record) {
        this.selectRepairOrderData = Object.assign({}, record)
        this.$refs.repairOrderApprovalModal.visible = true
        this.$refs.repairOrderApprovalModal.title = '详情'
        this.$refs.repairOrderApprovalModal.disableSubmit = true
        this.$refs.repairOrderApprovalModal.getAllApproveData(record)
        this.$refs.repairOrderApprovalModal.getBasicInformation({ ...record, dataId: record.id })
      }
    }
  }
</script>