提交 4402f209 authored 作者: 王鹏飞's avatar 王鹏飞

优化表单校验规则

上级 19a977a9
差异被折叠。
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
"semver": "^1.1.4" "semver": "^1.1.4"
}, },
"dependencies": { "dependencies": {
"@ezijing/vue-form": "^2.0.12", "@ezijing/vue-form": "^2.1.9",
"animate.css": "^4.1.0", "animate.css": "^4.1.0",
"axios": "^0.19.2", "axios": "^0.19.2",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
......
...@@ -21,19 +21,24 @@ ...@@ -21,19 +21,24 @@
style="max-width: 680px" style="max-width: 680px"
> >
<el-form-item label="姓名" prop="provider_name"> <el-form-item label="姓名" prop="provider_name">
<el-input v-model.trim="ruleForm.provider_name"></el-input> <el-input v-model="ruleForm.provider_name" @blur="onBlur('provider_name')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="推荐信内容" prop="letter_content"> <el-form-item label="推荐信内容" prop="letter_content">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model.trim="ruleForm.letter_content"></el-input> <el-input
type="textarea"
:autosize="{ minRows: 6 }"
v-model="ruleForm.letter_content"
@blur="onBlur('letter_content')"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="provider_phone_number"> <el-form-item label="手机号" prop="provider_phone_number">
<el-input v-model.trim="ruleForm.provider_phone_number"></el-input> <el-input v-model="ruleForm.provider_phone_number"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作单位" prop="provider_company_name"> <el-form-item label="工作单位" prop="provider_company_name">
<el-input v-model.trim="ruleForm.provider_company_name"></el-input> <el-input v-model="ruleForm.provider_company_name" @blur="onBlur('provider_company_name')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="职务" prop="provider_job_title"> <el-form-item label="职务" prop="provider_job_title">
<el-input v-model.trim="ruleForm.provider_job_title"></el-input> <el-input v-model="ruleForm.provider_job_title" @blur="onBlur('provider_job_title')"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="buttons"> <div class="buttons">
...@@ -67,7 +72,7 @@ export default { ...@@ -67,7 +72,7 @@ export default {
rules: { rules: {
provider_name: [{ required: true, message: '请输入姓名', trigger: 'blur' }], provider_name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
letter_content: [{ required: true, message: '请输入推荐信内容', trigger: 'blur' }], letter_content: [{ required: true, message: '请输入推荐信内容', trigger: 'blur' }],
provider_phone_number: [{ required: true, message: '请输入手机号', trigger: 'blur' }], provider_phone_number: [{ required: true, pattern: /^1[3-9]\d{9}$/, message: '请输入手机号', trigger: 'blur' }],
provider_company_name: [{ required: true, message: '请输入工作单位', trigger: 'blur' }], provider_company_name: [{ required: true, message: '请输入工作单位', trigger: 'blur' }],
provider_job_title: [{ required: true, message: '请输入职务', trigger: 'blur' }] provider_job_title: [{ required: true, message: '请输入职务', trigger: 'blur' }]
}, },
...@@ -110,6 +115,11 @@ export default { ...@@ -110,6 +115,11 @@ export default {
}, },
getClientWidth() { getClientWidth() {
this.clientWidth = document.body.clientWidth this.clientWidth = document.body.clientWidth
},
onBlur(key) {
if (this.ruleForm[key]) {
this.ruleForm[key] = this.ruleForm[key].trim()
}
} }
}, },
mounted() { mounted() {
......
...@@ -22,7 +22,7 @@ export default function(_this) { ...@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest(data) { beforeRequest(data) {
const honors = data.map(item => { const honors = data.map(item => {
return ['time', 'title', 'institution_cn'].reduce((result, key) => { return ['time', 'title', 'institution_cn'].reduce((result, key) => {
result[key] = item[key] result[key] = item[key] || ''
return result return result
}, {}) }, {})
}) })
...@@ -39,21 +39,21 @@ export default function(_this) { ...@@ -39,21 +39,21 @@ export default function(_this) {
type: 'v-datepicker', type: 'v-datepicker',
label: '获取时间', label: '获取时间',
model: 'time', model: 'time',
attrs: { type: 'date', valueFormat: 'yyyy-MM-dd', placeholder: '请选择获取时间' }, attrs: { type: 'date', valueFormat: 'yyyy-MM-dd', placeholder: '请选择获取时间' }
rules: [{ required: true, message: '请选择获取时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择获取时间', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '荣誉奖励', label: '荣誉奖励',
model: 'title', model: 'title',
attrs: { placeholder: '请输入荣誉奖励' }, attrs: { placeholder: '请输入荣誉奖励' }
rules: [{ required: true, message: '请输入荣誉奖励', trigger: 'blur' }] // rules: [{ required: true, message: '请输入荣誉奖励', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '证书颁发机构', label: '证书颁发机构',
model: 'institution_cn', model: 'institution_cn'
rules: [{ required: true, message: '请输入证书颁发机构', trigger: 'blur' }] // rules: [{ required: true, message: '请输入证书颁发机构', trigger: 'blur' }]
} }
] ]
} }
......
...@@ -22,7 +22,7 @@ export default function(_this) { ...@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest(data) { beforeRequest(data) {
const trainings = data.map(item => { const trainings = data.map(item => {
return ['start_date', 'end_date', 'institution_cn', 'course_cn'].reduce((result, key) => { return ['start_date', 'end_date', 'institution_cn', 'course_cn'].reduce((result, key) => {
result[key] = item[key] result[key] = item[key] || ''
return result return result
}, {}) }, {})
}) })
...@@ -43,8 +43,8 @@ export default function(_this) { ...@@ -43,8 +43,8 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择培训开始时间', placeholder: '请选择培训开始时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择培训开始时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择培训开始时间', trigger: 'blur' }]
}, },
{ {
type: 'v-datepicker', type: 'v-datepicker',
...@@ -54,20 +54,20 @@ export default function(_this) { ...@@ -54,20 +54,20 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择培训结束时间', placeholder: '请选择培训结束时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择培训结束时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择培训结束时间', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '培训机构', label: '培训机构',
model: 'institution_cn', model: 'institution_cn'
rules: [{ required: true, message: '请输入培训机构', trigger: 'blur' }] // rules: [{ required: true, message: '请输入培训机构', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '课程名称', label: '课程名称',
model: 'course_cn', model: 'course_cn'
rules: [{ required: true, message: '请输入课程名称', trigger: 'blur' }] // rules: [{ required: true, message: '请输入课程名称', trigger: 'blur' }]
} }
] ]
} }
......
...@@ -76,11 +76,11 @@ ...@@ -76,11 +76,11 @@
<a class="inner" :href="item.oss_sign_url" target="_blank"> <a class="inner" :href="item.oss_sign_url" target="_blank">
<div class="pic"><img :src="item.oss_sign_url" /></div> <div class="pic"><img :src="item.oss_sign_url" /></div>
<div class="name">{{ item.file_type_label }}</div> <div class="name">{{ item.file_type_label }}</div>
<div style="margin-right: 40px" v-if="item.status_desc"> <div v-if="item.status_desc">
<el-tag size="mini">{{ item.status_desc }}</el-tag> <el-tag size="mini">{{ item.status_desc }}</el-tag>
</div> </div>
</a> </a>
<el-button-group> <el-button-group v-if="hasButton" style="margin-left: 40px">
<el-button size="mini" :disabled="item.status === 'INACTIVE'" @click="handleRemove(item)" <el-button size="mini" :disabled="item.status === 'INACTIVE'" @click="handleRemove(item)"
>删除</el-button >删除</el-button
> >
...@@ -327,9 +327,12 @@ export default { ...@@ -327,9 +327,12 @@ export default {
} }
}, },
computed: { computed: {
watermark() { right() {
const { watermark = '清控紫荆教育' } = this.$route.query const { right = '' } = this.$route.query
return watermark return right
},
hasButton() {
return this.right.includes('x')
} }
}, },
methods: { methods: {
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<el-form-item label="手机号" prop="phone_number"> <el-form-item label="手机号" prop="phone_number">
<el-input v-model="ruleForm.phone_number" :maxlength="11"></el-input> <el-input v-model="ruleForm.phone_number" :maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮" prop="email"> <el-form-item label="邮" prop="email">
<el-input v-model="ruleForm.email"></el-input> <el-input v-model="ruleForm.email"></el-input>
</el-form-item> </el-form-item>
<div class="buttons"> <div class="buttons">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论