From 3739a47340c8d8b6edf5fdcbb0534f5fc8d96530 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 29 一月 2026 15:02:38 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New

---
 src/views/collaborativeApproval/sealManagement/index.vue |  120 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 99 insertions(+), 21 deletions(-)

diff --git a/src/views/collaborativeApproval/sealManagement/index.vue b/src/views/collaborativeApproval/sealManagement/index.vue
index 04ecfc4..5193aa9 100644
--- a/src/views/collaborativeApproval/sealManagement/index.vue
+++ b/src/views/collaborativeApproval/sealManagement/index.vue
@@ -82,7 +82,14 @@
     </el-card>
 
     <!-- 鐢ㄥ嵃鐢宠瀵硅瘽妗� -->
-    <el-dialog v-model="showSealApplyDialog" title="鐢宠鐢ㄥ嵃" width="600px">
+    <FormDialog
+      v-model="showSealApplyDialog"
+      title="鐢宠鐢ㄥ嵃"
+      :width="'600px'"
+      @close="closeSealApplyDialog"
+      @confirm="submitSealApplication"
+      @cancel="closeSealApplyDialog"
+    >
       <el-form :model="sealForm" :rules="sealRules" ref="sealFormRef" label-width="100px">
         <el-form-item label="鐢宠缂栧彿" prop="applicationNum">
           <el-input v-model="sealForm.applicationNum" placeholder="璇疯緭鍏ョ敵璇风紪鍙�" />
@@ -119,13 +126,7 @@
           </el-radio-group>
         </el-form-item>
       </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="showSealApplyDialog = false">鍙栨秷</el-button>
-          <el-button type="primary" @click="submitSealApplication">鎻愪氦鐢宠</el-button>
-        </span>
-      </template>
-    </el-dialog>
+    </FormDialog>
 
     <!-- 瑙勭珷鍒跺害鍙戝竷瀵硅瘽妗� -->
     <!-- <el-dialog v-model="showRegulationDialog" :title="operationType === 'add' ? '鍙戝竷鍒跺害' : '缂栬緫鍒跺害'" width="800px">
@@ -177,10 +178,17 @@
     </el-dialog> -->
 
     <!-- 鐢ㄥ嵃璇︽儏瀵硅瘽妗� -->
-    <el-dialog v-model="showSealDetailDialog" title="鐢ㄥ嵃鐢宠璇︽儏" width="700px">
+    <FormDialog
+      v-model="showSealDetailDialog"
+      title="鐢ㄥ嵃鐢宠璇︽儏"
+      :width="'700px'"
+      @close="closeSealDetailDialog"
+      @confirm="closeSealDetailDialog"
+      @cancel="closeSealDetailDialog"
+    >
       <div v-if="currentSealDetail" class="mb10">
         <el-descriptions :column="2" border>
-          <el-descriptions-item label="鐢宠缂栧彿">{{ currentSealDetail.id }}</el-descriptions-item>
+          <el-descriptions-item label="鐢宠缂栧彿">{{ currentSealDetail.applicationNum }}</el-descriptions-item>
           <el-descriptions-item label="鐢宠鏍囬">{{ currentSealDetail.title }}</el-descriptions-item>
           <el-descriptions-item label="鐢宠浜�">{{ currentSealDetail.createUserName }}</el-descriptions-item>
           <el-descriptions-item label="鎵�灞為儴闂�">{{ currentSealDetail.department }}</el-descriptions-item>
@@ -194,10 +202,17 @@
           <el-descriptions-item label="鐢宠鍘熷洜" :span="2">{{ currentSealDetail.reason }}</el-descriptions-item>
         </el-descriptions>
       </div>
-    </el-dialog>
+    </FormDialog>
 
     <!-- 瑙勭珷鍒跺害璇︽儏瀵硅瘽妗� -->
-    <el-dialog v-model="showRegulationDetailDialog" title="瑙勭珷鍒跺害璇︽儏" width="800px">
+    <FormDialog
+      v-model="showRegulationDetailDialog"
+      title="瑙勭珷鍒跺害璇︽儏"
+      :width="'800px'"
+      @close="closeRegulationDetailDialog"
+      @confirm="handleRegulationDetailConfirm"
+      @cancel="closeRegulationDetailDialog"
+    >
       <div v-if="currentRegulationDetail">
         <el-descriptions :column="2" border>
           <el-descriptions-item label="鍒跺害缂栧彿">{{ currentRegulationDetail.id }}</el-descriptions-item>
@@ -216,10 +231,17 @@
           <el-button type="success" @click="resetForm(currentRegulationDetail)">纭鏌ョ湅</el-button>
         </div>
       </div>
-    </el-dialog>
+    </FormDialog>
 
     <!-- 鐗堟湰鍘嗗彶瀵硅瘽妗� -->
