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

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

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