From 6390fa18f5c2df1158a0d664786797b0e8b2fbf9 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期三, 15 十月 2025 13:10:16 +0800
Subject: [PATCH] 提交

---
 src/views/saftyCheckMng/dailyCheck/index.vue |   84 ++++++++++++++++--------------------------
 1 files changed, 32 insertions(+), 52 deletions(-)

diff --git a/src/views/saftyCheckMng/dailyCheck/index.vue b/src/views/saftyCheckMng/dailyCheck/index.vue
index ca44893..a72a2c2 100644
--- a/src/views/saftyCheckMng/dailyCheck/index.vue
+++ b/src/views/saftyCheckMng/dailyCheck/index.vue
@@ -21,17 +21,10 @@
 <!--          </el-select>-->
           <el-cascader v-model="queryParams.researchGroup" placeholder="请选择" :options="deptList" :show-all-levels="false" :props="{value: 'deptId',label: 'deptName',children: 'children',emitPath: false,checkStrictly: true}"/>
         </el-form-item>
-        <el-form-item label="参加检查人员:" >
-          <el-select v-model="queryParams.searchCheckUserId" placeholder="请选择" clearable>
-            <el-option
-                v-for="item in userList"
-                :key="item.userId"
-                :label="item.nickName"
-                :value="item.userId">
-            </el-option>
-          </el-select>
+        <el-form-item label="参加检查人员" >
+          <el-input v-model.trim="queryParams.checkUser" placeholder="参加检查人员"></el-input>
         </el-form-item>
-        <el-form-item label="检查类型:" >
+        <el-form-item label="检查类型" >
           <el-select v-model="queryParams.checkType" placeholder="请选择" clearable>
             <el-option
                 v-for="item in checkTypeList"
@@ -41,13 +34,13 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="隐患:" >
+        <el-form-item label="隐患" >
           <el-select v-model="queryParams.haveMainHazard" placeholder="请选择" clearable>
             <el-option :key="1" label="有" :value="1"></el-option>
             <el-option :key="0" label="无" :value="0"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="检查日期:" >
+        <el-form-item label="检查日期" >
           <el-date-picker
               v-model="checkDate"
               type="daterange"
@@ -70,12 +63,12 @@
       <el-table-column prop="checkDate" align="center" label="检查时间"/>
       <el-table-column prop="checkPlace" align="center" label="检查地点"/>
       <el-table-column prop="checkRoom" align="center" label="检查房间号"/>
-      <el-table-column prop="enactmentDate" align="center" label="参加检查人员">
+      <el-table-column prop="checkUser" align="center" label="参加检查人员"/>
+      <el-table-column prop="researchGroupName" align="center" label="被检查部门/研究组">
         <template #default="scope">
-          {{scope.row.dailySafetyInspectionUsers.map(i=>i.checkUser).join('、')}}
+          {{ scope.row.dailySafetyInspectionDepts.filter(item=>item.deptName && item.deptName !== '').map(i=>i.deptName).join('、') }}
         </template>
       </el-table-column>
-      <el-table-column prop="researchGroupName" align="center" label="被检查部门/研究组"/>
       <el-table-column prop="checkContent" align="center" label="检查内容"/>
       <el-table-column label="操作" align="center">
         <template #default="scope">
@@ -116,14 +109,16 @@
     pageNum: 1,
     pageSize: 10,
     researchGroup: null,
-    searchCheckUserId: null,
+    checkUser: '',
     checkType: null,
     haveMainHazard: null,
     checkBeginDate: '',
     checkEndDate: ''
   },
+  originDeptList: [],
   dataList: [],
   deptList: [],
