From be8d7e4f0aea2b49ac7a9963df6482864abe3502 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 02 十二月 2025 16:11:44 +0800
Subject: [PATCH] 修改

---
 src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue |  175 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 117 insertions(+), 58 deletions(-)

diff --git a/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue b/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
index 22b1816..2d2c883 100644
--- a/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
+++ b/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
@@ -9,7 +9,7 @@
         :close-on-click-modal="false"
     >
       <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules"  >
-        <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId">
+        <el-form-item v-if="state.isAdmin" label="单位:" prop="companyId">
           <el-select v-model="state.form.companyId" placeholder="请选择" :disabled="state.title=='编辑'" style="width: 100%" clearable @change="getDeptList">
             <el-option
                 v-for="item in state.companyList"
@@ -20,7 +20,7 @@
           </el-select>
         </el-form-item>
         <el-row :gutter="24">
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="受审核部门:" prop="deptId">
               <el-select
                   clearable
@@ -40,7 +40,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="审核员:" prop="personId">
               <el-select clearable v-model="state.form.personId" :disabled="state.title =='查看'" filterable placeholder="内审员" style="width: 100%">
                 <el-option
@@ -52,24 +52,36 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
-            <el-form-item label="内审时间:" prop="checkTime">
+        </el-row>
+        <el-row :gutter="24">
+          <el-col :span="12">
+            <el-form-item label="内审时间:" prop="startTime">
               <el-date-picker
-                  v-model="state.form.checkTime"
-                  type="datetime"
+                  :disabled="state.title =='查看'"
+                  v-model="checkTime"
+                  type="datetimerange"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  format="YYYY-MM-DD HH:mm:ss"
                   value-format="YYYY-MM-DD HH:mm:ss"
-                  placeholder="请选择内审时间"
-                  style="width: 100%"
+                  style="width: 100%;"
               />
+              <!--              <el-date-picker-->
+              <!--                  v-model="state.form.checkTime"-->
+              <!--                  type="datetime"-->
+              <!--                  value-format="YYYY-MM-DD HH:mm:ss"-->
+              <!--                  placeholder="请选择内审时间"-->
+              <!--                  style="width: 100%"-->
+              <!--              />-->
             </el-form-item>
           </el-col>
         </el-row>
-
         <el-row :gutter="24">
           <el-col :span="24">
             <div style="display: flex;align-items: center">
               <span style="font-size: 15px;font-weight: 700;margin-right: 10px" >内审检查表:</span>
-              <el-button type="primary" :disabled="state.title === '查看'"  @click="addTableData">新增</el-button>
+<!--              <el-button type="primary" :disabled="state.title === '查看'"  @click="addTableData">新增</el-button>-->
             </div>
             <el-table style="margin-top: 15px;margin-bottom: 20px" :data="state.form.checkCatalogues" :border="true">
               <el-table-column label="适用条款" align="center">
@@ -85,7 +97,7 @@
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column label="审核发现" prop="find" align="center" width="180">
+              <el-table-column label="审核发现" prop="find" align="center" width="300">
                 <template #default="{row,$index}">
                   <div v-for="(i,index) in row.checkContents" :key="index">
                     <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.find'" :rules="state.formRules.find">
@@ -95,7 +107,7 @@
                 </template>
               </el-table-column>
               <el-table-column label="审核结果" align="center" >
-                <el-table-column label="符合" prop="conform" align="center" width="90">
+                <el-table-column label="符合" prop="conform" align="center" width="70">
                   <template #default="{row,$index}">
                     <div v-for="(i,index) in row.checkContents" :key="index">
                       <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.result'" :rules="state.formRules.result">
@@ -109,7 +121,7 @@
                     </div>
                   </template>
                 </el-table-column>
-                <el-table-column label="轻微不符合" prop="minor" align="center" width="90">
+                <el-table-column label="不符合" prop="minor" align="center" width="90">
                   <template #default="{row,$index}">
                     <div v-for="(i,index) in row.checkContents" :key="index">
                       <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.result'" :rules="state.formRules.result">
@@ -123,21 +135,20 @@
                     </div>
                   </template>
                 </el-table-column>
-                <el-table-column label="严重不符合" prop="serious" align="center" width="90">
-                  <template #default="{row,$index}">
-                    <div v-for="(i,index) in row.checkContents" :key="index">
-                      <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.result'" :rules="state.formRules.result">
-                        <el-radio
-                            style="height: 100px"
-                            v-model="i.result"
-                            :label="3"
-                            :disabled="state.title === '查看'"
-                        ></el-radio>
-                      </el-form-item>
-                    </div>
-                  </template>
-                </el-table-column>
-
+<!--                <el-table-column label="严重不符合" prop="serious" align="center" width="90">-->
+<!--                  <template #default="{row,$index}">-->
+<!--                    <div v-for="(i,index) in row.checkContents" :key="index">-->
+<!--                      <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.result'" :rules="state.formRules.result">-->
+<!--                        <el-radio-->
+<!--                            style="height: 100px"-->
+<!--                            v-model="i.result"-->
+<!--                            :label="3"-->
+<!--                            :disabled="state.title === '查看'"-->
+<!--                        ></el-radio>-->
+<!--                      </el-form-item>-->
+<!--                    </div>-->
+<!--                  </template>-->
+<!--                </el-table-column>-->
               </el-table-column>
               <el-table-column label="操作" align="center" width="120" v-if="state.title !== '查看'" >
                 <template #default="scope">
@@ -165,16 +176,24 @@
     >
       <el-form :model="state.termForm" size="default" ref="termRef" :rules="state.rules"  >
         <el-form-item  label="体系标准款项:" prop="id">
-          <el-tree-select
-              v-model="state.termForm.id"
-              :data="state.menuOptions"
-              :props="{ value: 'id', label: 'name', children: 'children' }"
-              value-key="id"
-              placeholder="体系标准款项"
-              check-strictly
-              style="width: 100%"
-              @node-click="handleTreeSelect"
-          />
+<!--          <el-tree-select-->
+<!--              v-model="state.termForm.id"-->
+<!--              :data="state.menuOptions"-->
+<!--              :props="{ value: 'id', label: 'name', children: 'children' }"-->
+<!--              value-key="id"-->
+<!--              placeholder="体系标准款项"-->
+<!--              check-strictly-->
+<!--              style="width: 100%"-->
+<!--              @node-click="handleTreeSelect"-->
+<!--          />-->
+          <el-select clearable v-model="state.termForm.id"  filterable placeholder="体系标准款项" @change="handleTreeSelect" style="width: 100%">
+            <el-option
+                v-for="item in state.menuOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+            />
+          </el-select>
         </el-form-item>
       </el-form>
       <template #footer>
@@ -196,24 +215,33 @@
   addInternalAuditCheck, getInternalAuditCheckInfo,
   updateInternalAuditCheck
 } from "@/api/innerReview/meetingReview";
-import {getDepart} from "@/api/orgStructure/depart";
+import {getDepart, getSysClause} from "@/api/orgStructure/depart";
 import {listUser} from "@/api/system/user";
 import {getPersonPage} from "@/api/selfProblems/nameList";
 import {getCatalogue} from "@/api/qualityManage/catalog";
 import Cookies from "js-cookie";
+import {getUser} from "@/api/onlineEducation/user";
 
 const emit = defineEmits(["getList"]);
 const dialogVisible = ref(false)
 const superRef = ref()
 const termRef = ref()
-
+const checkTime = ref([])
+const validateFieldsReview = (rule, value, callback) =>{
+  if (checkTime.value && checkTime.value.length >0 ) {
+    callback();
+  } else {
+    callback(new Error('请选择时间'));
+  }
+}
 const state = reactive({
   title: '',
   form: {
     id: null,
     deptId: null,
     personId: null,
-    checkTime: '',
+    startTime: '',
+    endTime:'',
     companyId: null,
     checkCatalogues: []
   },
@@ -228,7 +256,8 @@
     deptId: [{ required: true, message: '请选择受审核部门', trigger: 'blur' }],
     internalAuditCheckPeople: [{ required: true, message: '请选择受审核人', trigger: 'blur' }],
     personId: [{ required: true, message: '请选择内审员', trigger: 'blur' }],
-    checkTime: [{ required: true, message: '请选择内审时间',  trigger: 'blur' }],
+    // checkTime: [{ required: true, message: '请选择内审时间',  trigger: 'blur' }],
+    startTime: [{ required: true,validator: validateFieldsReview, trigger: 'blur' }],//审核时间
     checkRecord: [{ required: true, message: '请填写检查记录',  trigger: 'blur' }],
     pointKey: [{ required: true, message: '',  trigger: 'blur' }],
     find: [{ required: true, message: '',  trigger: 'blur' }],
@@ -271,6 +300,13 @@
         state.form[key] = value[key]
       }
     })
+    checkTime.value = [state.form.startTime,state.form.endTime]
+    console.log('1',state.form)
+    state.form.checkCatalogues.forEach(item => {
+      if(item.checkContents && item.checkContents.length == 0){
+        item.checkContents.push({})
+      }
+    })
   }
   await getUserList()
   await getDepartList(state.form.companyId)
@@ -280,16 +316,29 @@
 
 const getCatalogList = async() => {
   state.menuOptions = [];
-  const param = {
-    type: 1,
-    number: 4
-  }
-  const res = await getCatalogue(param)
+  const res = await getSysClause()
   if(res.code == 200){
-    state.menuOptions =await handleTree(res.data.data);
+    state.menuOptions = res.data.map(i=>{
+      return {
+        id:i.id,
+        clauseNum: i.clauseNum,
+        content: i.name,
+        name: i.clauseNum + ' '+i.name
+      }
+    })
   }else{
     ElMessage.warning(res.message)
   }
+  // const param = {
+  //   type: 1,
+  //   number: 4
+  // }
+  // const res = await getCatalogue(param)
+  // if(res.code == 200){
+  //   state.menuOptions =await handleTree(res.data.data);
+  // }else{
+  //   ElMessage.warning(res.message)
+  // }
 }
 const handleTree = (val) => {
   const traverse = (nodes, currentPath = '') => {
@@ -306,6 +355,8 @@
 }
 
 const onSubmit = async () => {
+  state.form.startTime = checkTime.value[0]
+  state.form.endTime = checkTime.value[1]
   const valid = await superRef.value.validate();
   if(valid){
     console.log('f',state.form)
@@ -387,11 +438,12 @@
         userId: user
       }
     }):[]
-    if(state.form.deptId){
-      state.interUserList = state.userList.filter(i=>i.deptId == state.form.deptId)
-    }else{
-      state.interUserList = state.userList
-    }
+    state.interUserList = state.userList
+    // if(state.form.deptId){
+    //   state.interUserList = state.userList.filter(i=>i.deptId == state.form.deptId)
+    // }else{
+    //   state.interUserList = state.userList
+    // }
   }else{
     ElMessage.warning(res.message)
   }
@@ -407,7 +459,8 @@
     id: null,
     deptId: null,
     personId: null,
-    checkTime: '',
+    startTime: '',
+    endTime:'',
     companyId: null,
     checkCatalogues: []
   }
@@ -454,6 +507,7 @@
 const onSubmitTerm = async () =>{
   const valid = await termRef.value.validate();
   if(valid){
+
     state.form.checkCatalogues.push({
       checkContents: [{}],
       catalogueId:state.termForm.id,
@@ -464,9 +518,14 @@
 
 }
 const handleTreeSelect = (node) => {
-  state.termForm.id = node.id
-  state.termForm.number = node.number
-  state.termForm.mess = node.mess
+  state.menuOptions.forEach(item => {
+    if(item.id == node){
+      state.termForm.id = node
+      state.termForm.number = item.clauseNum
+      state.termForm.mess = item.name
+    }
+  })
+
 
 };
 defineExpose({

--
Gitblit v1.9.2