提交 6205d190 authored 作者: lhh's avatar lhh

update:更新发票类型名称,新增发票类型:数电发票

上级 7c017639
...@@ -14,55 +14,82 @@ ...@@ -14,55 +14,82 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div class="form-content"> <div class="form-content">
<h5>发票信息 <h5>
<el-button style="float:right;" type="text" @click="$emit('history')">历史开票信息</el-button> 发票信息
<el-button style="float: right" type="text" @click="$emit('history')">历史开票信息</el-button>
</h5> </h5>
<el-form-item label="发票类型" prop="invoice_type"> <el-form-item label="发票类型" prop="invoice_type">
<el-select v-model="form.invoice_type" placeholder="请选择发票类型" size="small" style="width:100%;"> <el-select v-model="form.invoice_type" placeholder="请选择发票类型" size="small" style="width: 100%">
<!-- <el-option label="普通发票(纸质)" value="1"></el-option> --> <!-- <el-option label="普通发票(纸质)" value="1"></el-option> -->
<el-option v-if="form.taxpayer_type === '2'" label="专用发票(纸质)" value="3"></el-option> <el-option v-if="form.taxpayer_type === '2'" label="增值税专用纸质发票" value="3"></el-option>
<el-option label="普通发票(电子)" value="2"></el-option> <el-option label="增值税普通电子发票" value="2"></el-option>
<el-option label="数电普通发票" value="4"></el-option>
<el-option v-if="form.taxpayer_type === '2'" label="数电专用发票" value="5"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<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 v-if="form.taxpayer_type === '2'" label="纳税人识别号" prop="taxpayer_identifier" :rules="[{ required: form.taxpayer_type === '2', message: '请输入纳税人识别号', trigger: 'blur' }, { validator: checkInvoice, trigger: 'blur' }]"> <el-form-item
<el-input v-model="form.taxpayer_identifier" size="small" placeholder="请输入纳税人识别号"/> v-if="form.taxpayer_type === '2'"
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> </el-form-item>
<template v-if="form.invoice_type === '3'"> <template v-if="form.invoice_type === '3'">
<el-form-item label="地址" prop="taxpayer_address" :rules="{required: true, message: '请输入地址', trigger: 'blur'}"> <el-form-item
<el-input v-model="form.taxpayer_address" size="small" placeholder="请输入地址"/> label="地址"
prop="taxpayer_address"
:rules="{ required: true, message: '请输入地址', trigger: 'blur' }"
>
<el-input v-model="form.taxpayer_address" size="small" placeholder="请输入地址" />
</el-form-item> </el-form-item>
<el-form-item label="电话" prop="taxpayer_mobile"> <el-form-item label="电话" prop="taxpayer_mobile">
<el-input v-model="form.taxpayer_mobile" size="small" placeholder="请输入电话"/> <el-input v-model="form.taxpayer_mobile" size="small" placeholder="请输入电话" />
</el-form-item> </el-form-item>
<el-form-item label="开户行" prop="taxpayer_bank_name" :rules="{required: true, message: '请输入开户行', trigger: 'blur'}"> <el-form-item
<el-input v-model="form.taxpayer_bank_name" size="small" placeholder="请输入开户行"/> label="开户行"
prop="taxpayer_bank_name"
:rules="{ required: true, message: '请输入开户行', trigger: 'blur' }"
>
<el-input v-model="form.taxpayer_bank_name" size="small" placeholder="请输入开户行" />
</el-form-item> </el-form-item>
<el-form-item label="银行账号" prop="taxpayer_bank_account" :rules="{required: true, message: '请输入银行账号', trigger: 'blur'}"> <el-form-item
<el-input v-model="form.taxpayer_bank_account" size="small" placeholder="请输入银行账号"/> label="银行账号"
prop="taxpayer_bank_account"
:rules="{ required: true, message: '请输入银行账号', trigger: 'blur' }"
>
<el-input v-model="form.taxpayer_bank_account" size="small" placeholder="请输入银行账号" />
</el-form-item> </el-form-item>
</template> </template>
<el-form-item label="备注" prop="invoice_remark" style="margin-bottom:0;"> <el-form-item label="备注" prop="invoice_remark" style="margin-bottom: 0">
<el-input v-model="form.invoice_remark" size="small" placeholder="请输入备注" disabled/> <el-input v-model="form.invoice_remark" size="small" placeholder="请输入备注" disabled />
</el-form-item> </el-form-item>
<h5>收票信息</h5> <h5>收票信息</h5>
<el-form-item v-if="form.invoice_type === '2'" label="邮箱地址" prop="recipient_email"> <el-form-item
<el-input v-model="form.recipient_email" size="small" placeholder="请输入邮箱地址"/> v-if="form.invoice_type === '2' || form.invoice_type === '4' || form.invoice_type === '5'"
label="邮箱地址"
prop="recipient_email"
>
<el-input v-model="form.recipient_email" size="small" placeholder="请输入邮箱地址" />
</el-form-item> </el-form-item>
<template v-else> <template v-else>
<el-form-item label="邮寄地址" prop="recipient_address"> <el-form-item label="邮寄地址" prop="recipient_address">
<el-input v-model="form.recipient_address" size="small" placeholder="请输入邮寄地址"/> <el-input v-model="form.recipient_address" size="small" placeholder="请输入邮寄地址" />
</el-form-item> </el-form-item>
<el-form-item label="收件人名称" prop="recipient_name"> <el-form-item label="收件人名称" prop="recipient_name">
<el-input v-model="form.recipient_name" size="small" placeholder="请输入收件人名称"/> <el-input v-model="form.recipient_name" size="small" placeholder="请输入收件人名称" />
</el-form-item> </el-form-item>
<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="sales_rep_user_id_name"> <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-input v-model="form.sales_rep_user_id_name" size="small" placeholder="请输入票据跟进人" disabled />
</el-form-item> </el-form-item>
</template> </template>
</div> </div>
...@@ -136,10 +163,16 @@ export default { ...@@ -136,10 +163,16 @@ export default {
// { validator: checkInvoice, trigger: 'blur' } // { validator: checkInvoice, trigger: 'blur' }
// ], // ],
taxpayer_mobile: [{ required: true, message: '请输入电话', trigger: 'blur' }], taxpayer_mobile: [{ required: true, message: '请输入电话', 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' },
recipient_address: { required: true, message: '请输入邮寄地址', trigger: 'blur' }, recipient_address: { required: true, message: '请输入邮寄地址', trigger: 'blur' },
recipient_mobile: [{ required: true, message: '请输入收件人手机号', trigger: 'blur' }, { validator: checkMobile, trigger: 'blur' }] recipient_mobile: [
{ required: true, message: '请输入收件人手机号', trigger: 'blur' },
{ validator: checkMobile, trigger: 'blur' }
]
} }
} }
}, },
...@@ -181,7 +214,7 @@ export default { ...@@ -181,7 +214,7 @@ export default {
}, 1) }, 1)
}, },
handleSubmit() { handleSubmit() {
this.$refs.ruleForm.validate((valid) => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
this.$emit('submit', this.form) this.$emit('submit', this.form)
} }
...@@ -191,23 +224,23 @@ export default { ...@@ -191,23 +224,23 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.el-form{ .el-form {
padding-top:20px; padding-top: 20px;
} }
.form-item-border{ .form-item-border {
border:1px solid #eee; border: 1px solid #eee;
margin:0 20px 20px; margin: 0 20px 20px;
} }
.form-content{ .form-content {
border:1px solid #eee; border: 1px solid #eee;
margin:0 20px 14px; margin: 0 20px 14px;
padding-right:20px; padding-right: 20px;
} }
.form-content h5{ .form-content h5 {
font-size:14px; font-size: 14px;
line-height:40px; line-height: 40px;
color:#666; color: #666;
text-indent:20px; text-indent: 20px;
padding-top:10px; padding-top: 10px;
} }
</style> </style>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<van-tabs v-model="vanTabsIndex" type="card" color="#3276fc" sticky @change="handleTabChange"> <van-tabs v-model="vanTabsIndex" type="card" color="#3276fc" sticky @change="handleTabChange">
<van-tab name="2" title="企业"></van-tab> <van-tab name="2" title="企业"></van-tab>
<van-tab name="1" title="个人"></van-tab> <van-tab name="1" title="个人"></van-tab>
<van-tab name="3" title="非营利性单位" v-if="$route.query.project_id === '5005'"></van-tab> <van-tab name="3" title="非营利性单位"></van-tab>
</van-tabs> </van-tabs>
<van-form :show-error="false" ref="vanForm" @submit="fetchCreateInvoice"> <van-form :show-error="false" ref="vanForm" @submit="fetchCreateInvoice">
<div class="form-group"> <div class="form-group">
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
<div class="form-group"> <div class="form-group">
<h5>收票信息</h5> <h5>收票信息</h5>
<van-field <van-field
v-if="form.invoice_type === '2'" v-if="form.invoice_type === '2' || form.invoice_type === '4' || form.invoice_type === '5'"
v-model="form.recipient_email" v-model="form.recipient_email"
name="pattern" name="pattern"
label="邮箱地址" label="邮箱地址"
...@@ -244,21 +244,35 @@ export default { ...@@ -244,21 +244,35 @@ export default {
} }
}, },
computed: { computed: {
// 判断是不是公路项目
isProject() { isProject() {
return this.$route.query.project_id === '5005' && this.$route.query.type === '60' return this.$route.query.project_id === '5005' && this.$route.query.type === '60'
}, },
invoiceTypeList() { invoiceTypeList() {
let list = [ let list = []
// 公路开票和紫荆开票类型不同
if (this.isProject) {
// { label: '普通发票(纸质)', value: '1' }, // { label: '普通发票(纸质)', value: '1' },
list = [
{ label: '普通发票(电子)', value: '2' }, { label: '普通发票(电子)', value: '2' },
{ label: '专用发票(纸质)', value: '3' } { label: '专用发票(纸质)', value: '3' }
] ]
console.log(this.form.taxpayer_type, '123')
if (this.form.taxpayer_type !== '2') { if (this.form.taxpayer_type !== '2') {
list = [{ label: '普通发票(电子)', value: '2' }]
}
} else {
list = [ list = [
// { label: '普通发票(纸质)', value: '1' }, { label: '增值税普通电子发票', value: '2' },
{ label: '普通发票(电子)', value: '2' } { label: '增值税专用纸质发票', value: '3' },
{ label: '数电普通发票', value: '4' },
{ label: '数电专用发票', value: '5' }
] ]
if (this.form.taxpayer_type !== '2') {
list = [
{ label: '增值税普通电子发票', value: '2' },
{ label: '数电普通发票', value: '4' }
]
}
} }
return list return list
}, },
...@@ -272,6 +286,7 @@ export default { ...@@ -272,6 +286,7 @@ export default {
created() { created() {
defaultForm.invoice_remark = this.query.remark || '' defaultForm.invoice_remark = this.query.remark || ''
defaultForm.sales_rep_user_id_name = this.query.name || '' defaultForm.sales_rep_user_id_name = this.query.name || ''
// 只有公路有带入信息的功能
if (this.$route.query.taxpayer_info) { if (this.$route.query.taxpayer_info) {
this.form = Object.assign({}, JSON.parse(this.$route.query.taxpayer_info)) this.form = Object.assign({}, JSON.parse(this.$route.query.taxpayer_info))
this.vanTabsIndex = JSON.parse(this.$route.query.taxpayer_info).taxpayer_type this.vanTabsIndex = JSON.parse(this.$route.query.taxpayer_info).taxpayer_type
...@@ -324,7 +339,6 @@ export default { ...@@ -324,7 +339,6 @@ export default {
}, },
handleTabChange() { handleTabChange() {
this.form = Object.assign({ taxpayer_type: this.vanTabsIndex }, defaultForm) this.form = Object.assign({ taxpayer_type: this.vanTabsIndex }, defaultForm)
console.log(this.form, 'form', defaultForm)
this.setInvoiceType() this.setInvoiceType()
}, },
onConfirm(val) { onConfirm(val) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论