-    <el-dialog v-model="showVersionHistoryDialog" title="鐗堟湰鍘嗗彶" width="800px">
+    <FormDialog
+      v-model="showVersionHistoryDialog"
+      title="鐗堟湰鍘嗗彶"
+      :width="'800px'"
+      @close="closeVersionHistoryDialog"
+      @confirm="closeVersionHistoryDialog"
+      @cancel="closeVersionHistoryDialog"
+    >
       <el-table :data="versionHistory" style="width: 100%;margin-bottom: 10px">
         <el-table-column prop="version" label="鐗堟湰鍙�" width="100" />
         <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" width="180" />
@@ -232,10 +254,17 @@
           </template>
         </el-table-column>
       </el-table>
-    </el-dialog>
+    </FormDialog>
 
     <!-- 闃呰鐘舵�佸璇濇 -->
-    <el-dialog v-model="showReadStatusDialog" title="闃呰鐘舵��" width="800px">
+    <FormDialog
+      v-model="showReadStatusDialog"
+      title="闃呰鐘舵��"
+      :width="'800px'"
+      @close="closeReadStatusDialog"
+      @confirm="closeReadStatusDialog"
+      @cancel="closeReadStatusDialog"
+    >
       <el-table :data="readStatusList" style="width: 100%;margin-bottom: 10px">
         <el-table-column prop="employee" label="鍛樺伐濮撳悕" width="120" />
         <el-table-column prop="department" label="鎵�灞為儴闂�" width="150" />
@@ -249,7 +278,7 @@
           </template>
         </el-table-column>
       </el-table>
-    </el-dialog>
+    </FormDialog>
   </div>
 </template>
 
@@ -263,7 +292,8 @@
 import { getUserProfile, userListNoPageByTenantId } from '@/api/system/user.js'
 import useUserStore from '@/store/modules/user'
 import { userLoginFacotryList } from "@/api/system/user.js"
-import {staffOnJobListPage} from "@/api/personnelManagement/staffOnJob.js";
+import {staffOnJobListPage} from "@/api/personnelManagement/staffOnJob.js"
+import FormDialog from '@/components/Dialog/FormDialog.vue'
 
 // 鍝嶅簲寮忔暟鎹�
 const currentUser = ref(null)
@@ -434,7 +464,7 @@
     addSealApplication(sealForm).then(res => {
       if(res.code == 200){
         ElMessage.success('鐢宠鎻愪氦鎴愬姛')
-        showSealApplyDialog.value = false
+        closeSealApplyDialog()
         getSealApplicationList()
         Object.assign(sealForm, {
         applicationNum: '',
@@ -447,12 +477,53 @@
       })
       }
     }).catch(err => {
-      ElMessage.error(err.msg)
+      console.log(err.msg)
     })
   
   } catch (error) {
-    ElMessage.error('璇峰畬鍠勭敵璇蜂俊鎭�')
   }
+}
+// 鍏抽棴鐢ㄥ嵃鐢宠瀵硅瘽妗�
+const closeSealApplyDialog = () => {
+  // 娓呯┖琛ㄥ崟鏁版嵁
+  Object.assign(sealForm, {
+    applicationNum: '',
+    title: '',
+    sealType: '',
+    reason: '',
+    approveUserId: '',
+    urgency: 'normal',
+    status: 'pending'
+  })
+  // 娓呴櫎琛ㄥ崟楠岃瘉鐘舵��
+  if (sealFormRef.value) {
+    sealFormRef.value.clearValidate()
+  }
+  showSealApplyDialog.value = false
+}
+// 鍏抽棴鐢ㄥ嵃璇︽儏瀵硅瘽妗�
+const closeSealDetailDialog = () => {
+  showSealDetailDialog.value = false
+}
+// 鍏抽棴瑙勭珷鍒跺害璇︽儏瀵硅瘽妗�
+const closeRegulationDetailDialog = () => {
+  showRegulationDetailDialog.value = false
+}
+// 澶勭悊瑙勭珷鍒跺害璇︽儏纭
+const handleRegulationDetailConfirm = () => {
+  // 濡傛灉tableData>0锛屾墽琛岀‘璁ゆ煡鐪嬫搷浣�
+  if (currentRegulationDetail.value && tableData.value && tableData.value.length > 0) {
+    resetForm(currentRegulationDetail.value)
+  }
+  closeRegulationDetailDialog()
+}
+// 鍏抽棴鐗堟湰鍘嗗彶瀵硅瘽妗�
+const closeVersionHistoryDialog = () => {
+  showVersionHistoryDialog.value = false
+}
+// 鍏抽棴闃呰鐘舵�佸璇濇
+const closeReadStatusDialog = () => {
+  showReadStatusDialog.value = false
 }
 // 鏂板
 const handleAdd = () => {
@@ -735,6 +806,13 @@
   })
 }
 
+// 鍒嗛〉鍙樺寲澶勭悊
+const paginationChange = (obj) => {
+  page.current = obj.page;
+  page.size = obj.limit;
+  getSealApplicationList();
+};
+
 // 鐩戝惉瀵硅瘽妗嗘墦寮�锛岃幏鍙栫敤鎴峰垪琛�
 watch(showSealApplyDialog, (newVal) => {
   if (newVal) {

--
Gitblit v1.9.3