提交 9b59dc90 authored 作者: pengxiaohui's avatar pengxiaohui

update: pc和h5手机号、邮箱、纳税人识别号校验;备注、跟进人字段禁填设置

上级 bb064466
......@@ -61,8 +61,8 @@
<el-form-item label="收件人手机号" prop="recipient_mobile">
<el-input v-model="form.recipient_mobile" size="small" placeholder="请输入收件人手机号"/>
</el-form-item>
<el-form-item label="票据跟进人" prop="follower">
<el-input v-model="form.follower" size="small" placeholder="请输入票据跟进人"/>
<el-form-item label="票据跟进人" prop="sales_rep_user_id_name">
<el-input v-model="form.sales_rep_user_id_name" size="small" placeholder="请输入票据跟进人" disabled/>
</el-form-item>
</template>
</div>
......@@ -82,7 +82,7 @@ const defaultForm = {
recipient_address: '',
recipient_name: '',
recipient_mobile: '',
follower: '',
sales_rep_user_id_name: '',
taxpayer_address: '',
taxpayer_mobile: '',
taxpayer_bank_name: '',
......@@ -102,7 +102,7 @@ export default {
const checkMobile = (rule, value, callback) => {
if (value) {
if (!phoneReg.test(value)) {
callback(new Error('手机号格式错误'))
callback(new Error('输入格式错误'))
} else {
callback()
}
......@@ -112,7 +112,16 @@ export default {
const checkEmail = (rule, value, callback) => {
if (value) {
if (!emailReg.test(value)) {
callback(new Error('邮箱格式错误'))
callback(new Error('输入格式错误'))
} else {
callback()
}
}
}
const checkInvoice = (rule, value, callback) => {
if (value) {
if (!/^[A-Za-z0-9]{18}$/.test(value)) {
callback(new Error('输入格式错误'))
} else {
callback()
}
......@@ -125,7 +134,10 @@ export default {
taxpayer_type: { required: true, message: '请选择开票人类型', trigger: 'change' },
invoice_type: { required: true, message: '请选择发票类型', trigger: 'change' },
taxpayer_name: { required: true, message: '请输入纳税人名称', trigger: 'blur' },
taxpayer_identifier: { required: true, message: '请输入纳税人识别号', trigger: 'blur' },
taxpayer_identifier: [
{ required: true, message: '请输入纳税人识别号', trigger: 'blur' },
{ validator: checkInvoice, trigger: 'blur' }
],
taxpayer_mobile: [{ required: true, message: '请输入电话', trigger: 'blur' }, { validator: checkMobile, trigger: 'blur' }],
recipient_email: [{ required: true, message: '请输入邮箱地址', trigger: 'blur' }, { validator: checkEmail, trigger: 'blur' }],
recipient_name: { required: true, message: '请输入收件人名称', trigger: 'blur' },
......@@ -143,7 +155,8 @@ export default {
this.form[key] = this.history[key]
})
}
}
},
immediate: true
}
},
methods: {
......
......@@ -10,23 +10,23 @@
<h5>发票信息</h5>
<van-field readonly clickable name="picker" :value="invoice_type_label" label="发票类型" placeholder="请选择发票类型" @click="showPicker = true" :rules="[{ required: true, message: '请选择发票类型', trigger: 'onChange' }]" required />
<van-field v-model="form.taxpayer_name" name="pattern" label="纳税人名称" placeholder="请输入纳税人名称" :rules="[{ required: true, message: '请输入纳税人名称' }]" required right-icon="apps-o" @click-right-icon="handleHistory"/>
<van-field v-model="form.taxpayer_identifier" name="pattern" label="纳税人识别号" placeholder="请输入纳税人识别号" :rules="[{ required: true, message: '请输入纳税人识别号' }]" required/>
<van-field v-model="form.taxpayer_identifier" name="pattern" label="纳税人识别号" placeholder="请输入纳税人识别号" :rules="[{ required: true, message: '请输入纳税人识别号' }, { validator: invoiceValidator, message: '输入格式错误' }]" required/>
<template v-if="form.invoice_type === '3'">
<van-field v-model="form.taxpayer_address" name="pattern" label="地址" placeholder="请输入地址" :rules="[{ required: true, message: '请输入地址' }]" required/>
<van-field v-model="form.taxpayer_mobile" type="tel" name="pattern" label="电话" placeholder="请输入电话" :rules="[{ required: true, message: '请输入电话' }, { validator: phoneValidator, message: '输入格式误' }]" required/>
<van-field v-model="form.taxpayer_mobile" type="tel" name="pattern" label="电话" placeholder="请输入电话" :rules="[{ required: true, message: '请输入电话' }, { validator: phoneValidator, message: '输入格式误' }]" required/>
<van-field v-model="form.taxpayer_bank_name" name="pattern" label="开户行" placeholder="请输入开户行" :rules="[{ required: true, message: '请输入开户行' }]" required/>
<van-field v-model="form.taxpayer_bank_account" name="pattern" label="银行账号" placeholder="请输入银行账号" :rules="[{ required: true, message: '请输入银行账号' }]" required/>
</template>
<van-field v-model="form.remarks" name="pattern" label="备注" placeholder="请输入备注" />
<van-field v-model="form.invoice_remark" name="pattern" label="备注" placeholder="请输入备注" disabled/>
</div>
<div class="form-group">
<h5>收票信息</h5>
<van-field v-if="form.invoice_type === '2'" v-model="form.recipient_email" name="pattern" label="邮箱地址" placeholder="请输入邮箱地址" :rules="[{ required: true, message: '请输入邮箱地址' }, { validator: emailValidator, message: '输入格式误' }]" required/>
<van-field v-if="form.invoice_type === '2'" v-model="form.recipient_email" name="pattern" label="邮箱地址" placeholder="请输入邮箱地址" :rules="[{ required: true, message: '请输入邮箱地址' }, { validator: emailValidator, message: '输入格式误' }]" required/>
<template v-else>
<van-field v-model="form.recipient_address" name="pattern" label="邮寄地址" placeholder="请输入邮寄地址" :rules="[{ required: true, message: '请输入邮寄地址' }]" required/>
<van-field v-model="form.recipient_name" name="pattern" label="收件人名称" placeholder="请输入收件人名称" :rules="[{ required: true, message: '请输入收件人名称' }]" required/>
<van-field v-model="form.recipient_mobile" type="tel" name="pattern" label="收件人手机号" placeholder="请输入收件人手机号" :rules="[{ required: true, message: '请输入收件人手机号' }, { validator: phoneValidator, message: '输入格式误' }]" required/>
<van-field v-model="form.follower" name="pattern" label="票据跟进人" placeholder="请输入票据跟进人" :rules="[{ required: true, message: '请输入票据跟进人' }]" required/>
<van-field v-model="form.recipient_mobile" type="tel" name="pattern" label="收件人手机号" placeholder="请输入收件人手机号" :rules="[{ required: true, message: '请输入收件人手机号' }, { validator: phoneValidator, message: '输入格式误' }]" required/>
<van-field v-model="form.sales_rep_user_id_name" name="pattern" label="票据跟进人" placeholder="请输入票据跟进人" disabled/>
</template>
</div>
<div style="margin: 16px;">
......@@ -57,12 +57,12 @@ const defaultForm = {
invoice_type: '',
taxpayer_name: '',
taxpayer_identifier: '',
remarks: '',
invoice_remark: '',
recipient_email: '',
recipient_address: '',
recipient_name: '',
recipient_mobile: '',
follower: '',
sales_rep_user_id_name: '',
taxpayer_address: '',
taxpayer_mobile: '',
taxpayer_bank_name: '',
......@@ -90,11 +90,17 @@ export default {
}
return list
},
query() {
return this.$route.query
},
id() {
const query = this.$route.query
return query.id
return this.query.id
}
},
created() {
this.form.invoice_remark = this.query.remark || ''
this.form.sales_rep_user_id_name = this.query.name || ''
},
methods: {
phoneValidator(val) {
if (val === '') return true
......@@ -104,6 +110,10 @@ export default {
if (val === '') return true
return /^[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*@[A-Za-z0-9-.]+$/.test(val)
},
invoiceValidator(val) {
if (val === '') return true
return /^[A-Za-z0-9]{18}$/.test(val)
},
handleTabChange(val) {
this.form = Object.assign({ taxpayer_type: val }, defaultForm)
this.setInvoiceType()
......
......@@ -56,7 +56,7 @@ export default {
},
methods: {
handleInvoice(val) {
this.$router.push({ path: '/h5/payment/invoice', query: { id: val.id } })
this.$router.push({ path: '/h5/payment/invoice', query: { id: val.id, name: val.sales_rep_user_id_name, remark: val.invoice_remark } })
},
handleDetials(val) {
window.localStorage.setItem('invoiceDetails', JSON.stringify(val))
......
......@@ -80,7 +80,9 @@ export default {
handleInvoice(row) {
this.drawerVisible = true
this.payment_id = row.id
this.history = {}
if (row.invoice_remark) this.history.invoice_remark = row.invoice_remark
if (row.sales_rep_user_id_name) this.history.sales_rep_user_id_name = row.sales_rep_user_id_name
},
handleInvoiceQR(row) {
this.shareUrl = `${import.meta.env.VITE_SHARE_URL}/h5/payment/invoice?id=${row.id}`
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论