Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-account-show
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-account-show
Commits
f369ccc8
提交
f369ccc8
authored
9月 03, 2021
作者:
pengxiaohui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update: 增加手机号邮箱验证,优化样式
上级
f28f19d2
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
39 行增加
和
10 行删除
+39
-10
InvoiceForm.vue
src/modules/payment/components/InvoiceForm.vue
+24
-3
Invoice.vue
src/modules/payment/views/h5/Invoice.vue
+11
-3
details.vue
src/modules/payment/views/h5/details.vue
+3
-3
List.vue
src/modules/payment/views/pc/List.vue
+1
-1
没有找到文件。
src/modules/payment/components/InvoiceForm.vue
浏览文件 @
f369ccc8
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
<el-form-item
label=
"地址"
prop=
"taxpayer_address"
:rules=
"
{required: true, message: '请输入地址', trigger: 'blur'}">
<el-form-item
label=
"地址"
prop=
"taxpayer_address"
:rules=
"
{required: true, message: '请输入地址', trigger: 'blur'}">
<el-input
v-model=
"form.taxpayer_address"
size=
"small"
placeholder=
"请输入地址"
/>
<el-input
v-model=
"form.taxpayer_address"
size=
"small"
placeholder=
"请输入地址"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"电话"
prop=
"taxpayer_mobile"
:rules=
"
{required: true, message: '请输入电话', trigger: 'blur'}"
>
<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
label=
"开户行"
prop=
"taxpayer_bank_name"
:rules=
"
{required: true, message: '请输入开户行', trigger: 'blur'}">
...
@@ -98,6 +98,26 @@ export default {
...
@@ -98,6 +98,26 @@ export default {
}
}
},
},
data
()
{
data
()
{
const
phoneReg
=
/^1
(
3
[
0-9
]
|4
[
01456879
]
|5
[
0-35-9
]
|6
[
2567
]
|7
[
0-8
]
|8
[
0-9
]
|9
[
0-35-9
])\d{8}
$/
const
checkMobile
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
)
{
if
(
!
phoneReg
.
test
(
value
))
{
callback
(
new
Error
(
'手机号格式错误'
));
}
else
{
callback
()
}
}
}
const
emailReg
=
/^
[
A-Za-z0-9
]
+
([
_.
\\
-
][
A-Za-z0-9
]
+
)
*@
([
A-Za-z0-9-
]
+
\.)
+
[
A-Za-z
]{2,6}
$/
const
checkEmail
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
)
{
if
(
!
emailReg
.
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
:
{
...
@@ -106,10 +126,11 @@ export default {
...
@@ -106,10 +126,11 @@ export default {
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'
},
recipient_email
:
{
required
:
true
,
message
:
'请输入邮箱地址'
,
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'
},
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'
}
recipient_mobile
:
[{
required
:
true
,
message
:
'请输入收件人手机号'
,
trigger
:
'blur'
},
{
validator
:
checkMobile
,
trigger
:
'blur'
}]
}
}
}
}
},
},
...
...
src/modules/payment/views/h5/Invoice.vue
浏览文件 @
f369ccc8
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<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: '请输入纳税人识别号' }]" 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: '请输入电话' }]" 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
>
...
@@ -21,11 +21,11 @@
...
@@ -21,11 +21,11 @@
</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: '请输入邮箱地址' }]"
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: '请输入收件人手机号' }]" 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.follower"
name=
"pattern"
label=
"票据跟进人"
placeholder=
"请输入票据跟进人"
:rules=
"[
{ required: true, message: '请输入票据跟进人' }]" required/>
</
template
>
</
template
>
</div>
</div>
...
@@ -96,6 +96,14 @@ export default {
...
@@ -96,6 +96,14 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
phoneValidator
(
val
)
{
if
(
val
===
''
)
return
true
return
/^1
(
3
[
0-9
]
|4
[
01456879
]
|5
[
0-35-9
]
|6
[
2567
]
|7
[
0-8
]
|8
[
0-9
]
|9
[
0-35-9
])\d{8}
$/
.
test
(
val
)
},
emailValidator
(
val
)
{
if
(
val
===
''
)
return
true
return
/^
[
A-Za-z0-9
]
+
([
_.-
][
A-Za-z0-9
]
+
)
*@
[
A-Za-z0-9-.
]
+$/
.
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
()
...
...
src/modules/payment/views/h5/details.vue
浏览文件 @
f369ccc8
<
template
>
<
template
>
<div>
<div
class=
"pay-details"
>
<van-cell-group>
<van-cell-group>
<van-cell
title=
"项目"
:value=
"details.project_name"
/>
<van-cell
title=
"项目"
:value=
"details.project_name"
/>
<van-cell
title=
"应缴金额"
:value=
"`¥$
{details.bill_total}`" />
<van-cell
title=
"应缴金额"
:value=
"`¥$
{details.bill_total}`" />
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<van-cell
title=
"备注"
:value=
"details.invoice_remark"
/>
<van-cell
title=
"备注"
:value=
"details.invoice_remark"
/>
</van-cell-group>
</van-cell-group>
<div
class=
"btn-bar"
v-if=
"['2', '6'].includes(details.invoice_status)"
>
<div
class=
"btn-bar"
v-if=
"['2', '6'].includes(details.invoice_status)"
>
<van-button
type=
"info"
size=
"small"
block
@
click=
"handleInvoice"
>
开具发票
</van-button>
<van-button
type=
"info"
size=
"small"
round
block
@
click=
"handleInvoice"
>
开具发票
</van-button>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -47,6 +47,6 @@ export default {
...
@@ -47,6 +47,6 @@ export default {
<
style
scoped
>
<
style
scoped
>
.btn-bar
{
.btn-bar
{
text-align
:
center
;
text-align
:
center
;
padding
:
20px
30px
;
padding
:
20px
;
}
}
</
style
>
</
style
>
src/modules/payment/views/pc/List.vue
浏览文件 @
f369ccc8
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
</
template
>
</
template
>
<!-- 操作 -->
<!-- 操作 -->
<
template
v-slot:table-operate=
"{ row }"
>
<
template
v-slot:table-operate=
"{ row }"
>
<el-button
v-if=
"['
1', '
2', '6'].includes(row.invoice_status)"
type=
"text"
@
click=
"handleInvoice(row)"
size=
"mini"
>
开具发票
</el-button>
<el-button
v-if=
"['2', '6'].includes(row.invoice_status)"
type=
"text"
@
click=
"handleInvoice(row)"
size=
"mini"
>
开具发票
</el-button>
<el-button
type=
"text"
@
click=
"handleInvoiceQR(row)"
size=
"mini"
>
开票二维码
</el-button>
<el-button
type=
"text"
@
click=
"handleInvoiceQR(row)"
size=
"mini"
>
开票二维码
</el-button>
</
template
>
</
template
>
</app-list>
</app-list>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论