提交 406a0596 authored 作者: pengxiaohui's avatar pengxiaohui

fix: 修复纳税人类型非企业时,纳税人识别号非必填的bug [2160]

上级 81f52f4b
......@@ -27,7 +27,7 @@
<el-form-item label="纳税人名称" prop="taxpayer_name">
<el-input v-model="form.taxpayer_name" size="small" placeholder="请输入纳税人名称"/>
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayer_identifier">
<el-form-item label="纳税人识别号" prop="taxpayer_identifier" :rules="[{ required: form.taxpayer_type === '2', message: '请输入纳税人识别号', trigger: 'blur' }, { validator: checkInvoice, trigger: 'blur' }]">
<el-input v-model="form.taxpayer_identifier" size="small" placeholder="请输入纳税人识别号"/>
</el-form-item>
<template v-if="form.invoice_type === '3'">
......@@ -118,15 +118,6 @@ export default {
}
}
}
const checkInvoice = (rule, value, callback) => {
if (value) {
if (!/^[A-Za-z0-9]{18}$/.test(value)) {
callback(new Error('输入格式错误'))
} else {
callback()
}
}
}
return {
form: Object.assign({ taxpayer_type: '2' }, defaultForm),
rules: {
......@@ -134,10 +125,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' },
{ validator: checkInvoice, 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' },
......@@ -160,6 +151,17 @@ export default {
}
},
methods: {
checkInvoice(rule, value, callback) {
if (value) {
if (!/^[A-Za-z0-9]{18}$/.test(value)) {
callback(new Error('输入格式错误'))
} else {
callback()
}
} else {
callback()
}
},
handleTypeChange(val) {
this.form = Object.assign({ taxpayer_type: val }, defaultForm)
window.setTimeout(() => {
......@@ -168,6 +170,7 @@ export default {
},
handleSubmit() {
this.$refs.ruleForm.validate((valid) => {
console.log(valid)
if (valid) {
this.$emit('submit', this.form)
}
......
......@@ -10,7 +10,7 @@
<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: '请输入纳税人识别号' }, { validator: invoiceValidator, message: '输入格式错误' }]" required/>
<van-field v-model="form.taxpayer_identifier" name="pattern" label="纳税人识别号" placeholder="请输入纳税人识别号" :rules="[{ required: form.taxpayer_type === '2', message: '请输入纳税人识别号' }, { validator: invoiceValidator, message: '输入格式错误' }]" :required="form.taxpayer_type === '2'"/>
<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/>
......@@ -148,6 +148,7 @@ export default {
},
fetchCreateInvoice() {
const params = Object.assign({}, this.form)
console.log(1234)
params.payment_id = this.id
createInvoice(params).then(res => {
Toast.success('开具发票成功')
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论