From e5b31f6979672ab876a82ae344d500bc9e0ad533 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期三, 06 九月 2023 09:28:47 +0800 Subject: [PATCH] 修改目录接口 --- src/views/form.vue | 117 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 77 insertions(+), 40 deletions(-) diff --git a/src/views/form.vue b/src/views/form.vue index 0992b33..44ec689 100644 --- a/src/views/form.vue +++ b/src/views/form.vue @@ -1,9 +1,11 @@ <template> <div class="app-container home"> + <div class="main-title">专家信息录入</div> +<!-- <el-divider>专家信息录入</el-divider>--> <div class="main_form"> - <el-form :model="form" :rules="rules" ref="ruleForm" label-width="200px"> + <el-form :model="form" :rules="rules" ref="ruleForm" label-width="200px" :label-position="labelPosition"> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="专业类别" prop="profession"> <el-cascader style="width: 100%" @@ -15,7 +17,7 @@ </el-col> </el-row> <!-- <el-row>--> -<!-- <el-col :span="16">--> +<!-- <el-col :span="20">--> <!-- <el-form-item label="填报日期" prop="date">--> <!-- <el-date-picker--> <!-- style="width: 100%"--> @@ -27,14 +29,14 @@ <!-- </el-col>--> <!-- </el-row>--> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="姓名" prop="name"> <el-input v-model="form.name"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="性别" prop="sex"> <el-radio-group v-model="form.sex"> <el-radio :label="0">男</el-radio> @@ -44,7 +46,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="出生日期" prop="birthday"> <el-date-picker style="width: 100%" @@ -57,14 +59,14 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="联系电话" prop="phone"> <el-input v-model="form.phone"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="职称" prop="title"> <!-- <el-select v-model="form.title" placeholder="请选择" style="width: 100%">--> <!-- <el-option--> @@ -79,7 +81,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="证件照" prop="electronicPhoto"> <el-upload action="" @@ -99,14 +101,14 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="身份证号" prop="idCard"> <el-input v-model="form.idCard"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="在岗情况" prop="dutyStatus"> <el-radio-group v-model="form.dutyStatus"> <el-radio :label="0">在岗</el-radio> @@ -116,84 +118,84 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="单位全称" prop="companyName"> <el-input v-model="form.companyName"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="单位地址"> <el-input v-model="form.companyAddress"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="所在部门"> <el-input v-model="form.deptName"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="职务"> <el-input v-model="form.job"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="单位电话"> <el-input v-model="form.companyTelephone"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="传真号码"> <el-input v-model="form.faxNum"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="电子邮箱"> <el-input v-model="form.email"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="毕业学校"> <el-input v-model="form.graduationSchool"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="最高学历" prop="degree"> <el-input v-model="form.degree"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="所学专业"> <el-input v-model="form.speciality"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="现从事的专业及方向"> <el-input v-model="form.currentProfession"></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="支撑方向_安全生产" prop="supportDirectionSafety"> <!-- <el-radio-group v-model="form.supportDirectionSafety">--> <!-- <el-radio v-for="item in directionList" :label="item.value" :key="item.value">{{ item.label }}</el-radio>--> @@ -205,7 +207,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="支撑方向_防灾减灾救灾" prop="supportDirectionPrevention"> <!-- <el-radio-group v-model="form.supportDirectionPrevention">--> <!-- <el-radio v-for="item in directionList" :label="item.value" :key="item.value">{{ item.label }}</el-radio>--> @@ -217,7 +219,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="支撑方向_应急救援" prop="supportDirectionEmergency"> <!-- <el-radio-group v-model="form.supportDirectionEmergency">--> <!-- <el-radio v-for="item in directionList" :label="item.value" :key="item.value">{{ item.label }}</el-radio>--> @@ -229,7 +231,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="工作简历"> <el-upload action="#" @@ -247,7 +249,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="发明、著作、学术论文情况(何时、何地出版或发表)"> <el-upload action="" @@ -265,7 +267,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="受过何种奖励"> <el-upload action="" @@ -283,7 +285,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="应急管理相关工作主要业绩及研究成果"> <el-upload action="" @@ -301,7 +303,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="专家本人意见"> <el-upload action="" @@ -319,7 +321,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="推荐单位意见"> <el-upload action="" @@ -337,7 +339,7 @@ </el-col> </el-row> <el-row> - <el-col :span="16"> + <el-col :span="20"> <el-form-item label="补充说明"> <el-input v-model="form.remark" type="textarea" :autosize="{ minRows: 2}"></el-input> </el-form-item> @@ -355,19 +357,42 @@ </template> <script> -import {expertsTree,addExpertInfo,uploadFile} from '@/api/system/form' +import {getExpertTypes,addExpertInfo,uploadFile} from '@/api/system/form' +import { verifySimplePhone, verifyIdCard } from "@/utils/validate"; export default { name: "Index", data() { var validatePass = (rule, value, callback) => { - console.log(this.form,this.fileList,'校验') if (this.fileList.length == 0) { callback(new Error('请上传证件照')); } else { callback(); } - }; + } + let validatePhone = (rule, value, callback)=>{ + if(value === ''){ + callback(new Error('请输入手机号')) + }else{ + if(!verifySimplePhone(value)){ + callback(new Error('手机号格式有误')) + }else{ + callback() + } + } + } + let verifyId = (rule, value, callback)=>{ + if(value === ''){ + callback(new Error('请输入身份证号')) + }else{ + if(!verifyIdCard(value)){ + callback(new Error('身份证号格式有误')) + }else{ + callback() + } + } + } return { + labelPosition: 'right', form:{ name:'', sex:'', @@ -400,7 +425,8 @@ achievementKey: '', personalOpinionKey: '', recommendUnitOpinionKey: '', - remark: '' + remark: '', + source: 1 }, expertsType: [], directionList: [ @@ -439,10 +465,10 @@ sex:[{ required: true, message: '请选择性别', trigger: 'blur' }], profession: [{ required: true, message: '请选择专业类别', trigger: 'blur' }], birthday: [{ required: true, message: '请选择出生日期', trigger: 'blur' }], - phone:[{ required: true, message: '请填写联系电话', trigger: 'blur' }], + phone:[{ required: true, validator: validatePhone, trigger: 'blur' }], title: [{ required: true, message: '请填写职称', trigger: 'blur' }], electronicPhoto: [{ required: true,validator: validatePass, trigger: 'blur' }], - idCard: [{ required: true, message: '请填写身份证号', trigger: 'blur' }], + idCard: [{ required: true, validator: verifyId, trigger: 'blur' }], dutyStatus: [{ required: true, message: '请选择在岗情况', trigger: 'blur' }], companyName: [{ required: true, message: '请填写单位全称', trigger: 'blur' }], degree: [{ required: true, message: '请填写最高学历', trigger: 'blur' }], @@ -454,12 +480,13 @@ }, created() { const t = this + const width = document.documentElement.clientWidth + if(width < 750){t.labelPosition = 'top'} t.getExpertsType() }, methods: { async getExpertsType(){ - const res = await expertsTree() - console.log(res) + const res = await getExpertTypes() if(res.code == 200){ this.expertsType = res.data }else{ @@ -599,12 +626,22 @@ } }) }, + changeSource(num){ + this.form.source = num + } } }; </script> <style scoped lang="scss"> .home { + .main-title{ + font-size: 24px; + font-weight: bolder; + text-align: center; + margin-bottom: 20px; + color: #333; + } blockquote { padding: 10px 20px; margin: 0 0 20px; -- Gitblit v1.9.2