zhangherong
2025-05-28 500324b1af1b752a982b8a5d9f03797240c2404c
src/views/eam/repair/EamReportRepairList.vue
@@ -58,15 +58,15 @@
    <!-- 操作按钮区域 -->
    <div class="table-operator" v-if="isDisplayOperation">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
      <a-button @click="handleAdd" type="primary" icon="plus" v-if="isShowAuth('eam:reportRepair:add')">新增</a-button>
      <!--<a-button type="primary" icon="download" @click="handleExportXls('故障报修')">导出</a-button>-->
      <!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
                <!--@change="handleImportExcel">-->
        <!--<a-button type="primary" icon="import">导入</a-button>-->
      <!--@change="handleImportExcel">-->
      <!--<a-button type="primary" icon="import">导入</a-button>-->
      <!--</a-upload>-->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel">
          <a-menu-item key="1" @click="batchDel" v-if="isShowAuth('eam:reportRepair:abolish')">
            <a-icon type="delete"/>
            作废
          </a-menu-item>
@@ -95,6 +95,7 @@
        :pagination="ipagination"
        :loading="loading"
        class="j-table-force-nowrap"
        :scroll="{ x: 'max-content' }"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:isDisplayOperation?'checkbox':'radio',getCheckboxProps:getCheckboxProps}"
        @change="handleTableChange">
@@ -103,11 +104,15 @@
        </template>
        <span slot="action" slot-scope="text, record" v-if="record.reportStatus=='WAIT_REPAIR'">
          <a @click="handleEdit(record)">编辑</a>
          <a @click="handleEdit(record)" v-if="isShowAuth('eam:reportRepair:edit')">编辑</a>
          <a-divider type="vertical"/>
          <a-divider type="vertical" v-if="isShowAuth('eam:reportRepair:edit')"/>
          <a-popconfirm title="确定作废吗?" @confirm="() => handleDelete(record.id)">
          <a @click="handleAssign(record)" v-if="isShowAuth('eam:reportRepair:assign')">指派</a>
          <a-divider type="vertical" v-if="isShowAuth('eam:reportRepair:assign')"/>
          <a-popconfirm title="确定作废吗?" @confirm="() => handleDelete(record.id)" v-if="isShowAuth('eam:reportRepair:abolish')">
            <a>作废</a>
          </a-popconfirm>
        </span>
@@ -121,6 +126,8 @@
                           @ok="modalFormOk"/>
    <!-- 图片预览弹窗 -->
    <images-preview-modal ref="imagesPreviewModalRef" :imageListUrl="currentImageListUrl"/>
    <!--指派报修弹窗-->
    <assign-repair-report-modal ref="assignRepairReportModalRef" @ok="modalFormOk"/>
  </a-card>
</template>
@@ -132,12 +139,14 @@
  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
  import ImagesPreviewModal from '@views/eam/repair/modules/ImagesPreviewModal.vue'
  import { getAction } from '@/api/manage'
  import AssignRepairReportModal from './modules/EamReportRepairList/AssignRepairReportModal'
  export default {
    name: 'EamReportRepairList',
    mixins: [JeecgListMixin],
    components: {
      AssignRepairReportModal,
      ImagesPreviewModal,
      LxSearchEquipmentSelect,
      EamReportRepairModal
@@ -165,13 +174,25 @@
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
            }
            },
            fixed: 'left',
          },
          {
            title: '设备编号',
            align: 'center',
            dataIndex: 'equipmentId_dictText',
            width: 200
            dataIndex: 'equipmentCode',
            fixed: 'left',
          },
          {
            title: '设备名称',
            align: 'center',
            dataIndex: 'equipmentName',
            fixed: 'left',
          },
          {
            title: '安装位置',
            align: 'center',
            dataIndex: 'installationPosition',
          },
          {
            title: '报修状态',
@@ -252,7 +273,8 @@
          dataIndex: 'action',
          align: 'center',
          scopedSlots: { customRender: 'action' },
          width: 150
          width: 200,
          fixed: 'right',
        }
        this.columns = [...this.columns, operationColumn]
        this.getFaultReasonListByApi()
@@ -307,6 +329,15 @@
        this.$refs.imagesPreviewModalRef.visible = true
      },
      /**
       * 指派报修单
       * @param record 表格行信息
       */
      handleAssign(record) {
        this.$refs.assignRepairReportModalRef.visible = true
        this.$refs.assignRepairReportModalRef.model = Object.assign({}, { id: record.id })
      },
      getCheckboxProps(record) {
        return {
          props: {