From 5cd656eab19d32c7892a3c7090253a278e226da0 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Thu, 26 Feb 2026 10:20:58 +0800
Subject: [PATCH] 提交

---
 src/views/saftyCheckMng/dailyCheck/index.vue |   92 +++++++++++++++++++---------------------------
 1 files changed, 38 insertions(+), 54 deletions(-)

diff --git a/src/views/saftyCheckMng/dailyCheck/index.vue b/src/views/saftyCheckMng/dailyCheck/index.vue
index df7b6e2..d74ddc8 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,19 +63,19 @@
       <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">
           <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
           <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
           <el-button link type="primary" @click="downloadFile(scope.row)">导出</el-button>
-          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+          <el-button v-if="isAuthority" link type="danger" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -116,12 +109,13 @@
     pageNum: 1,
     pageSize: 10,
     researchGroup: null,
-    searchCheckUserId: null,
+    checkUser: '',
     checkType: null,
     haveMainHazard: null,
     checkBeginDate: '',
     checkEndDate: ''
   },
+  originDeptList: [],
   dataList: [],
   deptList: [],
   userList: [],
@@ -156,17 +150,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 +168,7 @@
       },
       {
         label: '被检查部门/研究组',
-        prop: 'researchGroup',
+        prop: 'dailySafetyInspectionDepts',
         type: 'cascader',
         showAllLevels: false,
         props: {
@@ -190,7 +176,8 @@
           label: 'deptName',
           children: 'children',
           emitPath: false,
-          checkStrictly: true
+          checkStrictly: true,
+          multiple: true
         },
         rules: [{ required: true, message: '请选择部门', trigger: 'blur' }],
         options: () => state.deptList
@@ -235,15 +222,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: '复查时间',
@@ -263,14 +244,21 @@
   },
   dataLoader: {},
   api: {},
-  checkDate: []
+  checkDate: [],
+  isAuthority: false
 });
 
-const { queryParams, total, dataList,deptList, userList, formConfig, dataLoader, api, checkTypeList, checkDate } = toRefs(state);
+const { queryParams, total, dataList,deptList, userList, formConfig, dataLoader, api, checkTypeList, checkDate, isAuthority } = toRefs(state);
+const userStore = useUserStore()
 onMounted(async ()=>{
   await getList()
   await getDeptList()
   await getUserList()
+  if(userStore.roles.includes('admin') || userStore.roles.includes('sys_admin') || userStore.roles.includes('place_safety_officer')){
+    state.isAuthority = true
+  }else{
+    state.isAuthority = false
+  }
 })
 
 onUnmounted(()=>{
@@ -278,9 +266,10 @@
 })
 
 function getDeptList() {
-  listDept({}).then(response => {
+  listDept().then(response => {
+    state.originDeptList = response.data
     state.deptList = proxy.handleTree(response.data, "deptId")
-  });
+  })
 }
 
 function getUserList() {
@@ -305,7 +294,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 +305,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 +315,7 @@
     pageNum: 1,
     pageSize: 10,
     researchGroup: null,
-    searchCheckUserId: null,
+    checkUser: '',
     checkType: null,
     haveMainHazard: null,
     checkBeginDate: '',
@@ -361,14 +346,13 @@
 
 const handleSubmit = async (data, type) => {
   const params = JSON.parse(JSON.stringify(data))
-  params.dailySafetyInspectionUsers = params.dailySafetyInspectionUsers.map(item=>{
+  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