From 80a8050560fdd4cc18aee57c3ed176a9019dec2a Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期一, 21 七月 2025 21:33:25 +0800
Subject: [PATCH] 1、维修工单与故障报修开发

---
 src/views/eam/base/EamMaintenanceStandardList.vue |  112 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 65 insertions(+), 47 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index 9bd2117..e1e7223 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -44,29 +44,31 @@
 
       <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
       <div class="table-operator">
-        <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+        <a-button v-has="'standard:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
         <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
                   :action="inspectionImportExcel"
                   @change="handleImportExcel">
-          <a-button type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button>
+          <a-button v-has="'standard:pointInspection'" type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">
+        <a-button v-has="'standard:pointInspectionDownload'" type="primary" icon="download"
+                  @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">
           鐐规鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
                   :action="secondMaintenanceImportExcel"
                   @change="handleImportExcel">
-          <a-button type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button>
+          <a-button v-has="'standard:secondMaintenance'" type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button type="primary" icon="download"
+        <a-button v-has="'standard:secondMaintenanceDownload'" type="primary" icon="download"
                   @click="handleTemplateXlsDownload(url.secondMaintenanceXlsDownloadUrl)">浜屼繚鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
                   :action="thirdMaintenanceImportExcel"
                   @change="handleImportExcel">
-          <a-button type="primary" icon="import">涓変繚鏍囧噯瀵煎叆</a-button>
+          <a-button v-has="'standard:ThirdMaintenance'" type="primary" icon="import">涓変繚鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)">
+        <a-button v-has="'standard:ThirdMaintenanceDownload'" type="primary" icon="download"
+                  @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)">
           涓変繚鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-dropdown v-if="selectedRowKeys.length > 0">
@@ -90,49 +92,68 @@
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        :customRow='clickThenSelect'
-        @change="handleTableChange">
+      <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
+               :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :customRow='clickThenSelect'
+               @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
-          <a v-if="record.standardStatus === 'START'" @click.stop="handleUpgrade(record)">鍗囩増</a>
+          <a v-has="'standard:upgrade'" v-if="record.standardStatus === 'START'"
+             @click.stop="handleUpgrade(record)">鍗囩増</a>
 
           <template v-if="record.standardStatus === 'WAIT_SUBMIT'">
-              <a @click.stop="handleEdit(record)">缂栬緫</a>
+              <a v-has="'standard:edit'" @click.stop="handleEdit(record)">缂栬緫</a>
 
-              <a-divider type="vertical"/>
+              <a-divider v-has="'standard:edit'" type="vertical"/>
 
-              <a-popconfirm title="纭畾鍙戣捣娴佺▼鍚�?" @confirm="() => startProcess(record.id)">
-                  <a @click.stop="event=>event.stopPropagation()">鍙戣捣娴佺▼</a>
+              <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => startProcess(record.id)">
+                  <a v-has="'standard:saveFlow'" @click.stop="event=>event.stopPropagation()">鎻愪氦</a>
               </a-popconfirm>
 
 
-              <a-divider type="vertical"/>
+              <a-divider v-has="'standard:saveFlow'" type="vertical"/>
 
               <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
+                  <a v-has="'standard:del'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
               </a-popconfirm>
+          </template>
+
+          <template v-if="record.standardStatus != 'WAIT_SUBMIT'">
+            <a-divider v-has="'standard:delete'" type="vertical" v-if="record.standardStatus=='START'"/>
+
+          <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+            <a v-has="'standard:delete'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
+          </a-popconfirm>
           </template>
         </span>
       </a-table>
 
-      <a-tabs defaultActiveKey="1">
-        <a-tab-pane tab='淇濆吇鏍囧噯鏄庣粏椤�' key="1">
-          <div class="table-operator" style="margin:-16px">
-            <eam-maintenance-standard-detail-list ref="standardDetailRef" :standardId="standardId"
-                                                  :pageSelectionRow="selectionRows[0]"/>
-          </div>
-        </a-tab-pane>
+      <a-tabs defaultActiveKey="1" v-if="selectionRows.length===1">
+        <template v-if="selectionRows[0]&&selectionRows[0].maintenanceCategory=='POINT_INSPECTION'">
+          <a-tab-pane tab="鏃ョ偣妫�" key="1">
+            <eam-maintenance-standard-detail-list :standardId="standardId" :pageSelectionRow="selectionRows[0]"
+                                                  filterKey="DAY_INSPECTION"/>
+          </a-tab-pane>
+          <a-tab-pane tab="鍛ㄧ偣妫�" key="2" forceRender>
+            <eam-maintenance-standard-detail-list :standardId="standardId" :pageSelectionRow="selectionRows[0]"
+                                                  filterKey="WEEK_INSPECTION"/>
+          </a-tab-pane>
+        </template>
 
