From 59a4f02701ef3b232b9f1d54ba0b29a1e8764704 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期三, 03 十二月 2025 14:54:53 +0800
Subject: [PATCH] 修改

---
 src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue |  176 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 108 insertions(+), 68 deletions(-)

diff --git a/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue b/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
index 2d2c883..80cd0bc 100644
--- a/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
+++ b/src/views/work/selfProblems/internalAudit/innerReviewSheet/components/editDialog.vue
@@ -3,7 +3,7 @@
     <el-dialog
         v-model="dialogVisible"
         :title="state.title"
-        width="950px"
+        width="1200px"
         :before-close="handleClose"
         :close-on-press-escape="false"
         :close-on-click-modal="false"
@@ -85,54 +85,67 @@
             </div>
             <el-table style="margin-top: 15px;margin-bottom: 20px" :data="state.form.checkCatalogues" :border="true">
               <el-table-column label="适用条款" align="center">
-                <el-table-column label="体系标准款项" prop="number" align="center"></el-table-column>
-                <el-table-column label="标题" prop="mess" align="center"></el-table-column>
+                <el-table-column label="体系标准款项" prop="number" align="center" width="110"></el-table-column>
+                <el-table-column label="标题" prop="mess" align="center" width="150"></el-table-column>
               </el-table-column>
-              <el-table-column label="审核要点" prop="pointKey" align="center" width="180">
+              <el-table-column label="审核要点" prop="pointKey" align="left" header-align="center">
                 <template #default="{row,$index}">
-                  <div v-for="(i,index) in row.checkContents" :key="index">
-                    <el-form-item :prop="'checkCatalogues.' + '[' + $index + '].' +'checkContents.' + '[' + index + ']' + '.pointKey'" :rules="state.formRules.pointKey">
-                      <el-input style="margin-top: 10px" :disabled="state.title === '查看'" type="textarea" :rows="4" v-model="i.pointKey" placeholder="请输入"></el-input>
-                    </el-form-item>
-                  </div>
+                  <el-form-item :prop="'checkCatalogues.' + '[' + $index + ']' + '.pointKey'" :rules="state.formRules.pointKey">
+                    <div v-if="showEditor" >
+                      <t-editor style="width: 380px;" :height="250" ref="myEditor" :toolbar="toolbar"
+                                :value="row.pointKey" @input="inputPonit($event,$index)"></t-editor>
+                    </div>
+                    <div v-else >
+                      <div class="reviewTable" v-html="row.pointKey" ></div>
+                    </div>
+                  </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column label="审核发现" prop="find" align="center" width="300">
+              <el-table-column label="审核发现" prop="find" align="left" header-align="center">
                 <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">
-                      <el-input style="margin-top: 10px" :disabled="state.title === '查看'" type="textarea" :rows="4" v-model="i.find" placeholder="请输入"></el-input>
-                    </el-form-item>
-                  </div>
+                  <el-form-item :prop="'checkCatalogues.' + '[' + $index + ']' + '.find'" :rules="state.formRules.find">
+                    <div v-if="showEditor" >
+                      <t-editor style="width: 380px;" :height="250" ref="myEditor" :toolbar="toolbar"
+                                :value="row.find" @input="inputFind($event,$index)"></t-editor>
+                    </div>
+                    <div v-else >
+                      <div class="reviewTable" v-html="row.find" ></div>
+                    </div>
+                  </el-form-item>
                 </template>
               </el-table-column>
               <el-table-column label="审核结果" align="center" >
-                <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">
-                        <el-radio
-                            style="height: 100px"
-                            v-model="i.result"
-                            :label="1"
-                           :disabled="state.title === '查看'"
-                        > </el-radio>
-                      </el-form-item>
-                    </div>
-                  </template>
-                </el-table-column>
+<!--                <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">-->
+<!--                        <el-radio-->
+<!--                            style="height: 100px"-->
+<!--                            v-model="i.result"-->
+<!--                            :label="1"-->
+<!--                           :disabled="state.title === '查看'"-->
+<!--                        > </el-radio>-->
+<!--                      </el-form-item>-->
+<!--                    </div>-->
+<!--                  </template>-->
+<!--                </el-table-column>-->
                 <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">
-                        <el-radio
+<!--                    <div v-for="(i,index) in row.checkContents" :key="index">-->
+                      <el-form-item :prop="'checkCatalogues.' + '[' + $index + ']' + '.result'" :rules="state.formRules.result">
+                        <el-checkbox
                             style="height: 100px"
-                            v-model="i.result"
-                            :label="2"
+                            v-model="row.result"
                             :disabled="state.title === '查看'"
-                        ></el-radio>
+                        />
+<!--                        <el-radio-->
+<!--                            style="height: 100px"-->
+<!--                            v-model="row.result"-->
+<!--                            :label="2"-->
+<!--                            :disabled="state.title === '查看'"-->
+<!--                        ></el-radio>-->
                       </el-form-item>
-                    </div>
+<!--                    </div>-->
                   </template>
                 </el-table-column>
 <!--                <el-table-column label="严重不符合" prop="serious" align="center" width="90">-->
