From ff1169ac5114c68e96c5686a0caa5d69d8a60b8a Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 12 十二月 2025 16:55:39 +0800
Subject: [PATCH] 修改

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

diff --git a/src/views/work/selfProblems/plan/components/planDialog.vue b/src/views/work/selfProblems/plan/components/planDialog.vue
index fcbcb34..007e5f9 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="950px"
         :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
@@ -104,14 +104,44 @@
                   <el-table-column label="日期" prop="date" align="center">
                     <template #default="{row,$index}">
                       <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.date'" :rules="state.rules.date">
-                        <el-input :disabled="title === '查看'" type="textarea" v-model="row.date" placeholder="请输入"></el-input>
+                        <el-date-picker
+                            :disabled="title === '查看'"
+                            v-model="row.date"
+                            type="date"
+                            placeholder="请选择"
+                            format="YYYY-MM-DD"
+                        />
+<!--                        <el-input :disabled="title === '查看'" type="textarea" v-model="row.date" placeholder="请输入"></el-input>-->
                       </el-form-item>
                     </template>
                   </el-table-column>
-                  <el-table-column label="时间" prop="time" align="center">
+                  <el-table-column label="时间" prop="endTime" align="center" width="140">
                     <template #default="{row,$index}">
-                      <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.time'" :rules="state.rules.time">
-                        <el-input :disabled="title === '查看'" type="textarea" v-model="row.time" placeholder="请输入"></el-input>
+                      <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.endTime'" :rules="state.rules.endTime">
+<!--                        <el-input :disabled="title === '查看'" type="textarea" v-model="row.time" placeholder="请输入"></el-input>-->
+                       <div style="display: flex;flex-direction: column;align-items: center">
+                         <el-time-select
+                             :disabled="title === '查看'"
+                             v-model="row.startTime"
+                             style="width: 120px"
+                             :max-time="row.endTime"
+                             class="mr-4"
+                             placeholder="开始"
+                             start="00:00"
+                             step="00:15"
+                             end="23:59"
+                         />
+                         <el-time-select
+                             :disabled="title === '查看'"
+                             v-model="row.endTime"
+                             style="width: 120px;margin-top: 5px"
+                             :min-time="row.startTime"
+                             placeholder="结束"
+                             start="00:00"
+                             step="00:15"
+                             end="23:59"
+                         />
+                       </div>
                       </el-form-item>
                     </template>
                   </el-table-column>
@@ -145,10 +175,10 @@
                       <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-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>
@@ -242,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("");
@@ -269,7 +300,7 @@
   form: {
     id: '',
     companyId: null,
-    year: "", //年份
+    year: "2025", //年份
     auditPurpose: "", //审核目的
     reviewBasis: "", //审核依据
     reviewScope: "", //审核范围
@@ -286,6 +317,7 @@
     ratifyId: null, //批准人id
     deptList: []
   },
+  interUserList: [],
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     year:  [{ required: true, message: '请输入年份', trigger: 'blur' }],
@@ -303,7 +335,7 @@
   },
   rules: {
     date: [{required: true, message: "", trigger: "blur"}],
-    time: [{required: true, message: "", trigger: "blur"}],
+    endTime: [{required: true, message: "", trigger: "blur"}],
     deptId: [{required: true, message: "", trigger: "blur"}],
     checkId: [{required: true, message: "", trigger: "blur"}],
 
@@ -351,6 +383,7 @@
   }
   await getDeptList()
   title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
+  state.form.year = new Date().getFullYear().toString()
   if(type === 'edit' || type === 'review') {
     state.form = JSON.parse(JSON.stringify(value));
     checkTime.value = [state.form.reviewStart,state.form.reviewEnd]
@@ -366,6 +399,7 @@
       })
     })
   }
+  await getUserList()
   await  getPeopleList()
 
   dialogVisible.value = true;
@@ -389,7 +423,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]
@@ -511,13 +545,14 @@
   state.form.checkId = null
   state.form.ratifyId = null
   getPeopleList()
+  getUserList()
   getDeptList()
 }
 const reset = () => {
   state.form = {
     id: '',
     companyId: null,
-    year: "", //年份
+    year: "2025", //年份
     auditPurpose: "", //审核目的
     reviewBasis: "", //审核依据
     reviewScope: "", //审核范围
@@ -541,6 +576,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