| | |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | :title="title" |
| | | width="50%" |
| | | width="1100px" |
| | | :before-close="handleClose" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="100px" > |
| | | <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin"> |
| | | <el-form-item label="单位名称:" prop="companyId" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyId" |
| | | filterable |
| | |
| | | </el-form-item> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="受审核部门" prop="deptId" align="center"> |
| | | <el-table-column label="受审核部门" prop="deptId" align="center" width="190"> |
| | | <template #default="{row,$index}"> |
| | | <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.deptId'" :rules="state.rules.deptId"> |
| | | <el-select |
| | |
| | | <span>{{row.termNum}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="审核员" prop="dept" align="center"> |
| | | <el-table-column label="审核员" prop="dept" align="center" width="230"> |
| | | <template #default="{row,$index}"> |
| | | <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.checkId'" :rules="state.rules.checkId"> |
| | | <el-select clearable v-model="row.checkId" :disabled="title =='查看'" filterable style="width: 240px"> |
| | | <el-select clearable v-model="row.checkId" :disabled="title =='查看'" collapse-tags collapse-tags-tooltip filterable multiple style="width: 240px"> |
| | | <el-option |
| | | v-for="item in state.peopleList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | v-for="item in state.interUserList" |
| | | :key="item.personId" |
| | | :label="item.personName" |
| | | :value="item.personId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | import {getUser} from "@/api/onlineEducation/user"; |
| | | import {getDept} from "@/api/qualityObjectives/object"; |
| | | import {addPlan, editPlan} from "@/api/selfProblems/plan"; |
| | | import {getPersonPage} from "@/api/selfProblems/nameList"; |
| | | |
| | | const dialogVisible = ref(false); |
| | | const title = ref(""); |
| | |
| | | ratifyId: null, //批准人id |
| | | deptList: [] |
| | | }, |
| | | interUserList: [], |
| | | formRules:{ |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | year: [{ required: true, message: '请输入年份', trigger: 'blur' }], |
| | |
| | | checkTime.value = [state.form.reviewStart,state.form.reviewEnd] |
| | | checkStartTime.value = [state.form.firstStarttime,state.form.firstEndtime] |
| | | checkEndTime.value = [state.form.lastStarttime,state.form.lastEndtime] |
| | | state.form.deptList = state.form.deptList.map(item => { |
| | | return { |
| | | ...item, |
| | | checkId:item.checkId.split(',').map(Number) |
| | | } |
| | | }) |
| | | await nextTick(()=> { |
| | | state.form.deptList.forEach(item => { |
| | | |
| | | |
| | | state.deptList.forEach(i => { |
| | | if(i.deptId == item.deptId){ |
| | | item.termNum = sortVersionNumbers(i.caluseVO1List?.map(x=>x.clauseNum)).join('、') |
| | |
| | | }) |
| | | }) |
| | | } |
| | | await getUserList() |
| | | await getPeopleList() |
| | | |
| | | dialogVisible.value = true; |
| | |
| | | |
| | | const onSubmit = async () => { |
| | | state.form.reviewStart = checkTime.value[0] |
| | | state.form.reviewEnd = checkTime.value[0] |
| | | state.form.reviewEnd = checkTime.value[1] |
| | | state.form.firstStarttime = checkStartTime.value[0] |
| | | state.form.firstEndtime = checkStartTime.value[1] |
| | | state.form.lastStarttime = checkEndTime.value[0] |
| | |
| | | ElMessage.warning('请添加受审部门信息') |
| | | return |
| | | } |
| | | |
| | | console.log('111',state.form) |
| | | state.form.deptList.forEach(item => { |
| | | item.checkId = item.checkId.join(',') |
| | | }) |
| | | if(valid){ |
| | | if(title.value === '新增'){ |
| | | const {id, ...data} = JSON.parse(JSON.stringify(state.form)) |
| | | const res = await addPlan(data) |
| | | if(res.code === 200){ |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '新增成功' |
| | | }); |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | try { |
| | | const res = await addPlan(data) |
| | | if(res.code === 200){ |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '新增成功' |
| | | }); |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | emit("getList") |
| | | busRef.value.clearValidate(); |
| | | reset(); |
| | | dialogVisible.value = false; |
| | | }catch (e) { |
| | | state.form.deptList.forEach(item => { |
| | | item.checkId = item.checkId.split(',').map(Number) |
| | | }) |
| | | } |
| | | emit("getList") |
| | | busRef.value.clearValidate(); |
| | | reset(); |
| | | dialogVisible.value = false; |
| | | |
| | | }else if(title.value === '编辑'){ |
| | | const {...data} = JSON.parse(JSON.stringify(state.form)) |
| | | const res = await editPlan(data) |
| | |
| | | state.form.proofreadId = null |
| | | state.form.checkId = null |
| | | state.form.ratifyId = null |
| | | state.form.deptList.forEach(item => { |
| | | item.checkId = [] |
| | | }) |
| | | getPeopleList() |
| | | getUserList() |
| | | getDeptList() |
| | | } |
| | | const reset = () => { |
| | |
| | | checkStartTime.value = [] |
| | | checkEndTime.value = [] |
| | | } |
| | | 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 |
| | | const {id, ...data} = item |
| | | return { |
| | | ...data, |
| | | userId: user |
| | | } |
| | | }):[] |
| | | state.interUserList = state.userList |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | | }); |