From 17c33ce1481c99184ef76d8becd0d21690ad8328 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Fri, 06 Feb 2026 13:40:45 +0800
Subject: [PATCH] 修改

---
 src/views/work/selfProblems/plan/components/planDialog.vue |   94 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 68 insertions(+), 26 deletions(-)

diff --git a/src/views/work/selfProblems/plan/components/planDialog.vue b/src/views/work/selfProblems/plan/components/planDialog.vue
index b2c55dc..4705de9 100644
--- a/src/views/work/selfProblems/plan/components/planDialog.vue
+++ b/src/views/work/selfProblems/plan/components/planDialog.vue
@@ -3,13 +3,13 @@
     <el-dialog
         v-model="dialogVisible"
         :title="title"
-        width="50%"
+        width="1100px"
         :before-close="handleClose"
         :close-on-press-escape="false"
         :close-on-click-modal="false"
     >
       <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules"  label-width="100px" >
-        <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin">
+        <el-form-item label="单位名称:" prop="companyId" v-if="state.isAdmin">
           <el-select
               v-model="state.form.companyId"
               filterable
@@ -145,7 +145,7 @@
                       </el-form-item>
                     </template>
                   </el-table-column>
-                  <el-table-column label="受审核部门" prop="deptId" align="center">
+                  <el-table-column label="受审核部门" prop="deptId" align="center" width="190">
                     <template  #default="{row,$index}">
                       <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.deptId'" :rules="state.rules.deptId">
                         <el-select
@@ -170,15 +170,15 @@
                       <span>{{row.termNum}}</span>
                     </template>
                   </el-table-column>
-                  <el-table-column label="审核员" prop="dept" align="center">
+                  <el-table-column label="审核员" prop="dept" align="center" width="230">
                     <template #default="{row,$index}">
                       <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.checkId'" :rules="state.rules.checkId">
-                        <el-select clearable v-model="row.checkId" :disabled="title =='查看'" filterable  style="width: 240px">
+                        <el-select clearable v-model="row.checkId" :disabled="title =='查看'" collapse-tags  collapse-tags-tooltip  filterable multiple  style="width: 240px">
                           <el-option
-                              v-for="item in state.peopleList"
-                              :key="item.id"
-                              :label="item.name"
-                              :value="item.id"
+                              v-for="item in state.interUserList"
+                              :key="item.personId"
+                              :label="item.personName"
+                              :value="item.personId"
                           />
                         </el-select>
                       </el-form-item>
@@ -272,6 +272,7 @@
 import {getUser} from "@/api/onlineEducation/user";
 import {getDept} from "@/api/qualityObjectives/object";
 import {addPlan, editPlan} from "@/api/selfProblems/plan";
+import {getPersonPage} from "@/api/selfProblems/nameList";
 
 const dialogVisible = ref(false);
 const title = ref("");
@@ -299,7 +300,7 @@
   form: {
     id: '',
     companyId: null,
-    year: "", //年份
+    year: "2025", //年份
     auditPurpose: "", //审核目的
     reviewBasis: "", //审核依据
     reviewScope: "", //审核范围
@@ -316,6 +317,7 @@
     ratifyId: null, //批准人id
     deptList: []
   },
+  interUserList: [],
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     year:  [{ required: true, message: '请输入年份', trigger: 'blur' }],
@@ -387,8 +389,16 @@
     checkTime.value = [state.form.reviewStart,state.form.reviewEnd]
     checkStartTime.value = [state.form.firstStarttime,state.form.firstEndtime]
     checkEndTime.value = [state.form.lastStarttime,state.form.lastEndtime]
+    state.form.deptList = state.form.deptList.map(item => {
+      return {
+        ...item,
+        checkId:item.checkId.split(',').map(Number)
+      }
+    })
     await nextTick(()=> {
       state.form.deptList.forEach(item => {
+
+
         state.deptList.forEach(i => {
           if(i.deptId == item.deptId){
             item.termNum = sortVersionNumbers(i.caluseVO1List?.map(x=>x.clauseNum)).join('、')
@@ -397,6 +407,7 @@
       })
     })
   }
+  await getUserList()
   await  getPeopleList()
 
   dialogVisible.value = true;
@@ -420,7 +431,7 @@
 
 const onSubmit = async () => {
   state.form.reviewStart = checkTime.value[0]
-  state.form.reviewEnd = checkTime.value[0]
+  state.form.reviewEnd = checkTime.value[1]
   state.form.firstStarttime = checkStartTime.value[0]
   state.form.firstEndtime = checkStartTime.value[1]
   state.form.lastStarttime = checkEndTime.value[0]
@@ -435,24 +446,32 @@
     ElMessage.warning('请添加受审部门信息')
     return
   }
-
-  console.log('111',state.form)
+  state.form.deptList.forEach(item => {
+    item.checkId = item.checkId.join(',')
+  })
   if(valid){
     if(title.value === '新增'){
       const {id, ...data} = JSON.parse(JSON.stringify(state.form))
-      const res = await addPlan(data)
-      if(res.code === 200){
-        ElMessage({
-          type: 'success',
-          message: '新增成功'
-        });
-      }else{
-        ElMessage.warning(res.message)
+      try {
+        const res = await addPlan(data)
+        if(res.code === 200){
+          ElMessage({
+            type: 'success',
+            message: '新增成功'
+          });
+        }else{
+          ElMessage.warning(res.message)
+        }
+        emit("getList")
+        busRef.value.clearValidate();
+        reset();
+        dialogVisible.value = false;
+      }catch (e) {
+        state.form.deptList.forEach(item => {
+          item.checkId = item.checkId.split(',').map(Number)
+        })
       }
-      emit("getList")
-      busRef.value.clearValidate();
-      reset();
-      dialogVisible.value = false;
+
     }else if(title.value === '编辑'){
       const {...data} = JSON.parse(JSON.stringify(state.form))
       const res = await editPlan(data)
@@ -541,14 +560,18 @@
   state.form.proofreadId = null
   state.form.checkId = null
   state.form.ratifyId = null
+  state.form.deptList.forEach(item => {
+    item.checkId = []
+  })
   getPeopleList()
+  getUserList()
   getDeptList()
 }
 const reset = () => {
   state.form = {
     id: '',
     companyId: null,
-    year: "", //年份
+    year: "2025", //年份
     auditPurpose: "", //审核目的
     reviewBasis: "", //审核依据
     reviewScope: "", //审核范围
@@ -572,6 +595,25 @@
   checkStartTime.value = []
   checkEndTime.value = []
 }
+const getUserList = async ()=> {
+  if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
+    return
+  }
+  const res = await getPersonPage({companyId: state.form.companyId,pageNum: 1,pageSize: 999})
+  if(res.code == 200){
+    state.userList = res.data.list?res.data.list.map(item=>{
+      const user = item.id
+      const {id, ...data} = item
+      return {
+        ...data,
+        userId: user
+      }
+    }):[]
+    state.interUserList = state.userList
+  }else{
+    ElMessage.warning(res.message)
+  }
+}
 defineExpose({
   openDialog
 });

--
Gitblit v1.9.2