From e5b31f6979672ab876a82ae344d500bc9e0ad533 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Wed, 06 Sep 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