From 366d9edd9d846c99214ec06ed496b027258d3cb4 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 17 七月 2025 15:47:48 +0800
Subject: [PATCH] 二保批量领取作废  添加保养规范按钮权限

---
 src/views/eam/maintenance/EamInspectionOrderList.vue        |   16 ++--
 src/views/eam/base/modules/EamMaintenanceStandardModal.vue  |    2 
 src/views/eam/base/EamMaintenanceStandardList.vue           |   30 +++---
 src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue |  180 ++++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 200 insertions(+), 28 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index a41ed60..13e9c2a 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -44,29 +44,29 @@
 
       <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
       <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">
@@ -95,30 +95,30 @@
                :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 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 type="vertical" v-if="record.standardStatus=='START'"/>
+            <a-divider v-has="'standard:delete'" type="vertical" v-if="record.standardStatus=='START'"/>
 
           <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-            <a @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
+            <a v-has="'standard:delete'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
           </a-popconfirm>
           </template>
         </span>
diff --git a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
index 622596d..2504bf7 100644
--- a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
+++ b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
@@ -1,5 +1,5 @@
 <template>
-  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
+  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered
            @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
     <a-spin :spinning="spinning">
       <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue
index b6be1e7..4068d89 100644
--- a/src/views/eam/maintenance/EamInspectionOrderList.vue
+++ b/src/views/eam/maintenance/EamInspectionOrderList.vue
@@ -39,14 +39,14 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" v-if="isDisplayOperation">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button v-has="'eam:inspection:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchZf('ABOLISH')">
+          <a-menu-item key="1" @click="batchZf('ABOLISH')" v-has="'eam:inspection:abolish'">
             <a-icon type="snippets"/>
             浣滃簾
           </a-menu-item>
-          <a-menu-item key="2" @click="batchLq('UNDER_INSPECTION')">
+          <a-menu-item key="2" @click="batchLq('UNDER_INSPECTION')" v-has="'eam:inspection:collect'">
             <a-icon type="form"/>
             棰嗗彇
           </a-menu-item>
@@ -71,21 +71,21 @@
                @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
           <template v-if=" record.inspectionStatus === 'WAIT_INSPECTION'">
-            <a @click="handleEdit(record)">缂栬緫</a>
+            <a v-has="'eeam:inspection:edit'" @click="handleEdit(record)">缂栬緫</a>
 
-          <a-divider type="vertical"/>
+          <a-divider v-has="'eeam:inspection:edit'" type="vertical"/>
 
-          <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)">
+          <a-popconfirm v-has="'eam:inspection:collect'" title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)">
             <a>棰嗗彇</a>
           </a-popconfirm>
 
-          <a-divider type="vertical"/>
+          <a-divider v-has="'eam:inspection:collect'" type="vertical"/>
 
           <a-dropdown>
             <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a>
             <a-menu slot="overlay">
               <a-menu-item>
-                <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)">
+                <a-popconfirm v-has="'eam:inspection:abolish'" title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)">
                   <a>浣滃簾</a>
                 </a-popconfirm>
               </a-menu-item>
diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
index 2973e9e..3b9ed5c 100644
--- a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
+++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
@@ -39,12 +39,53 @@
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" v-if="isDisplayOperation">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="handlerBatchAbolish">
+            <a-icon type="delete" />
+            浣滃簾
+          </a-menu-item>
+          <a-menu-item key="2" @click="handlerBatchCollect">
+            <a-icon type="form" />
+            棰嗗彇
+          </a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
+          <a-icon type="down" />
+        </a-button>
+      </a-dropdown>
     </div>
+
+
 
     <!-- table鍖哄煙-begin -->
     <div>
-      <a-table size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination"
-               :loading="loading" :scroll="{ x: 'max-content' }" @change="handleTableChange">
+      <div
+        class="ant-alert ant-alert-info"
+        style="margin-bottom: 16px;"
+        v-if="isDisplayOperation"
+      >
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <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"
+        :scroll="{x:'max-content'}"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange"
+      >
         <span slot="action" slot-scope="text, record">
           <template v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'">
             <a @click="handleEdit(record)">缂栬緫</a>
