From ebe3507d1382bb124c1fb895a5e27f7063fdffdc Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 13 一月 2026 16:19:14 +0800
Subject: [PATCH] fix: 规章制度加一个附件功能

---
 src/views/collaborativeApproval/sealManagement/index.vue |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/src/views/collaborativeApproval/sealManagement/index.vue b/src/views/collaborativeApproval/sealManagement/index.vue
index 88d33dc..8e0d054 100644
--- a/src/views/collaborativeApproval/sealManagement/index.vue
+++ b/src/views/collaborativeApproval/sealManagement/index.vue
@@ -12,11 +12,15 @@
         <div class="tab-content">
             <el-row :gutter="20" class="mb-20 ">
               <span class="ml-10">鐢ㄥ嵃鏍囬锛�</span>
-              <el-col :span="6">
+              <el-col :span="4">
                 <el-input v-model="sealSearchForm.title" placeholder="璇疯緭鍏ョ敵璇锋爣棰�" clearable />
               </el-col>
+              <span class="ml-10">鐢ㄥ嵃缂栧彿锛�</span>
+              <el-col :span="4">
+                <el-input v-model="sealSearchForm.applicationNum" placeholder="璇疯緭鍏ョ敤鍗扮紪鍙�" clearable />
+              </el-col>
               <span class="search_title">瀹℃壒鐘舵�侊細</span>
-              <el-col :span="6">
+              <el-col :span="4">
                 <el-select v-model="sealSearchForm.status" placeholder="瀹℃壒鐘舵��" clearable>
                   <el-option label="寰呭鎵�" value="pending" />
                   <el-option label="宸查�氳繃" value="approved" />
@@ -96,6 +100,16 @@
         </el-form-item>
         <el-form-item label="鐢宠鍘熷洜" prop="reason">
           <el-input v-model="sealForm.reason" type="textarea" :rows="4" placeholder="璇疯缁嗚鏄庣敤鍗板師鍥�" />
+        </el-form-item>
+        <el-form-item label="瀹℃壒浜�" prop="approveUserId">
+          <el-select v-model="sealForm.approveUserId" placeholder="璇烽�夋嫨瀹℃壒浜�" style="width: 100%" filterable>
+            <el-option
+                v-for="user in userList"
+                :key="user.userId"
+                :label="user.nickName"
+                :value="user.userId"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="绱ф�ョ▼搴�" prop="urgency">
           <el-radio-group v-model="sealForm.urgency">
@@ -240,12 +254,13 @@
 </template>
 
 <script setup>
-import { ref, reactive, onMounted, getCurrentInstance } from 'vue'
+import { ref, reactive, onMounted, getCurrentInstance, watch } from 'vue'
+import { useRoute } from 'vue-router'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { Plus } from '@element-plus/icons-vue'
 import { listSealApplication, addSealApplication, updateSealApplication,listRuleManagement,addRuleManagement,updateRuleManagement,delRuleManagement,getReadingStatusByRuleId,getReadingStatusList,addReadingStatus,updateReadingStatus  } from '@/api/collaborativeApproval/sealManagement.js'
 import { el } from 'element-plus/es/locales.mjs'
-import { getUserProfile } from '@/api/system/user.js'
+import { getUserProfile, userListNoPageByTenantId } from '@/api/system/user.js'
 import {staffJoinDel, staffJoinListPage} from "@/api/personnelManagement/onboarding.js";
 import useUserStore from '@/store/modules/user'
 import { userLoginFacotryList } from "@/api/system/user.js"
@@ -257,16 +272,19 @@
 const tableData = ref([])
 // 鐢ㄥ嵃鐢宠鐩稿叧
 const userStore = useUserStore()
+const route = useRoute()
 const showSealApplyDialog = ref(false)
 const tableLoading = ref(false)
 const showSealDetailDialog = ref(false)
 const currentSealDetail = ref(null)
 const sealFormRef = ref()
+const userList = ref([])
 const sealForm = reactive({
   applicationNum: '',
   title: '',
   sealType: '',
   reason: '',
+  approveUserId: '',
   urgency: 'normal',
   status: 'pending'
 })
@@ -275,12 +293,14 @@
   applicationNum: [{ required: true, message: '璇疯緭鍏ョ敵璇风紪鍙�', trigger: 'blur' }],
   title: [{ required: true, message: '璇疯緭鍏ョ敵璇锋爣棰�', trigger: 'blur' }],
   sealType: [{ required: true, message: '璇烽�夋嫨鐢ㄥ嵃绫诲瀷', trigger: 'change' }],
-  reason: [{ required: true, message: '璇疯緭鍏ョ敵璇峰師鍥�', trigger: 'blur' }]
+  reason: [{ required: true, message: '璇疯緭鍏ョ敵璇峰師鍥�', trigger: 'blur' }],
+  approveUserId: [{ required: true, message: '璇烽�夋嫨瀹℃壒浜�', trigger: 'change' }]
 }
 
 const sealSearchForm = reactive({
   title: '',
-  status: ''
+  status: '',
+  applicationNum: ''
 })
 // 鍒嗛〉鍙傛暟
 const page = reactive({
@@ -393,6 +413,7 @@
 const resetSealSearch = () => {
   sealSearchForm.title = ''
   sealSearchForm.status = ''
+  sealSearchForm.applicationNum = ''
   searchSealApplications()
 }
 // 鎼滅储鍒跺害
@@ -420,6 +441,7 @@
         title: '',
         sealType: '',
         reason: '',
+        approveUserId: '',
         urgency: 'normal',
         status: 'pending'
       })
@@ -713,9 +735,24 @@
   })
 }
 
+// 鐩戝惉瀵硅瘽妗嗘墦寮�锛岃幏鍙栫敤鎴峰垪琛�
+watch(showSealApplyDialog, (newVal) => {
+  if (newVal) {
+    userListNoPageByTenantId().then((res) => {
+      userList.value = res.data;
+    });
+  }
+});
+
 onMounted(() => {
-  // 鍒濆鍖�
-  getSealApplicationList()
+  // 璺敱鎼哄甫 applicationNum 鏃讹紝棰勫~骞舵煡璇�
+  if (route.query.applicationNum) {
+    sealSearchForm.applicationNum = String(route.query.applicationNum)
+    page.current = 1
+    getSealApplicationList()
+  } else {
+    getSealApplicationList()
+  }
   getRegulationList()
 })
 </script>

--
Gitblit v1.9.3