Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-account-show
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-account-show
Commits
6205d190
提交
6205d190
authored
4月 09, 2024
作者:
lhh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新发票类型名称,新增发票类型:数电发票
上级
7c017639
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
99 行增加
和
52 行删除
+99
-52
InvoiceForm.vue
src/modules/payment/components/InvoiceForm.vue
+74
-41
Invoice.vue
src/modules/payment/views/h5/Invoice.vue
+25
-11
没有找到文件。
src/modules/payment/components/InvoiceForm.vue
浏览文件 @
6205d190
...
...
@@ -14,55 +14,82 @@
</el-radio-group>
</el-form-item>
<div
class=
"form-content"
>
<h5>
发票信息
<el-button
style=
"float:right;"
type=
"text"
@
click=
"$emit('history')"
>
历史开票信息
</el-button>
<h5>
发票信息
<el-button
style=
"float: right"
type=
"text"
@
click=
"$emit('history')"
>
历史开票信息
</el-button>
</h5>
<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
v-if=
"form.taxpayer_type === '2'"
label=
"专用发票(纸质)"
value=
"3"
></el-option>
<el-option
label=
"普通发票(电子)"
value=
"2"
></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=
"4"
></el-option>
<el-option
v-if=
"form.taxpayer_type === '2'"
label=
"数电专用发票"
value=
"5"
></el-option>
</el-select>
</el-form-item>
<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
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
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>
<template
v-if=
"form.invoice_type === '3'"
>
<el-form-item
label=
"地址"
prop=
"taxpayer_address"
:rules=
"
{required: true, message: '请输入地址', trigger: 'blur'}">
<el-input
v-model=
"form.taxpayer_address"
size=
"small"
placeholder=
"请输入地址"
/>
<el-form-item
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
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
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
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
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
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>
</
template
>
<el-form-item
label=
"备注"
prop=
"invoice_remark"
style=
"margin-bottom:
0;
"
>
<el-input
v-model=
"form.invoice_remark"
size=
"small"
placeholder=
"请输入备注"
disabled
/>
<el-form-item
label=
"备注"
prop=
"invoice_remark"
style=
"margin-bottom:
0
"
>
<el-input
v-model=
"form.invoice_remark"
size=
"small"
placeholder=
"请输入备注"
disabled
/>
</el-form-item>
<h5>
收票信息
</h5>
<el-form-item
v-if=
"form.invoice_type === '2'"
label=
"邮箱地址"
prop=
"recipient_email"
>
<el-input
v-model=
"form.recipient_email"
size=
"small"
placeholder=
"请输入邮箱地址"
/>
<el-form-item
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>
<
template
v-else
>
<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
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
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
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>
</
template
>
</div>
...
...
@@ -136,10 +163,16 @@ export default {
// { validator: checkInvoice, 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_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 {
},
1
)
},
handleSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
(
(
valid
)
=>
{
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$emit
(
'submit'
,
this
.
form
)
}
...
...
@@ -191,23 +224,23 @@ export default {
}
</
script
>
<
style
scoped
>
.el-form
{
padding-top
:
20px
;
.el-form
{
padding-top
:
20px
;
}
.form-item-border
{
border
:
1px
solid
#eee
;
margin
:
0
20px
20px
;
.form-item-border
{
border
:
1px
solid
#eee
;
margin
:
0
20px
20px
;
}
.form-content
{
border
:
1px
solid
#eee
;
margin
:
0
20px
14px
;
padding-right
:
20px
;
.form-content
{
border
:
1px
solid
#eee
;
margin
:
0
20px
14px
;
padding-right
:
20px
;
}
.form-content
h5
{
font-size
:
14px
;
line-height
:
40px
;
color
:
#666
;
text-indent
:
20px
;
padding-top
:
10px
;
.form-content
h5
{
font-size
:
14px
;
line-height
:
40px
;
color
:
#666
;
text-indent
:
20px
;
padding-top
:
10px
;
}
</
style
>
src/modules/payment/views/h5/Invoice.vue
浏览文件 @
6205d190
...
...
@@ -3,7 +3,7 @@
<van-tabs
v-model=
"vanTabsIndex"
type=
"card"
color=
"#3276fc"
sticky
@
change=
"handleTabChange"
>
<van-tab
name=
"2"
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-form
:show-error=
"false"
ref=
"vanForm"
@
submit=
"fetchCreateInvoice"
>
<div
class=
"form-group"
>
...
...
@@ -140,7 +140,7 @@
<div
class=
"form-group"
>
<h5>
收票信息
</h5>
<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"
name=
"pattern"
label=
"邮箱地址"
...
...
@@ -244,21 +244,35 @@ export default {
}
},
computed
:
{
// 判断是不是公路项目
isProject
()
{
return
this
.
$route
.
query
.
project_id
===
'5005'
&&
this
.
$route
.
query
.
type
===
'60'
},
invoiceTypeList
()
{
let
list
=
[
let
list
=
[]
// 公路开票和紫荆开票类型不同
if
(
this
.
isProject
)
{
// { label: '普通发票(纸质)', value: '1' },
{
label
:
'普通发票(电子)'
,
value
:
'2'
},
{
label
:
'专用发票(纸质)'
,
value
:
'3'
}
]
console
.
log
(
this
.
form
.
taxpayer_type
,
'123'
)
if
(
this
.
form
.
taxpayer_type
!==
'2'
)
{
list
=
[
// { label: '普通发票(纸质)', value: '1' },
{
label
:
'普通发票(电子)'
,
value
:
'2'
}
{
label
:
'普通发票(电子)'
,
value
:
'2'
},
{
label
:
'专用发票(纸质)'
,
value
:
'3'
}
]
if
(
this
.
form
.
taxpayer_type
!==
'2'
)
{
list
=
[{
label
:
'普通发票(电子)'
,
value
:
'2'
}]
}
}
else
{
list
=
[
{
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
},
...
...
@@ -272,6 +286,7 @@ export default {
created
()
{
defaultForm
.
invoice_remark
=
this
.
query
.
remark
||
''
defaultForm
.
sales_rep_user_id_name
=
this
.
query
.
name
||
''
// 只有公路有带入信息的功能
if
(
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
...
...
@@ -324,7 +339,6 @@ export default {
},
handleTabChange
()
{
this
.
form
=
Object
.
assign
({
taxpayer_type
:
this
.
vanTabsIndex
},
defaultForm
)
console
.
log
(
this
.
form
,
'form'
,
defaultForm
)
this
.
setInvoiceType
()
},
onConfirm
(
val
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论