| | |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/chapters', |
| | | component: Layout, |
| | | redirect: '/chapters', |
| | | children: [ |
| | | { |
| | | path: '/chapters', |
| | | component: () => import('@/views/work/onlineEducation/courseManage/courseChapters/index.vue'), |
| | | name: 'Chapters', |
| | | |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/chooseStu', |
| | | component: Layout, |
| | | redirect: '/chooseStu', |
| | | children: [ |
| | | { |
| | | path: '/chooseStu', |
| | | component: () => import('@/views/work/onlineEducation/classHourBatch/components/handleStudent.vue'), |
| | | name: 'ChooseStu', |
| | | |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/examStu', |
| | | component: Layout, |
| | | redirect: '/examStu', |
| | | children: [ |
| | | { |
| | | path: '/examStu', |
| | | component: () => import('@/views/work/onlineEducation/groupExams/components/student.vue'), |
| | | name: 'ExamStu', |
| | | |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/correctExam', |
| | | component: Layout, |
| | | redirect: '/correctExam', |
| | | children: [ |
| | | { |
| | | path: '/correctExam', |
| | | component: () => import('@/views/work/onlineEducation/groupExams/components/correctExam.vue'), |
| | | name: 'CorrectExam', |
| | | |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/newPage', |
| | | component: Layout, |
| | | redirect: '/newPage', |
| | | children: [ |
| | | { |
| | | path: '/newPage', |
| | | component: () => import('@/views/work/onlineEducation/systemManage/banner/components/newPage.vue'), |
| | | name: 'NewPage', |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '', |
| | | component: Layout, |
| | | redirect: '/index', |
| | |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-position="top" label-width="150px" > |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="1.企业的基本情况,主要包括:法人证书编号,所属部门、法人代表姓名、身份证号、职务、人员总数、技术人员数、不良情况记录、保密等资质。" prop="basic" > |
| | | <el-input v-model="state.form.basic" :rows="4" type="textarea" :disabled="title === '查看'"/> |
| | | </el-form-item> |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import {addNotice} from "@/api/backManage/notice"; |
| | | import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate"; |
| | | import {addCompany, checkName, distributeCompany, editCompany} from "@/api/onlineEducation/company"; |
| | | import {addCompany, checkName, distributeCompany, editCompany, getCompany} from "@/api/onlineEducation/company"; |
| | | import {verifyPhone} from "@/utils/validate"; |
| | | import {addBasic, editBasic} from "@/api/companyInfo/basicInfo"; |
| | | import Cookies from "js-cookie"; |
| | |
| | | resource: '', |
| | | }, |
| | | formRules:{ |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | basic: [{ required: true, message: '请输入', trigger: 'blur' }], |
| | | introduce:[{ required: true, message: '请输入', trigger: 'blur' }], |
| | | target: [{ required: true, message: '请输入', trigger: 'blur' }], |
| | |
| | | epiboly: [{ required: true, message: '请输入', trigger: 'blur' }], |
| | | resource: [{ required: true, message: '请输入', trigger: 'blur' }], |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [] |
| | | }) |
| | | |
| | | |
| | | const openDialog = async (type, value) => { |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.form = JSON.parse(JSON.stringify(value)); |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | } |
| | | dialogVisible.value = true; |
| | | } |
| | | |
| | | const onSubmit = async () => { |
| | | const valid = await busRef.value.validate(); |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.form.companyId = userInfo.companyId |
| | | if(!state.isAdmin){ |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.form.companyId = userInfo.companyId |
| | | } |
| | | if(valid){ |
| | | if(title.value === '新增'){ |
| | | const {id, ...data} = JSON.parse(JSON.stringify(state.form)) |
| | |
| | | const reset = () => { |
| | | state.form = { |
| | | id: '', |
| | | companyId: null, |
| | | companyName: '', |
| | | basic: '', |
| | | introduce: '', |
| | | target: '', |
| | | quality: '', |
| | | activity: '', |
| | | audit: '', |
| | | epiboly: '', |
| | | resource: '', |
| | | |
| | | } |
| | | state.companyList = [] |
| | | } |
| | | const selectValue = (val) => { |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap;"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form :model="state.noticeForm" size="default" ref="noticeRef" :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="110px" > |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.noticeForm.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="企业概括:" v-if="showEditor" required> |
| | | <t-editor style="width: 800px" ref="myEditor" :value="state.noticeForm.companySummary" ></t-editor> |
| | | </el-form-item> |
| | |
| | | import useSettingsStore from "@/store/modules/settings"; |
| | | import {addCom, editCom} from "@/api/companyInfo/overview"; |
| | | import Cookies from "js-cookie"; |
| | | import {getCompany} from "@/api/onlineEducation/company"; |
| | | |
| | | |
| | | const emit = defineEmits(["getList"]); |
| | |
| | | companyName: '' |
| | | }, |
| | | formRules:{ |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | companySummary: [{ required: true, message: '企业概况', trigger: 'blur' }], |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [] |
| | | |
| | | }) |
| | | |
| | |
| | | |
| | | }); |
| | | const openDialog = async (type, value) => { |
| | | |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | isReview.value = false; |
| | | showEditor.value = false |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.noticeForm.companySummary = value.companySummary |
| | | state.noticeForm.id = value.id |
| | | if(state.isAdmin){ |
| | | state.noticeForm.companyId = value.companyId |
| | | state.noticeForm.companyName = value.companyName |
| | | } |
| | | } |
| | | if(type === 'review') { |
| | | showEditor.value = false |
| | |
| | | }) |
| | | } |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | |
| | | const onSubmit = async () => { |
| | | state.noticeForm.companySummary = tinyMCE.activeEditor.getContent(); |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.noticeForm.companyId = userInfo.companyId |
| | | state.noticeForm.companyName = userInfo.companyName |
| | | if(!state.isAdmin){ |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.noticeForm.companyId = userInfo.companyId |
| | | state.noticeForm.companyName = userInfo.companyName |
| | | } |
| | | // // myEditor.value.submit(); |
| | | const valid = await noticeRef.value.validate(); |
| | | if(valid){ |
| | |
| | | } |
| | | } |
| | | |
| | | const selectValue = (val) => { |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.noticeForm.companyId = item.id |
| | | } |
| | | }) |
| | | } |
| | | const handleClose = () => { |
| | | if(title.value ==="新增"|| title.value ==='编辑'){ |
| | | myEditor.value.clear(); |
| | |
| | | } |
| | | |
| | | // reset() |
| | | state.companyList = [] |
| | | noticeRef.value.clearValidate(); |
| | | dialogVisible.value = false; |
| | | } |
| | |
| | | companyId:null, |
| | | companyName: '' |
| | | } |
| | | state.companyList = [] |
| | | } |
| | | |
| | | defineExpose({ |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form :model="state.noticeForm" size="default" ref="noticeRef" :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="110px" > |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.noticeForm.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' ||!state.isAdmin" |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="质量方针:" v-if="showEditor" required> |
| | | <t-editor style="width: 800px" ref="myEditor" :value="state.noticeForm.policy" ></t-editor> |
| | | </el-form-item> |
| | |
| | | import {addCom, editCom} from "@/api/companyInfo/overview"; |
| | | import Cookies from "js-cookie"; |
| | | import {addPolicy, editPolicy} from "@/api/companyInfo/policy"; |
| | | import {getCompany} from "@/api/onlineEducation/company"; |
| | | |
| | | |
| | | const emit = defineEmits(["getList"]); |
| | |
| | | companyName: '' |
| | | }, |
| | | formRules:{ |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | policy: [{ required: true, message: '质量方针', trigger: 'blur' }], |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [] |
| | | |
| | | }) |
| | | |
| | |
| | | |
| | | }); |
| | | const openDialog = async (type, value) => { |
| | | |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | isReview.value = false; |
| | | showEditor.value = false |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.noticeForm.policy = value.policy |
| | | state.noticeForm.id = value.id |
| | | if(state.isAdmin){ |
| | | state.noticeForm.companyId = value.companyId |
| | | state.noticeForm.companyName = value.companyName |
| | | } |
| | | } |
| | | if(type === 'review') { |
| | | showEditor.value = false |
| | |
| | | |
| | | const onSubmit = async () => { |
| | | state.noticeForm.policy = tinyMCE.activeEditor.getContent(); |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.noticeForm.companyId = userInfo.companyId |
| | | state.noticeForm.companyName = userInfo.companyName |
| | | if(!state.isAdmin){ |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.noticeForm.companyId = userInfo.companyId |
| | | } |
| | | // // myEditor.value.submit(); |
| | | const valid = await noticeRef.value.validate(); |
| | | if(valid){ |
| | |
| | | companyId:null, |
| | | companyName: '' |
| | | } |
| | | state.companyList = [] |
| | | } |
| | | const selectValue = (val) => { |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.noticeForm.companyId = item.id |
| | | } |
| | | }) |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | |
| | | defineExpose({ |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" > |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="取得资质证书名称:" prop="certificateName" > |
| | | <el-input v-model="state.form.certificateName" :disabled="title === '查看'" placeholder="请输入取得资质证书名称"/> |
| | | </el-form-item> |
| | |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import {addNotice} from "@/api/backManage/notice"; |
| | | import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate"; |
| | | import {addCompany, checkName, distributeCompany, editCompany} from "@/api/onlineEducation/company"; |
| | | import {addCompany, checkName, distributeCompany, editCompany, getCompany} from "@/api/onlineEducation/company"; |
| | | import {verifyPhone} from "@/utils/validate"; |
| | | import {getToken} from "@/utils/auth"; |
| | | import {addQualification, editQualification} from "@/api/companyInfo/qualifications"; |
| | |
| | | fileName: '' |
| | | }, |
| | | formRules:{ |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | certificateName:[{ required: true, message: '请输入取得资质证书名称', trigger: 'blur' }], |
| | | certificateNum:[{ required: true, message: '请输入证书编号', trigger: 'blur' }], |
| | | effectiveTime:[{ required: true, message: '请选择截止日期', trigger: 'blur' }], |
| | |
| | | Authorization: getToken() |
| | | }, |
| | | fileList: [], |
| | | companyList: [], |
| | | isAdmin: false |
| | | }) |
| | | |
| | | |
| | | const openDialog = async (type, value) => { |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.form = JSON.parse(JSON.stringify(value)); |
| | |
| | | name: state.form.fileName |
| | | } |
| | | state.fileList.push(obj) |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | } |
| | | dialogVisible.value = true; |
| | | } |
| | | |
| | | const onSubmit = async () => { |
| | | const valid = await busRef.value.validate(); |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.form.companyId = userInfo.companyId |
| | | if(!state.isAdmin){ |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.form.companyId = userInfo.companyId |
| | | } |
| | | if(valid){ |
| | | if(title.value === '新增'){ |
| | | const {id, ...data} = JSON.parse(JSON.stringify(state.form)) |
| | |
| | | fileName: '' |
| | | } |
| | | state.fileList = []; |
| | | state.companyList = [] |
| | | } |
| | | const selectValue = (val) => { |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap;"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | :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> |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="模板名称:" prop="templateName"> |
| | | <el-input v-model.trim="state.form.templateName" :disabled="state.title =='查看'" placeholder="模板名称"></el-input> |
| | | </el-form-item> |
| | |
| | | companyId: null |
| | | }, |
| | | formRules:{ |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | templateName: [{ required: true, message: '请输入模板名称', trigger: 'blur' }], |
| | | industryType: [{ required: true, message: '请选择行业类型', trigger: 'blur' }], |
| | | filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }] |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [], |
| | | uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile', |
| | | header: { |
| | | Authorization: getToken() |
| | |
| | | |
| | | }); |
| | | |
| | | const openDialog = async (type, value,companyId) => { |
| | | const openDialog = async (type, value,companyId, isAdmin, companyList) => { |
| | | state.isAdmin = isAdmin |
| | | if(isAdmin){ |
| | | state.companyList = companyList |
| | | } |
| | | state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' |
| | | state.form.companyId = companyId |
| | | if(state.title == '编辑'||state.title == '查看'){ |
| | |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | data.companyList = res.data.list?res.data.list:[] |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | // data.queryParams.companyId = data.companyList[0].id |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | |
| | | } |
| | | |
| | | const openDialog = (type, value) => { |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId); |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList); |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | |
| | | :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> |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="信息平台名称:" prop="platformName"> |
| | | <el-input v-model.trim="state.form.platformName" :disabled="state.title =='查看'" placeholder="信息平台名称"></el-input> |
| | | </el-form-item> |
| | |
| | | companyId: null |
| | | }, |
| | | formRules:{ |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | platformName: [{ required: true, message: '请输入信息平台名称', trigger: 'blur' }], |
| | | buildDate: [{ required: true, message: '请选择平台创建时间', trigger: 'blur' }] |
| | | } |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [] |
| | | }) |
| | | onMounted(() => { |
| | | |
| | | }); |
| | | |
| | | const openDialog = async (type, value,companyId) => { |
| | | const openDialog = async (type, value,companyId, isAdmin, companyList) => { |
| | | state.isAdmin = isAdmin |
| | | if(isAdmin){ |
| | | state.companyList = companyList |
| | | } |
| | | state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' |
| | | state.form.companyId = companyId |
| | | if(state.title == '编辑'||state.title == '查看'){ |
| | |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | data.companyList = res.data.list?res.data.list:[] |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | // data.queryParams.companyId = data.companyList[0].id |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | |
| | | const openDialog = (type, value) => { |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId); |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList ); |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | |
| | | :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 :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-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称:" prop="deptName"> |
| | | <el-input v-model.trim="state.form.deptName" :disabled="state.title =='查看'" placeholder="部门名称"></el-input> |
| | | </el-form-item> |
| | |
| | | <el-option |
| | | v-for="item in state.userList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :label="item.username" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | |
| | | delCaluseIds: [], |
| | | companyId: null |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [], |
| | | userList: [], |
| | | departList: [], |
| | | sysClauseList: [], |
| | | oldClauseList: [], |
| | | formRules:{ |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | deptName: [{ required: true, message: '请输入部门名称', trigger: 'blur' }], |
| | | leaderUserId: [{ required: true, message: '请选择负责人', trigger: 'blur' }], |
| | | parentId: [{ required: true, message: '请选择负责部门', trigger: 'blur' }], |
| | |
| | | }); |
| | | const disabled = ref(false); |
| | | const userInfo = ref() |
| | | const openDialog = async (type, value, companyId) => { |
| | | const openDialog = async (type, value, companyId, isAdmin, companyList) => { |
| | | state.isAdmin = isAdmin |
| | | if(isAdmin){ |
| | | state.companyList = companyList |
| | | } |
| | | await getUserList() |
| | | await getDepartList(companyId) |
| | | await getSysClauseList() |
| | |
| | | } |
| | | }; |
| | | |
| | | const getDeptList = async ()=>{ |
| | | await getDepartList(state.form.companyId) |
| | | } |
| | | |
| | | const getDepartList = async (companyId)=> { |
| | | const params = { |
| | | pageNum: 1, |
| | |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | data.companyList = res.data.list?res.data.list:[] |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | |
| | | const openDialog = (type, value) => { |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId); |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList ); |
| | | } |
| | | const openDutyDialog = (value) =>{ |
| | | dutyDialogRef.value.openDialog(value); |
| | |
| | | const download = async (val) => { |
| | | const templatePath = '/dutyFile.docx' |
| | | const data = await getDeptDetail(val.deptId) |
| | | console.log(data) |
| | | try { |
| | | generateWordDocument(templatePath, data, `${data.deptName}职责表.docx`); |
| | | } catch (error){ |
| | |
| | | } |
| | | |
| | | const confirmEdit = async ()=>{ |
| | | if(data.form.list.length == 0){ |
| | | data.isEdit = !data.isEdit |
| | | await getList() |
| | | return |
| | | } |
| | | loading.value = true |
| | | const res = await saveDistribution(data.form) |
| | | if(res.code == 200){ |
| | |
| | | ElMessage.warning(res.message) |
| | | } |
| | | loading.value = false |
| | | await getList() |
| | | data.isEdit = !data.isEdit |
| | | } |
| | | |
| | |
| | | > |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" label-width="120px" > |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValueCom" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="年份:" prop="year" > |
| | | <!-- <el-input v-model="state.form.year" placeholder="请输入年份"></el-input>--> |
| | |
| | | v-model="state.form.type" |
| | | placeholder="请选择质量目标级别" |
| | | style="width: 100%" |
| | | @change="changeLevel" |
| | | > |
| | | <el-option |
| | | v-for="item in state.levelList" |
| | |
| | | |
| | | }, |
| | | rules: { |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | year: [{ required: true, message: '请输入年份', trigger: 'blur' }], |
| | | num: [{ required: true, message: '请输入序号', trigger: 'blur' }], |
| | | type: [{ required: true, message: '请选择级别', trigger: 'blur' }], |
| | |
| | | departId: [{ required: true, message: '请选择部门', trigger: 'blur' }], |
| | | objName: [{required: true, message: "质量目标不能为空", trigger: "blur"}], |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [], |
| | | deptList: [], |
| | | peopleList: [], |
| | | yearList: [ |
| | |
| | | |
| | | const openDialog = async (type, value) => { |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | state.form.companyName = userInfo.companyName |
| | | state.form.companyId = userInfo.companyId |
| | | await getDeptList() |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.form = JSON.parse(JSON.stringify(value)); |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | } |
| | | dialogVisible.value = true; |
| | | } |
| | |
| | | qualityTargets:[], |
| | | } |
| | | state.peopleList = [] |
| | | state.companyList = [] |
| | | |
| | | } |
| | | const handleDelete = (val) => { |
| | |
| | | const getPeopleList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | name: val, |
| | | companyId: state.form.companyId |
| | | } |
| | | const res = await getUser(queryParams) |
| | | if (res.code == 200) { |
| | |
| | | if (!/^\d+$/.test(value)) { // 验证是否为数字 |
| | | ElMessage.warning('只能输入数字') |
| | | state.form.year = '' // 重置选择,避免非法值被添加到options中 |
| | | } else if (!state.yearList.some(option => option.value === value)) { // 确保不是已存在的选项 |
| | | } else if (!state.yearList.some(option => option.label === value)) { // 确保不是已存在的选项 |
| | | state.yearList.push({ value, label: value }); // 添加新选项(这里简单地将值和标签设为相同) |
| | | } |
| | | } |
| | | const selectValueCom = (val) => { |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | getDeptList() |
| | | } |
| | | const changeLevel = () => { |
| | | // state.form.companyName = '' |
| | | state.form.departId = null |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | |
| | | defineExpose({ |
| | | openDialog |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap;"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" label-width="120" > |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValueCom" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="质量目标:" prop="qualityId" > |
| | | <el-select |
| | | :disabled="title === '查看'" |
| | | :disabled="title === '查看' || title == '编辑'" |
| | | v-model="state.form.qualityId" |
| | | placeholder="请选择质量目标" |
| | | style="width: 100%" |
| | |
| | | qualityTargets:[], |
| | | }, |
| | | rules: { |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }], |
| | | serial: [{ required: true, message: '请输入序号', trigger: 'blur' }], |
| | | chargeName: [{ required: true, message: '请选择负责人', trigger: 'blur' }], |
| | |
| | | qualityList: [], |
| | | peopleList: [], |
| | | type: null, |
| | | isAdmin: false, |
| | | companyList: [], |
| | | frequencyList: [ |
| | | { |
| | | value: 1, |
| | |
| | | const openDialog = async (type, isCom, value) => { |
| | | |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | state.form.companyName = userInfo.companyName |
| | | state.form.companyId = userInfo.companyId |
| | | state.type = isCom == 'company' ? 1 : 2 |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | await getQualityList() |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | |
| | | } |
| | | |
| | | const getQualityList = async () => { |
| | | const res = await getObject({companyId:state.form.companyId,type: state.type }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | if(state.form.companyId){ |
| | | const res = await getObject({companyId:state.form.companyId,type: state.type }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }else { |
| | | state.qualityList = [] |
| | | } |
| | | |
| | | |
| | | } |
| | | const onSubmit = async () => { |
| | |
| | | } |
| | | state.peopleList = [] |
| | | state.message = '' |
| | | state.companyList = [] |
| | | state.qualityList = [] |
| | | } |
| | | const getPeopleList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | companyId: state.form.companyId, |
| | | name: val |
| | | } |
| | | const res = await getUser(queryParams) |
| | |
| | | console.log('val',val) |
| | | |
| | | } |
| | | const selectValueCom = (val) => { |
| | | state.form.qualityId = null |
| | | state.qualityList = [] |
| | | state.form.qualityTargets = [] |
| | | state.message = '' |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | getQualityList() |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | | }); |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap;"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" > |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValueCom" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="质量目标:" prop="qualityId" > |
| | | <el-select |
| | | :disabled="title === '查看'" |
| | | :disabled="title === '查看' || title == '编辑'" |
| | | v-model="state.form.qualityId" |
| | | placeholder="请选择质量目标" |
| | | style="width: 100%" |
| | |
| | | qualityTargets:[], |
| | | }, |
| | | rules: { |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }], |
| | | number: [{ required: true, message: '请输入编号', trigger: 'blur' }], |
| | | serial: [{ required: true, message: '请输入序号', trigger: 'blur' }], |
| | |
| | | objectList: [], |
| | | qualityList: [], |
| | | peopleList: [], |
| | | isAdmin: false, |
| | | companyList: [], |
| | | }) |
| | | |
| | | onMounted(() => { |
| | |
| | | }); |
| | | const openDialog = async (type, value) => { |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | state.form.companyName = userInfo.companyName |
| | | state.form.companyId = userInfo.companyId |
| | | await getQualityList() |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | await getQualityList() |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.form = JSON.parse(JSON.stringify(value)); |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | } |
| | | dialogVisible.value = true; |
| | | } |
| | | |
| | | const getQualityList = async () => { |
| | | const res = await getObject({companyId:state.form.companyId,type: 1 }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | if(state.form.companyId){ |
| | | const res = await getObject({companyId:state.form.companyId,type: 1 }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }else { |
| | | state.qualityList = [] |
| | | } |
| | | |
| | | |
| | | } |
| | | const onSubmit = async () => { |
| | |
| | | qualityTargets:[], |
| | | } |
| | | state.peopleList = [] |
| | | state.companyList = [] |
| | | state.qualityList = [] |
| | | } |
| | | const getPeopleList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | companyId: state.form.companyId, |
| | | name: val |
| | | } |
| | | const res = await getUser(queryParams) |
| | |
| | | if(res.code == 200){ |
| | | state.form.qualityTargets = res.data.map(item => { |
| | | return { |
| | | id: item.id, |
| | | message: item.message |
| | | } |
| | | }) |
| | |
| | | console.log('val',val) |
| | | |
| | | } |
| | | const selectValueCom = (val) => { |
| | | state.form.qualityId = null |
| | | state.qualityList = [] |
| | | state.form.qualityTargets = [] |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | getQualityList() |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | | }); |
| | |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" > |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.form.companyName" |
| | | filterable |
| | | remote |
| | | :disabled="title == '查看' || title == '编辑' || !state.isAdmin" |
| | | @change="selectValueCom" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | style="width: 100%" |
| | | |
| | | > |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="质量目标:" prop="qualityId" > |
| | | <el-select |
| | | :disabled="title === '查看'" |
| | | :disabled="title === '查看' || title == '编辑'" |
| | | v-model="state.form.qualityId" |
| | | placeholder="请选择质量目标" |
| | | style="width: 100%" |
| | |
| | | qualityTargets:[], |
| | | }, |
| | | rules: { |
| | | companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }], |
| | | number: [{ required: true, message: '请输入编号', trigger: 'blur' }], |
| | | serial: [{ required: true, message: '请输入序号', trigger: 'blur' }], |
| | |
| | | objectList: [], |
| | | qualityList: [], |
| | | peopleList: [], |
| | | isAdmin: false, |
| | | companyList: [], |
| | | }) |
| | | |
| | | onMounted(() => { |
| | |
| | | }); |
| | | const openDialog = async (type, value) => { |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | state.form.companyName = userInfo.companyName |
| | | state.form.companyId = userInfo.companyId |
| | | await getQualityList() |
| | | if(state.isAdmin){ |
| | | state.form.companyId = value.companyId |
| | | state.form.companyName = value.companyName |
| | | } |
| | | |
| | | await getQualityList() |
| | | |
| | | title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; |
| | | if(type === 'edit' || type === 'review') { |
| | | state.form = JSON.parse(JSON.stringify(value)); |
| | |
| | | } |
| | | |
| | | const getQualityList = async () => { |
| | | const res = await getObject({companyId:state.form.companyId,type: 2 }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | if(state.form.companyId){ |
| | | const res = await getObject({companyId:state.form.companyId,type: 2 }); |
| | | if(res.code === 200){ |
| | | state.qualityList = res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | message: item.qualityTargets.map((i,index) => { |
| | | return i.message |
| | | }).join(';') |
| | | } |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }else { |
| | | state.qualityList = [] |
| | | } |
| | | |
| | | |
| | | } |
| | | const onSubmit = async () => { |
| | |
| | | qualityTargets:[], |
| | | } |
| | | state.peopleList = [] |
| | | state.companyList = [] |
| | | } |
| | | const getPeopleList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | companyId: state.form.companyId, |
| | | name: val |
| | | } |
| | | const res = await getUser(queryParams) |
| | |
| | | if(res.code == 200){ |
| | | state.form.qualityTargets = res.data.map(item => { |
| | | return { |
| | | id: item.id, |
| | | message: item.message |
| | | } |
| | | }) |
| | |
| | | console.log('val',val) |
| | | |
| | | } |
| | | const selectValueCom = (val) => { |
| | | state.form.qualityId = null |
| | | state.qualityList = [] |
| | | state.form.qualityTargets = [] |
| | | state.companyList.forEach(item => { |
| | | if(item.name === val){ |
| | | state.form.companyId = item.id |
| | | } |
| | | }) |
| | | getQualityList() |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | state.companyList = res.data.list |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | defineExpose({ |
| | | openDialog |
| | | }); |
| | |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex;flex-wrap: wrap;"> |
| | | <el-form-item v-if="!data.isAdmin"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | :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> |
| | | <el-option |
| | | v-for="item in state.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="员工情况介绍:" prop="companyRoster"> |
| | | <editor v-model="state.form.companyRoster" :min-height="300"/> |
| | | </el-form-item> |
| | |
| | | companyId: null, |
| | | companyRoster: '', |
| | | }, |
| | | companyList: [], |
| | | isView: false, |
| | | formRules:{ |
| | | companyRoster: [{ required: true, message: '员工情况介绍', trigger: 'blur' }], |
| | | companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], |
| | | companyRoster: [{ required: true, message: '员工情况介绍', trigger: 'blur' }] |
| | | }, |
| | | isAdmin: false, |
| | | }) |
| | |
| | | |
| | | const disabled = ref(false); |
| | | const userInfo = ref() |
| | | const openDialog = async (type, value, companyId) => { |
| | | const openDialog = async (type, value, companyId, isAdmin, companyList) => { |
| | | state.isAdmin = isAdmin |
| | | if(isAdmin){ |
| | | state.companyList = companyList |
| | | } |
| | | state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' |
| | | state.form.companyId = companyId |
| | | if(type == 'view'){ |
| | |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | data.companyList = res.data.list?res.data.list:[] |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | // data.queryParams.companyId = data.companyList[0].id |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | |
| | | const openDialog = (type, value) => { |
| | | dialogRef.value.openDialog(type, value,data.queryParams.companyId); |
| | | dialogRef.value.openDialog(type, value,data.queryParams.companyId, data.isAdmin, data.companyList); |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | |
| | | <el-form-item label="用户名:" prop="username" v-if="state.title !== '修改密码'"> |
| | | <el-input v-model.trim="state.form.username" :disabled="state.title =='编辑' || state.title =='查看'" placeholder="请输入用户名" ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="名称:" prop="name" v-if="state.title !== '修改密码'"> |
| | | <el-input v-model.trim="state.form.name" :disabled="disabled" placeholder="请输入公司、部门或者车间岗位名"></el-input> |
| | | <el-form-item label="姓名:" prop="name" v-if="state.title !== '修改密码'"> |
| | | <el-input v-model.trim="state.form.name" :disabled="disabled" placeholder="请输入姓名"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="性别:" prop="sex" v-if="state.title !== '修改密码'"> |
| | | <el-radio-group v-model="state.form.sex" :disabled="disabled"> |
| | |
| | | post: '' |
| | | }, |
| | | formRules:{ |
| | | name: [{ required: true, message: '请输入公司、部门或者车间岗位名称', trigger: 'blur' }], |
| | | name: [{ required: true, message: '请输入姓名', trigger: 'blur' }], |
| | | companyName: [{ required: true, message: '请选择所在企业', trigger: 'blur' }], |
| | | deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }], |
| | | username: [{ required: true, trigger: "blur", validator: validateUsername }], |
| | | password: [{ required: true, validator: validatePwd, trigger: 'blur' }], |
| | | confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }], |
| | | phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }], |
| | | // phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }], |
| | | userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }], |
| | | idCard: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], |
| | | // idCard: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], |
| | | entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }], |
| | | duty: [{ required: true, message: '请输入职务', trigger: 'blur' }], |
| | | post: [{ required: true, message: '请输入专业', trigger: 'blur' }], |
| | | // post: [{ required: true, message: '请输入专业', trigger: 'blur' }] |
| | | }, |
| | | companyList: [], |
| | | userList: [ |
| | |
| | | <!-- 表格数据 --> |
| | | <el-table v-loading="loading" :data="dataList" :border="true"> |
| | | <el-table-column label="序号" type="index" align="center" width="80" /> |
| | | <el-table-column label="姓名" prop="username" align="center" /> |
| | | <el-table-column label="用户名" prop="username" align="center" /> |
| | | <el-table-column label="姓名" prop="name" align="center" /> |
| | | <el-table-column label="身份证号" prop="idCard" align="center" /> |
| | | <el-table-column label="入职时间" prop="entryTime" align="center"/> |
| | | <el-table-column label="部门" prop="deptName" align="center"/> |
| | |
| | | const res = await getCompany(queryParams) |
| | | if (res.code == 200) { |
| | | data.companyList = res.data.list?res.data.list:[] |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | // data.queryParams.companyId = data.companyList[0].id |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |