|
|
<template> <div class="flagShip"> <h2>购买信息</h2> <span class="desc">填写你的联系方式,我们产品顾问将会尽快联系你。</span> <el-form class="form" label-position="left" ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="联系人" prop="contacts"> <el-input class="inp" v-model="form.contacts"></el-input> </el-form-item>
<el-form-item label="联系电话" prop="phone"> <el-input class="inp" v-model="form.phone"></el-input> </el-form-item>
<el-form-item label="使用人数"> <el-select class="inp" v-model="form.usePeoples" placeholder="使用人数"> <el-option v-for="item in usePeopleOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item>
<el-form-item label="服务需求"> <el-select class="inp" multiple v-model="form.needs" placeholder="服务需求"> <el-option v-for="item in needOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <span>想要我们提供哪些服务(可多选)</span> </el-form> </div></template>
<script>export default { data() { // 自定义验证
const validPhone = (rule, value, callback) => { const reg = /^1([38][0-9]|4[014-9]|[59][0-35-9]|6[2567]|7[0-8])\d{8}$/ if (!value) { callback(new Error('请输入电话号码')) } else if (!reg.test(value)) { //判断用户输入的值是否符合规则
callback(new Error('请输入正确的11位手机号码')) } else { callback() } } return { usePeopleOptions: [ { label: '51-100', value: '51-100' }, { label: '101-500', value: '101-500' }, { label: '501-1000', value: '501-1000' }, { label: '1000以上', value: '1000以上' } ], needOptions: [ { label: '预约演示', value: '预约演示' }, { label: '产品报价', value: '产品报价' }, { label: '部署方式', value: '部署方式' }, { label: '新增功能', value: '新增功能' }, { label: '其它', value: '其它' } ], form: { phone: '', contacts: '', usePeoples: '', needs: [], }, rules: { contacts: [ { required: true, message: '请输入联系人', trigger: 'blur' }, ], phone: [ { required: true, trigger: 'blur', validator: validPhone } ], usePeoples: [ { required: true, message: '请选择使用人数', trigger: 'blur' }, ], needs: [ { required: true, message: '请选择服务需求', trigger: 'blur' }, ], } } },
methods: { getData() { //验证表单
return new Promise((resolve, reject) => { this.$refs['form'].validate((valid) => { if (valid) { resolve(this.form); } else { reject(new Error('前检查表单项是否填写正确')) } }); }) }, clearForm() { this.form.phone = ""; this.form.contacts = ""; this.form.usePeoples = ""; this.form.needs = []; } },
}</script>
<style lang="scss" scoped>.flagShip { margin-top: 30px; h2 { margin-bottom: 20px; } .desc { color: #7D7D7D; } .form { margin-top: 40px; .inp { width: 280px; } span { margin-left: 78px; color: #7D7D7D; } }}</style>
|