+        <template v-if="selectionRows[0]&&selectionRows[0].maintenanceCategory=='SECOND_MAINTENANCE'">
+          <a-tab-pane tab="鎿嶄綔宸�" key="1">
+            <eam-maintenance-standard-detail-list :standardId="standardId" :pageSelectionRow="selectionRows[0]"
+                                                  filterKey="OPERATOR_MAINTENANCE"/>
+          </a-tab-pane>
+          <a-tab-pane tab="缁翠慨宸�" key="2" forceRender>
+            <eam-maintenance-standard-detail-list :standardId="standardId" :pageSelectionRow="selectionRows[0]"
+                                                  filterKey="REPAIRER_MAINTENANCE"/>
+          </a-tab-pane>
+        </template>
+
+        <a-tab-pane tab="涓変繚" key="1" v-if="selectionRows[0]&&selectionRows[0].maintenanceCategory=='THIRD_MAINTENANCE'">
+          <eam-maintenance-standard-detail-list :standardId="standardId"
+                                                :pageSelectionRow="selectionRows[0]"/>
+        </a-tab-pane>
       </a-tabs>
     </div>
     <!-- table鍖哄煙-end -->
@@ -239,14 +260,12 @@
           deleteBatch: '/eam/maintenanceStandard/deleteBatch',
           startProcess: '/eam/maintenanceStandard/saveEamMaintenanceStandardProcess',
           exportXlsUrl: 'eam/maintenanceStandard/exportXls',
-          inspectionImportExcel: 'eam/maintenanceStandard/inspectionImportExcel',
-          weekMaintenanceImportExcel: 'eam/maintenanceStandard/weekMaintenanceImportExcel',
-          secondMaintenanceImportExcel: 'eam/maintenanceStandard/secondMaintenanceImportExcel',
-          thirdMaintenanceImportExcel: 'eam/maintenanceStandard/thirdMaintenanceImportExcel',
-          inspectionXlsDownloadUrl: '瀵煎叆妯℃澘/鐐规鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx',
-          weekMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/鍛ㄤ繚鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx',
-          secondMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/浜屼繚鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx',
-          thirdMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/涓変繚鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx'
+          inspectionImportExcel: '/eam/maintenanceStandard/importPointInspection',
+          secondMaintenanceImportExcel: '/eam/maintenanceStandard/importSecondMaintenanceStandard',
+          thirdMaintenanceImportExcel: '/eam/maintenanceStandard/importThirdMaintenanceStandard',
+          inspectionXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鐐规鏍囧噯瀵煎叆妯℃澘.xlsx',
+          secondMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/鐢熶骇璁惧浜岀骇淇濆吇瑙勮寖.docx',
+          thirdMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/鐢熶骇璁惧涓夌骇淇濆吇瑙勮寖.docx'
         },
         standardId: '-1'
       }
@@ -254,9 +273,6 @@
     computed: {
       inspectionImportExcel: function() {
         return `${window._CONFIG['domianURL']}/${this.url.inspectionImportExcel}`
-      },
-      weekMaintenanceImportExcel: function() {
-        return `${window._CONFIG['domianURL']}/${this.url.weekMaintenanceImportExcel}`
       },
       secondMaintenanceImportExcel: function() {
         return `${window._CONFIG['domianURL']}/${this.url.secondMaintenanceImportExcel}`
@@ -273,7 +289,9 @@
         title: '鎿嶄綔',
         dataIndex: 'action',
         align: 'center',
-        scopedSlots: { customRender: 'action' }
+        scopedSlots: { customRender: 'action' },
+        width: 200,
+        fixed: 'right'
       }
       this.columns = [...this.columns, operationColumn]
       this.loadData(1)
@@ -357,7 +375,7 @@
           content: '鏄惁鍒犻櫎閫変腑鏁版嵁锛屽彧鏈夊緟鎻愪氦鐘舵�佺殑鏁版嵁鎵嶅彲鍒犻櫎鎴愬姛?',
           onOk: function() {
             that.loading = true
-            getAction(that.url.deleteBatch, { ids })
+            deleteAction(that.url.deleteBatch, { ids })
               .then((res) => {
                 if (res.success) {
                   that.$notification.success({

--
Gitblit v1.9.3