| | |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | :title="state.title" |
| | | width="700px" |
| | | width="950px" |
| | | :before-close="handleClose" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" > |
| | | <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId"> |
| | | <el-select v-model="state.form.companyId" placeholder="请选择" clearable @change="getDeptList"> |
| | | <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" > |
| | | <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" |
| | | :key="item.id" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="受审核部门:" prop="deptId"> |
| | | <el-select |
| | | clearable |
| | | v-model="state.form.deptId" |
| | | :disabled="state.title =='查看'" |
| | | filterable |
| | | placeholder="选择受审核部门" |
| | | style="width: 100%" |
| | | @change="getCaluses" |
| | | > |
| | | <el-option |
| | | v-for="item in state.deptList" |
| | | :key="item.deptId" |
| | | :label="item.deptName" |
| | | :value="item.deptId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="受审核人:" prop="internalAuditCheckPeople"> |
| | | <el-select clearable v-model="state.form.internalAuditCheckPeople" :disabled="state.title =='查看'" value-key="userId" filterable multiple placeholder="受审核人" style="width: 100%"> |
| | | <el-option |
| | | v-for="item in state.userList" |
| | | :key="item.userId" |
| | | :label="item.name" |
| | | :value="item" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="内审员:" prop="auditId"> |
| | | <el-select clearable v-model="state.form.auditId" :disabled="state.title =='查看'" filterable placeholder="内审员" style="width: 100%"> |
| | | <el-option |
| | | v-for="item in state.userList" |
| | | :key="item.userId" |
| | | :label="item.name" |
| | | :value="item.userId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="内审时间:" prop="auditDate"> |
| | | <el-date-picker |
| | | v-model="state.form.auditDate" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="请选择内审时间" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="对应认证标准条款(过程):" prop="caluseNum"> |
| | | <el-input v-model.trim="state.form.caluseNum" type="textarea" readonly :autosize="{ minRows: 2 }"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检查内容:" prop="caluseContent"> |
| | | <el-input v-model.trim="state.form.caluseContent" type="textarea" readonly :autosize="{ minRows: 2 }"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检查记录:" prop="checkRecord"> |
| | | <el-input v-model.trim="state.form.checkRecord" type="textarea" :readonly="state.title =='查看'" :autosize="{ minRows: 2 }"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="不符合标记:" prop="inconsistent"> |
| | | <el-input v-model.trim="state.form.inconsistent" type="textarea" :readonly="state.title =='查看'" :autosize="{ minRows: 2 }"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="文件:" prop="filePath">--> |
| | | <!-- <el-upload accept=".doc,.docx" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >--> |
| | | <!-- <el-button type="primary">点击上传</el-button>--> |
| | | <!-- <template #tip>--> |
| | | <!-- <div class="el-upload__tip">支持上传.doc、.docx格式文档,尺寸小于5M,最多可上传1份</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="受审核部门:" prop="deptId"> |
| | | <el-select |
| | | clearable |
| | | v-model="state.form.deptId" |
| | | :disabled="state.title =='查看'" |
| | | filterable |
| | | placeholder="选择受审核部门" |
| | | style="width: 100%" |
| | | @change="getCaluses" |
| | | > |
| | | <el-option |
| | | v-for="item in state.deptList" |
| | | :key="item.deptId" |
| | | :label="item.deptName" |
| | | :value="item.deptId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <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 |
| | | v-for="item in state.interUserList" |
| | | :key="item.personId" |
| | | :label="item.personName" |
| | | :value="item.personId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="内审时间:" prop="startTime"> |
| | | <el-date-picker |
| | | :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" |
| | | 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>--> |
| | | </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> |
| | | <el-table-column label="审核要点" prop="pointKey" align="center" width="180"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <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"> |
| | | <el-input style="margin-top: 10px" :disabled="state.title === '查看'" type="textarea" :rows="4" v-model="i.find" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </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="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 |
| | | style="height: 100px" |
| | | v-model="i.result" |
| | | :label="2" |
| | | :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"> |
| | | <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> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer v-if="state.title !='查看'"> |
| | | <span class="dialog-footer"> |
| | |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog |
| | | v-model="state.showDialog" |
| | | title="" |
| | | width="500" |
| | | :before-close="handleCloseDialog" |
| | | > |
| | | <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-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> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="handleCloseDialog" size="default">取 消</el-button> |
| | | <el-button type="primary" @click="onSubmitTerm" size="default" v-preReClick>确认</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | <script setup> |
| | | import {reactive, ref, toRefs, defineEmits, nextTick, onMounted} from 'vue' |
| | | import {ElMessage} from "element-plus"; |
| | | import {ElMessage, ElTooltip} from "element-plus"; |
| | | import {Base64} from "js-base64" |
| | | import {getToken} from "@/utils/auth"; |
| | | import { |
| | | 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 checkFiles = (rule, value, callback) => { |
| | | if (state.fileList.length == 0) { |
| | | callback(new Error('请上传文件')) |
| | | const termRef = ref() |
| | | const checkTime = ref([]) |
| | | const validateFieldsReview = (rule, value, callback) =>{ |
| | | if (checkTime.value && checkTime.value.length >0 ) { |
| | | callback(); |
| | | } else { |
| | | callback() |
| | | callback(new Error('请选择时间')); |
| | | } |
| | | } |
| | | const state = reactive({ |
| | |
| | | form: { |
| | | id: null, |
| | | deptId: null, |
| | | internalAuditCheckPeople:[], |
| | | auditId: null, |
| | | auditDate: '', |
| | | caluseNum: '', |
| | | caluseContent: '', |
| | | checkRecord: '', |
| | | inconsistent: '', |
| | | companyId: null |
| | | personId: null, |
| | | startTime: '', |
| | | endTime:'', |
| | | companyId: null, |
| | | checkCatalogues: [] |
| | | }, |
| | | showDialog:false, |
| | | termForm: { |
| | | id: null, |
| | | mess: '', |
| | | number: '' |
| | | }, |
| | | formRules:{ |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | deptId: [{ required: true, message: '请选择受审核部门', trigger: 'blur' }], |
| | | internalAuditCheckPeople: [{ required: true, message: '请选择受审核人', trigger: 'blur' }], |
| | | auditId: [{ required: true, message: '请选择内审员', trigger: 'blur' }], |
| | | auditDate: [{ required: true, message: '请选择内审时间', trigger: 'blur' }], |
| | | checkRecord: [{ required: true, message: '请填写检查记录', trigger: 'blur' }] |
| | | personId: [{ 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' }], |
| | | result: [{ required: true, message: '', trigger: 'blur' }], |
| | | |
| | | |
| | | }, |
| | | rules: { |
| | | id: [{ required: true, message: '请选择体系标准款项', trigger: 'blur' }] |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [], |
| | | deptList: [], |
| | | userList: [], |
| | | uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile', |
| | | header: { |
| | | Authorization: getToken() |
| | | }, |
| | | fileLimit: 1, |
| | | fileList: [] |
| | | interUserList: [], |
| | | menuOptions: [] |
| | | }) |
| | | const props = { |
| | | checkStrictly: true, |
| | | value: 'id', |
| | | label: 'mess' |
| | | |
| | | } |
| | | onMounted(() => { |
| | | |
| | | }); |
| | | |
| | | const openDialog = async (type, value,companyId, isAdmin, companyList) => { |
| | | state.isAdmin = isAdmin |
| | | if(isAdmin){ |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.form.companyId = userInfo.companyId |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.companyList = companyList |
| | | } |
| | | await getUserList(companyId) |
| | | await getDepartList(companyId) |
| | | state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' |
| | | state.form.companyId = companyId |
| | | if(state.title == '编辑'||state.title == '查看'){ |
| | | Object.keys(state.form).forEach(key => { |
| | | if (key in value) { |
| | | state.form[key] = value[key] |
| | | } |
| | | }) |
| | | await getInfo(value.id) |
| | | |
| | | // if(value.filePath) { |
| | | // const obj = { |
| | | // url: value.filePath, |
| | | // name: '模板文件' |
| | | // } |
| | | // state.fileList = [obj] |
| | | // } |
| | | 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) |
| | | await getCatalogList() |
| | | dialogVisible.value = true |
| | | } |
| | | |
| | | |
| | | const onSubmit = async () => { |
| | | const valid = await superRef.value.validate(); |
| | | if(valid){ |
| | | state.form.internalAuditCheckPeople = state.form.internalAuditCheckPeople.map(item=>{ |
| | | const getCatalogList = async() => { |
| | | state.menuOptions = []; |
| | | const res = await getSysClause() |
| | | if(res.code == 200){ |
| | | state.menuOptions = res.data.map(i=>{ |
| | | return { |
| | | id: item.id || null, |
| | | auditUserId: item.userId, |
| | | companyId: item.companyId || null, |
| | | auditUserName: item.name |
| | | 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 = '') => { |
| | | nodes.forEach((node, index) => { |
| | | node.name = `${node.number} ${node.mess}`; |
| | | // 递归处理子节点(传递当前序号路径) |
| | | if (node.children && node.children.length) { |
| | | traverse(node.children, node.number); |
| | | } |
| | | }); |
| | | }; |
| | | traverse(val); // 从根节点开始遍历 |
| | | return val; |
| | | } |
| | | |
| | | 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) |
| | | if(state.title == '新增'){ |
| | | const {id,...data} = state.form |
| | | const res = await addInternalAuditCheck(data) |
| | |
| | | state.form.internalAuditCheckPeople = res.data.internalAuditCheckPeople?.map(item=>{ |
| | | return { |
| | | id: item.id, |
| | | auditId: item.auditId, |
| | | personId: item.personId, |
| | | userId: item.auditUserId, |
| | | name: item.auditUserName, |
| | | companyId: item.companyId |
| | |
| | | |
| | | const getDeptList = async ()=>{ |
| | | state.form.deptId = null |
| | | state.form.internalAuditCheckPeople = [] |
| | | state.form.auditId = null |
| | | state.form.caluseNum = '' |
| | | state.form.caluseContent = '' |
| | | state.form.personId = null |
| | | await getDepartList(state.form.companyId) |
| | | await getUserList(state.form.companyId) |
| | | await getUserList() |
| | | } |
| | | |
| | | const getDepartList = async (companyId)=> { |
| | | if(state.isAdmin && (companyId == 0 || companyId == null)){ |
| | | return |
| | | } |
| | | const params = { |
| | | companyId: companyId |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | const getUserList = async (companyId,deptId)=> { |
| | | const res = await listUser({pageIndex: 1,pageSize: 999, companyId: companyId,deptId: deptId}) |
| | | 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 |
| | |
| | | userId: user |
| | | } |
| | | }):[] |
| | | 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) |
| | | } |
| | | } |
| | | |
| | | const getCaluses = async (value)=>{ |
| | | await getUserList(state.form.companyId,value) |
| | | const deptCaluses = state.deptList.find(i=>i.deptId == state.form.deptId)?.caluseVO1List |
| | | if(deptCaluses && Array.isArray(deptCaluses)){ |
| | | state.form.caluseNum = deptCaluses.map(i=>i.clauseNum).join('、') |
| | | state.form.caluseContent = deptCaluses.map(i=>i.content).join(';\n') |
| | | } |
| | | const getCaluses = async ()=>{ |
| | | state.form.personId = null |
| | | await getUserList() |
| | | } |
| | | // const handleAvatarSuccess = (res, uploadFile) => { |
| | | // if(res.code == 200){ |
| | | // state.form.filePath = res.data.path |
| | | // state.form.format = '.' + res.data.filename.split('.')[1] |
| | | // }else{ |
| | | // state.fileList = [] |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: '文件上传失败' |
| | | // }) |
| | | // } |
| | | // } |
| | | // |
| | | // const showTip =()=>{ |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: '超出文件上传数量' |
| | | // }); |
| | | // } |
| | | // const picSize = async (rawFile) => { |
| | | // if(rawFile.size / 1024 / 1024 > 5){ |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: '文件大小不能超过5M' |
| | | // }); |
| | | // return false |
| | | // } |
| | | // }; |
| | | // const handleRemove = async (file, uploadFiles) => { |
| | | // let path = state.form.filePath; |
| | | // await delPic({path: path}).then(res => { |
| | | // if(res.code == 200){ |
| | | // // ElMessage({ |
| | | // // type: 'success', |
| | | // // message: '文件已删除' |
| | | // // }) |
| | | // state.form.filePath = '' |
| | | // state.form.format = '' |
| | | // }else{ |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.message |
| | | // }) |
| | | // } |
| | | // }).catch(() => { |
| | | // state.form.imgUrl = '' |
| | | // }); |
| | | // } |
| | | |
| | | const handleClose = () => { |
| | | state.form = { |
| | | id: null, |
| | | deptId: null, |
| | | internalAuditCheckPeople:[], |
| | | auditId: null, |
| | | auditDate: '', |
| | | caluseNum: '', |
| | | caluseContent: '', |
| | | checkRecord: '', |
| | | inconsistent: '', |
| | | companyId: null |
| | | personId: null, |
| | | startTime: '', |
| | | endTime:'', |
| | | companyId: null, |
| | | checkCatalogues: [] |
| | | } |
| | | state.fileList = [] |
| | | |
| | | superRef.value.clearValidate(); |
| | | superRef.value.resetFields() |
| | | dialogVisible.value = false; |
| | | } |
| | | const addTableData = () => { |
| | | state.termForm = { |
| | | id: null, |
| | | mess: '', |
| | | number: '' |
| | | } |
| | | 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 handleCloseDialog = () => { |
| | | state.termForm = { |
| | | id: null, |
| | | mess: '', |
| | | number: '' |
| | | } |
| | | state.showDialog = false |
| | | } |
| | | 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}) |
| | | state.showDialog = false |
| | | } |
| | | |
| | | } |
| | | const handleTreeSelect = (node) => { |
| | | state.menuOptions.forEach(item => { |
| | | if(item.id == node){ |
| | | state.termForm.id = node |
| | | state.termForm.number = item.clauseNum |
| | | state.termForm.mess = item.name |
| | | } |
| | | }) |
| | | |
| | | |
| | | }; |
| | | defineExpose({ |
| | | openDialog |
| | | }); |
| | |
| | | flex-direction: column; |
| | | align-items: flex-start; |
| | | } |
| | | :deep(.el-radio__label) { |
| | | display: none !important; /* !important提高优先级,确保生效 */ |
| | | } |
| | | :deep(.el-form-item__content){ |
| | | display: inline; |
| | | } |
| | | :deep(.el-cascader-menu__list) { |
| | | max-width: 400px !important; |
| | | } |
| | | |
| | | } |
| | | </style> |