@@ -58,6 +99,13 @@
             <a-divider type="vertical"/>
 
             <a @click="handleDetail(record)">璇︽儏</a>
+
+            <a-divider type="vertical"/>
+
+            <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)">
+              <a>浣滃簾</a>
+            </a-popconfirm>
+
           </template>
 
           <template v-else>
@@ -210,7 +258,9 @@
         url: {
           list: '/eam/secondMaintenanceOrder/list',
           abolish: '/eam/secondMaintenanceOrder/abolish',
-          collect: '/eam/secondMaintenanceOrder/collect'
+          collect: '/eam/secondMaintenanceOrder/collect',
+          abolishBatch: '/eam/secondMaintenanceOrder/abolishBatch',
+          collectBatch: '/eam/secondMaintenanceOrder/collectBatch'
         }
       }
     },
@@ -277,7 +327,129 @@
       handlePrint(record) {
         let href = `${window._CONFIG['domianURL']}/jmreport/view/1094834721929232384?id=` + record.id //缃戠珯閾炬帴
         window.open(href, '_blank')
-      }
+      },
+      handlerAbolish(id) {
+        if (!this.url.abolish) {
+          this.$message.error('璇疯缃畊rl.abolish灞炴��!')
+          return
+        }
+        var that = this
+        deleteAction(that.url.abolish, { id: id }).then((res) => {
+          if (res.success) {
+            //閲嶆柊璁$畻鍒嗛〉闂
+            that.reCalculatePage(1)
+            // that.$message.success(res.message);
+            that.$notification.success({
+              message: '娑堟伅',
+              description: res.message
+            })
+            that.loadData()
+          } else {
+            // that.$message.warning(res.message);
+            that.$notification.warning({
+              message: '娑堟伅',
+              description: res.message
+            })
+          }
+        })
+      },
+      handlerBatchAbolish() {
+        if (!this.url.abolishBatch) {
+          this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+          return
+        }
+        if (this.selectedRowKeys.length <= 0) {
+          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: '璇烽�夋嫨涓�鏉¤褰�'
+          })
+          return
+        } else {
+          var ids = ''
+          for (var a = 0; a < this.selectedRowKeys.length; a++) {
+            ids += this.selectedRowKeys[a] + ','
+          }
+          var that = this
+          this.$confirm({
+            title: '纭浣滃簾',
+            content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
+            onOk: function () {
+              that.loading = true
+              deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => {
+                if (res.success) {
+                  //閲嶆柊璁$畻鍒嗛〉闂
+                  that.reCalculatePage(that.selectedRowKeys.length)
+                  // that.$message.success(res.message);
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.loadData()
+                  that.onClearSelected()
+                } else {
+                  // that.$message.warning(res.message);
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              }).finally(() => {
+                that.loading = false
+              })
+            }
+          })
+        }
+      },
+      //鎵归噺棰嗗彇
+      handlerBatchCollect() {
+        if (!this.url.collectBatch) {
+          this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+          return
+        }
+        if (this.selectedRowKeys.length <= 0) {
+          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: '璇烽�夋嫨涓�鏉¤褰�'
+          })
+          return
+        } else {
+          var ids = ''
+          for (var a = 0; a < this.selectedRowKeys.length; a++) {
+            ids += this.selectedRowKeys[a] + ','
+          }
+          var that = this
+          this.$confirm({
+            title: '纭棰嗗彇',
+            content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?',
+            onOk: function () {
+              that.loading = true
+              deleteAction(that.url.collectBatch, { ids: ids }).then((res) => {
+                if (res.success) {
+                  //閲嶆柊璁$畻鍒嗛〉闂
+                  that.reCalculatePage(that.selectedRowKeys.length)
+                  // that.$message.success(res.message);
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.loadData()
+                  that.onClearSelected()
+                } else {
+                  // that.$message.warning(res.message);
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              }).finally(() => {
+                that.loading = false
+              })
+            }
+          })
+        }
+      },
     }
   }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3