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

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

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