@@ -150,12 +163,12 @@
 <!--                  </template>-->
 <!--                </el-table-column>-->
               </el-table-column>
-              <el-table-column label="操作" align="center" width="120" v-if="state.title !== '查看'" >
-                <template #default="scope">
-                  <el-button link type="primary"  @click="addObject(scope.row,scope.$index)" >添加</el-button>
-                  <el-button link type="danger"  @click="delObject(scope.row,scope.$index)" >删除</el-button>
-                </template>
-              </el-table-column>
+<!--              <el-table-column label="操作" align="center" width="120" v-if="state.title !== '查看'" >-->
+<!--                <template #default="scope">-->
+<!--                  <el-button link type="primary"  @click="addObject(scope.row,scope.$index)" >添加</el-button>-->
+<!--                  <el-button link type="danger"  @click="delObject(scope.row,scope.$index)" >删除</el-button>-->
+<!--                </template>-->
+<!--              </el-table-column>-->
 
             </el-table>
           </el-col>
@@ -221,11 +234,16 @@
 import {getCatalogue} from "@/api/qualityManage/catalog";
 import Cookies from "js-cookie";
 import {getUser} from "@/api/onlineEducation/user";
+import TEditor from "@/components/Tinymce/Tinymce.vue";
 
 const emit = defineEmits(["getList"]);
 const dialogVisible = ref(false)
 const superRef = ref()
 const termRef = ref()
+const myEditor = ref();
+const isReview = ref(false);
+const showEditor = ref(true);
+const toolbar = ref('fontsizeselect | undo redo')
 const checkTime = ref([])
 const validateFieldsReview = (rule, value, callback) =>{
   if (checkTime.value && checkTime.value.length >0 ) {
@@ -259,8 +277,8 @@
     // 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' }],
+    pointKey: [{ required: true, message: '请输入审核要点',  trigger: 'blur' }],
+    find: [{ required: true, message: '请输入审核发现',  trigger: 'blur' }],
     result: [{ required: true, message: '',  trigger: 'blur' }],
 
 
@@ -293,6 +311,7 @@
     state.form.companyId = value.companyId
     state.companyList = companyList
   }
+  showEditor.value = false
   state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看'
   if(state.title == '编辑'||state.title == '查看'){
     Object.keys(state.form).forEach(key => {
@@ -301,12 +320,20 @@
       }
     })
     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({})
+    state.form.checkCatalogues = state.form.checkCatalogues.map(item => {
+      return {
+        ...item,
+        result: item.result == 2 ? true:false
       }
     })
+    console.log('1',state.form)
+  }
+  if (state.title == '查看') {
+    showEditor.value = false
+
+  }
+  if (type === 'edit' || type === 'add') {
+    showEditor.value = true;
   }
   await getUserList()
   await getDepartList(state.form.companyId)
@@ -355,6 +382,13 @@
 }
 
 const onSubmit = async () => {
+  console.log('f',state.form)
+  state.form.checkCatalogues = state.form.checkCatalogues.map(item => {
+    return {
+      ...item,
+      result: item.result ? 2:1
+    }
+  })
   state.form.startTime = checkTime.value[0]
   state.form.endTime = checkTime.value[1]
   const valid = await superRef.value.validate();
@@ -478,24 +512,24 @@
   state.showDialog = true
   // state.form.checkCatalogues.push({checkContents: [{}]})
 }
-const addObject = (val,itemIndex) => {
-  state.form.checkCatalogues.forEach((item,index) => {
-    if(index == itemIndex){
-      item.checkContents.push({})
-    }
-  })
-}
-const delObject = (val,itemIndex) => {
-  state.form.checkCatalogues.forEach((item,index) => {
-    if(index == itemIndex){
-      if(item.checkContents.length == 1){
-        state.form.checkCatalogues.splice(index,1)
-      }else {
-        item.checkContents.pop()
-      }
-    }
-  })
-}
+// const addObject = (val,itemIndex) => {
+//   state.form.checkCatalogues.forEach((item,index) => {
+//     if(index == itemIndex){
+//       item.checkContents.push({})
+//     }
+//   })
+// }
+// const delObject = (val,itemIndex) => {
+//   state.form.checkCatalogues.forEach((item,index) => {
+//     if(index == itemIndex){
+//       if(item.checkContents.length == 1){
+//         state.form.checkCatalogues.splice(index,1)
+//       }else {
+//         item.checkContents.pop()
+//       }
+//     }
+//   })
+// }
 const handleCloseDialog = () => {
   state.termForm = {
     id: null,
@@ -507,9 +541,7 @@
 const onSubmitTerm = async () =>{
   const valid = await termRef.value.validate();
   if(valid){
-
     state.form.checkCatalogues.push({
-      checkContents: [{}],
       catalogueId:state.termForm.id,
       number: state.termForm.number,
       mess: state.termForm.mess})
@@ -528,6 +560,14 @@
 
 
 };
+const inputFind = (val,index)=> {
+  state.form.checkCatalogues[index].find = val
+}
+const inputPonit = (val,index)=> {
+  state.form.checkCatalogues[index].pointKey = val
+}
+
+
 defineExpose({
   openDialog
 });

--
Gitblit v1.9.2