+  safetyDeptList: [],
   userList: [],
   checkTypeList: [
     {
@@ -156,17 +151,9 @@
       },
       {
         label: '参加检查人员',
-        prop: 'dailySafetyInspectionUsers',
-        type: 'select',
-        multiple: true,
-        filterable: true,
-        rules: [{ required: true, message: '请选择人员', trigger: 'change' }],
-        options: () => {
-          return state.userList.map(user => ({
-            value: user.userId,
-            label: user.nickName
-          }))
-        }
+        prop: 'checkUser',
+        type: 'text',
+        rules: [{ required: true, message: '请输入人员', trigger: 'blur' }],
       },
       {
         label: '检查地点',
@@ -182,7 +169,7 @@
       },
       {
         label: '被检查部门/研究组',
-        prop: 'researchGroup',
+        prop: 'dailySafetyInspectionDepts',
         type: 'cascader',
         showAllLevels: false,
         props: {
@@ -190,10 +177,11 @@
           label: 'deptName',
           children: 'children',
           emitPath: false,
-          checkStrictly: true
+          checkStrictly: true,
+          multiple: true
         },
         rules: [{ required: true, message: '请选择部门', trigger: 'blur' }],
-        options: () => state.deptList
+        options: () => state.safetyDeptList
       },
       {
         label: '检查类型',
@@ -235,15 +223,9 @@
       },
       {
         label: '复查人员',
-        prop: 'reCheckUserId',
-        type: 'select',
-        rules: [{ required: true, message: '请选择复查人员', trigger: 'blur' }],
-        options: () => {
-          return state.userList.map(user => ({
-            value: user.userId,
-            label: user.nickName
-          }))
-        }
+        prop: 'reCheckUser',
+        type: 'text',
+        rules: [{ required: true, message: '请输入复查人员', trigger: 'blur' }]
       },
       {
         label: '复查时间',
@@ -278,9 +260,11 @@
 })
 
 function getDeptList() {
-  listDept({safety: '1'}).then(response => {
+  listDept().then(response => {
+    state.originDeptList = response.data
     state.deptList = proxy.handleTree(response.data, "deptId")
-  });
+    state.safetyDeptList = proxy.handleTree(response.data.filter(item=>item.safety == '1'), "deptId")
+  })
 }
 
 function getUserList() {
@@ -305,7 +289,6 @@
 
 const downloadFile = async (val)=>{
     let tableData = val
-    tableData.checkNames = val.dailySafetyInspectionUsers.map(item=>item.checkUser).join('、')
     try {
       generateWordDocument('/dailyCheckSheet.docx', tableData, '日常安全检查记录表.docx');
     } catch (error){
@@ -317,10 +300,7 @@
 }
 
 const openDialog = (type, value) => {
-  let initalData = JSON.parse(JSON.stringify(value))
-  if(type == 'edit' || type == 'view'){
-    initalData.dailySafetyInspectionUsers = value.dailySafetyInspectionUsers.map(i=>i.checkUserId)
-  }
+  const initalData = JSON.parse(JSON.stringify(value))
   dialogRef.value.openDialog(type, initalData)
 }
 
@@ -330,7 +310,7 @@
     pageNum: 1,
     pageSize: 10,
     researchGroup: null,
-    searchCheckUserId: null,
+    checkUser: '',
     checkType: null,
     haveMainHazard: null,
     checkBeginDate: '',
@@ -361,14 +341,14 @@
 
 const handleSubmit = async (data, type) => {
   const params = JSON.parse(JSON.stringify(data))
-  params.dailySafetyInspectionUsers = params.dailySafetyInspectionUsers.map(item=>{
+  console.log(state.originDeptList,'ori')
+  params.dailySafetyInspectionDepts = params.dailySafetyInspectionDepts.map(i=>{
     return {
-      checkUserId: item,
-      checkUser: state.userList.find(i=>i.userId == item)?.nickName,
-      dailySafetyInspectionId: params.id
+      deptId: i,
+      deptName: state.originDeptList.find(item=>item.deptId == i)?.deptName
     }
   })
-  params.reCheckUser = state.userList.find(i=>i.userId == params.reCheckUserId)?.nickName
+  // params.reCheckUser = state.userList.find(i=>i.userId == params.reCheckUserId)?.nickName
   // 调用API保存数据
   if (type === '新增') {
     delete params.id

--
Gitblit v1.9.2