Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhengke
jz_Travel
Commits
5e840888
Commit
5e840888
authored
Apr 10, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
大红包列表
parent
a04a1ba7
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
930 additions
and
181 deletions
+930
-181
PaymentProgress.vue
pages/bigredrnvelope/PaymentProgress.vue
+109
-21
upload.vue
pages/bigredrnvelope/components/upload.vue
+176
-35
list.vue
pages/bigredrnvelope/list.vue
+130
-25
rule.vue
pages/bigredrnvelope/rule.vue
+16
-3
signAcontract.vue
pages/bigredrnvelope/signAcontract.vue
+499
-97
No files found.
pages/bigredrnvelope/PaymentProgress.vue
View file @
5e840888
<
template
>
<view
class=
"PaymentProBox column"
>
<view
class=
"PaymentProTitle row items-center justify-center"
>
<image
:src=
"stateImg[0]"
/>
<text>
打款中
</text>
<image
v-if=
"authInfor.Status==1||authInfor.Status==3"
:src=
"stateImg[0]"
/>
<image
v-if=
"authInfor.ContractStatus==5&&authInfor.Status==2"
:src=
"stateImg[1]"
/>
<text>
<template
v-if=
"authInfor.Status==1||authInfor.Status==3"
>
审核中
</
template
>
<
template
v-if=
"authInfor.ContractStatus==4&&authInfor.Status==2"
>
打款中
</
template
>
<
template
v-if=
"(authInfor.ContractStatus==1||authInfor.ContractStatus==5)&&authInfor.Status==2"
>
已完成
</
template
>
</text>
</view>
<view
class=
"PaymentProCenterForm column"
>
<scroll-view
:scroll-y=
"true"
...
...
@@ -11,21 +22,32 @@
<view
class=
"PaymentProCTitle"
>
结算账户/业务代表
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
银行名称
</view>
<view
class=
"col"
>
中国银行
</view>
<view
class=
"col"
>
{{ authInfor.BankName }}
</view>
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
银行账户
</view>
<view
class=
"col"
>
中国银行
</view>
<view
class=
"col"
>
{{ authInfor.CardNum }}
</view>
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
开户行
</view>
<view
class=
"col"
>
中国银行
</view>
<view
class=
"col"
>
{{ authInfor.OpenBankName }}
</view>
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
开户姓名
</view>
<view
class=
"col"
>
{{ authInfor.OpenBankName }}
</view>
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
电话
</view>
<view
class=
"col"
>
中国银行
</view>
<view
class=
"col"
>
{{ authInfor.ContactNumber }}
</view>
</view>
<view
class=
"PaymentProCText row-sbas-n"
>
<view>
服务人员
</view>
<view
class=
"col"
>
{{ authInfor.EnterName }}
</view>
</view>
<view
class=
"PaymentProCJD"
>
<
template
v-if=
"type==2"
>
审核进度
</
template
>
<
template
v-else-if=
"type==3"
>
提现进度
</
template
>
</view>
<view
class=
"PaymentProCJD"
>
提现进度
</view>
<view>
<view
class=
"PaymentProCJDBox row-sbas-n items-center"
v-for=
"(item,index) in stepList"
...
...
@@ -41,17 +63,24 @@
</view>
<view
class=
"PaymentProCJDText"
>
{{ item.Name }}
</view>
</view>
<view
class=
"PaymentProCJDBoxR"
>
2025.4.8
</view>
<view
class=
"PaymentProCJDBoxR"
>
<
template
v-if=
"type==2&&((authInfor.Status==1&&!index)||authInfor.Status==3)"
>
{{
item
.
Time
}}
</
template
>
</view>
</view>
</view>
</view>
</scroll-view>
<view
class=
"PaymentProButBox row"
>
<view
class=
"PaymentProBut PaymentProButL col"
>
返回
</view>
<view
class=
"PaymentProBut PaymentProButR col"
>
查看数据
</view>
<view
v-if=
"(type==2&&authInfor.Status==3)||type==3"
class=
"PaymentProBut PaymentProButR col"
@
click=
"goUrl"
>
<
template
v-if=
"type==2&&authInfor.Status==3"
>
修改认证
</
template
>
<
template
v-else-if=
"type==3"
>
查看数据
</
template
>
</view>
</view>
<view
style=
"height: 100rpx;"
></view>
</view>
<view
style=
"height: 20rpx;"
></view>
<auth
v-if=
"showAuth&&is_show_auth==1"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</template>
...
...
@@ -70,26 +99,32 @@ export default {
name
:
''
,
time
:
''
,
},
customer
:
null
,
showAuth
:
false
,
stepList
:[
{
Name
:
'营业执照'
,
Id
:
1
},
{
Name
:
'法人身份证'
,
Id
:
2
},
{
Name
:
'银行账户'
,
Id
:
3
},
{
Name
:
'线上签约'
,
Id
:
4
},
stepList
:[],
toExamineSteps
:[
{
Name
:
'审核中'
,
Id
:
1
,
Time
:
''
,},
{
Name
:
'审核通过'
,
Id
:
2
,
Time
:
''
,},
],
StepNum
:
1
,
StepNum
:
0
,
U
:{},
b2bUser
:{},
is_show_auth
:
0
,
stateImg
:[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797293350216749.png'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797058914190239.png'
]
],
authInfor
:
null
,
type
:
0
,
}
},
onLoad
(
options
)
{
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
);
this
.
ContractId
=
options
.
ContractId
this
.
type
=
options
.
type
?
options
.
type
:
0
if
(
this
.
type
==
2
){
uni
.
setNavigationBarTitle
({
title
:
"合同"
,
});
}
},
onShow
()
{
this
.
U
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
...
...
@@ -117,9 +152,62 @@ export default {
}
},
mounted
()
{
this
.
getInfor
()
this
.
getSignDetails
()
},
methods
:
{
goUrl
(){
if
(
this
.
type
==
2
){
uni
.
navigateTo
({
//结算中
url
:
`/pages/bigredrnvelope/signAcontract?ContractId=
${
this
.
ContractId
}
`
})
}
else
if
(
this
.
type
==
3
){
//进行中
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/ActivityInProgress?ContractId=
${
this
.
ContractId
}
`
})
}
else
if
(
this
.
type
==
4
){
//可结算
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/SettableList?ContractId=
${
this
.
ContractId
}
`
})
}
},
getSignDetails
(){
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
apipost
(
'app_customer_GetAuthenticationContractDetails'
,{
ContractId
:
this
.
ContractId
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
let
data
=
res
.
data
this
.
Details
=
data
if
(
this
.
type
==
2
){
this
.
toExamineSteps
[
0
].
Time
=
data
.
CreateTime
this
.
toExamineSteps
[
1
].
Time
=
data
.
UpdateTime
this
.
stepList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
toExamineSteps
))
}
uni
.
hideLoading
()
}
})
},
getInfor
(){
this
.
apipost
(
'app_customer_GetAuthenticationDetails'
,{
CustomerInfoChildrenId
:
this
.
b2bUser
.
customerInfoChildrenId
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
let
data
=
res
.
data
this
.
authInfor
=
data
if
(
this
.
type
==
2
){
if
(
this
.
authInfor
.
Status
==
1
||
this
.
authInfor
.
Status
==
3
)
this
.
StepNum
=
0
else
this
.
StepNum
=
1
}
}
})
},
reloadUserinfo
()
{
const
pages
=
getCurrentPages
()
const
curPage
=
pages
[
pages
.
length
-
1
]
...
...
@@ -143,7 +231,7 @@ export default {
.PaymentProTitle
{
font-size
:
40rpx
;
font-weight
:
bold
;
padding
:
8
0rpx
0
50rpx
0
;
padding
:
4
0rpx
0
50rpx
0
;
}
.PaymentProTitle
image
{
width
:
43rpx
;
...
...
pages/bigredrnvelope/components/upload.vue
View file @
5e840888
<
template
>
<u-upload
:action=
"action"
@
on-remove=
"onRemove"
max-count=
"1"
:show-upload-list=
"true"
:deletable=
"true"
:show-progress=
"false"
:show-tips=
"false"
:custom-btn=
"true"
@
on-success=
"uploadSuccessHandler"
>
<view
slot=
"addBtn"
class=
"slot-btn"
>
<u-icon
name=
"photograph"
size=
"40"
color=
"#888"
></u-icon>
<view
class=
"mian-title"
>
上传图片
</view>
<view
class=
"upImg row justify-center items-center"
@
click=
"chooseImg"
>
<template
v-if=
"img"
>
<image
@
click
.
stop=
"previewImage"
:src=
"img"
mode=
"aspectFit"
/>
<view
class=
"row justify-center items-center"
>
<view>
重新上传
</view>
</view>
</
template
>
</view>
</u-upload>
</template>
<
script
>
export
default
{
components
:
{
},
props
:
[
'img'
,
'type'
],
components
:
{
},
data
()
{
return
{
action
:
this
.
host2
+
"/api/File/UploadTencent"
,
fileList
:
[],
mode
:
'widthFix'
access_token
:
''
,
}
},
onLoad
(
options
)
{
},
onShow
()
{},
onShow
()
{
},
mounted
()
{
},
methods
:
{
onRemove
(
index
)
{
this
.
$emit
(
'onRemove'
,
1
);
// this.msg[1].CommentImgList.splice(index, 1);
//获取百度ai平台token
getAccess_token
()
{
let
that
=
this
;
uni
.
request
({
url
:
"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=8gjFAsKQBmkRXwWIWkstlQew&client_secret=SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS"
,
// 百度获取token接口地址
data
:
{
grant_type
:
"client_credentials"
,
// 固定写死
client_id
:
"8gjFAsKQBmkRXwWIWkstlQew"
,
// by:chaoxuekeji
client_secret
:
"SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS"
,
},
method
:
"POST"
,
success
(
res
)
{
console
.
log
(
"获取token成功"
,
res
);
that
.
access_token
=
res
.
data
.
access_token
;
},
fail
(
e
)
{
},
});
},
previewImage
()
{
uni
.
previewImage
({
urls
:
[
this
.
img
],
current
:
this
.
img
,
longPressActions
:
{
itemList
:
[
"发送给朋友"
,
"保存图片"
,
"收藏"
],
success
:
function
(
data
)
{},
fail
:
function
(
err
)
{
console
.
log
(
err
.
errMsg
);
},
uploadSuccessHandler
(
data
,
index
,
lists
)
{
let
r
=
JSON
.
parse
(
data
);
this
.
$emit
(
'onSuccess'
,
r
.
data
);
console
.
log
(
r
.
data
,
'------'
);
},
});
},
chooseImg
()
{
this
.
getAccess_token
()
let
that
=
this
;
uni
.
chooseImage
({
count
:
1
,
//默认9
sizeType
:
[
"original"
,
"compressed"
],
//可以指定是原图还是压缩图,默认二者都有
sourceType
:
[
"album"
],
//从相册选择
success
:
function
(
res
)
{
wx
.
getFileSystemManager
().
readFile
({
filePath
:
res
.
tempFilePaths
[
0
],
encoding
:
"base64"
,
//编码格式
success
:
(
ans
)
=>
{
that
.
getImgInfo
(
ans
.
data
,
that
.
access_token
,
(
_res
)
=>
{
if
(
_res
.
data
.
direction
==
1
)
{
//未定义,图片类型错误
wx
.
showToast
({
title
:
"图片类型错误!"
,
icon
:
"none"
,
duration
:
1000
,
});
}
else
{
let
datas
=
_res
.
data
.
words_result
;
that
.
upFile
(
res
.
tempFilePaths
[
0
],
(
uploadRes
)
=>
{
let
BusinessLicense
=
JSON
.
parse
(
uploadRes
.
data
).
data
;
let
infor
=
{}
infor
.
BusinessLicense
=
BusinessLicense
if
(
that
.
type
==
'1'
){
infor
.
CompanyName
=
datas
.
单位名称
.
words
infor
.
LegalPerson
=
datas
.
法人
.
words
infor
.
UnifiedCode
=
datas
.
社会信用代码
.
words
infor
.
Addres
=
datas
.
地址
.
words
}
else
if
(
that
.
type
==
'2'
){
infor
.
LegalIdCardNumber
=
datas
.
公民身份号码
.
words
}
else
if
(
that
.
type
==
'3'
){
let
y
=
datas
.
失效日期
.
words
.
substring
(
0
,
4
)
let
m
=
datas
.
失效日期
.
words
.
substring
(
4
,
6
)
let
d
=
datas
.
失效日期
.
words
.
substring
(
6
,
8
)
infor
.
LegalIdCardTime
=
`
${
y
}
-
${
m
}
-
${
d
}
`
}
console
.
log
(
"infor"
,
infor
);
that
.
$emit
(
'onSuccess'
,
infor
);
});
}
});
},
});
},
});
},
//图片上传
upFile
(
img
,
resCall
)
{
uni
.
showLoading
({
title
:
"上传中"
,
});
uni
.
uploadFile
({
url
:
this
.
action
,
filePath
:
img
,
name
:
"field"
,
formData
:
{
user
:
"test"
,
},
success
:
(
uploadFileRes
)
=>
{
uni
.
hideLoading
();
resCall
(
uploadFileRes
);
},
fail
:
function
(
res
)
{
wx
.
showToast
({
title
:
"上传失败!"
,
icon
:
"none"
,
duration
:
1000
,
});
},
});
},
//提取营业执照信息
getImgInfo
(
data
,
token
,
resCall
)
{
let
that
=
this
;
let
url
=
""
;
let
id_card_side
=
""
if
(
that
.
type
==
1
)
url
=
"https://aip.baidubce.com/rest/2.0/ocr/v1/business_license?"
else
if
(
that
.
type
==
2
||
that
.
type
==
3
)
{
url
=
"https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?"
id_card_side
=
that
.
type
==
2
?
"front"
:
"back"
}
console
.
log
(
`
${
url
}
access_token=
${
token
}
`
,
"url---"
);
uni
.
request
({
url
:
`
${
url
}
access_token=
${
token
}
`
,
method
:
"POST"
,
header
:
{
"Content-Type"
:
"application/x-www-form-urlencoded"
,
},
data
:
{
image
:
data
,
id_card_side
,
},
success
(
res
)
{
resCall
(
res
);
},
fail
(
res
)
{
wx
.
showToast
({
title
:
"图片类型错误!"
,
icon
:
"none"
,
duration
:
1000
,
});
},
});
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.slot-btn
{
opacity
:
0
;
position
:
absolute
;
left
:
0
;
top
:
0
;
.upImg
{
width
:
100%
;
height
:
100%
;
z-index
:
2
;
}
.
mian-
image
{
.
upImg
image
{
width
:
100%
;
height
:
100%
;
}
.upImg
view
{
position
:
absolute
;
left
:
0
;
right
:
0
;
z-index
:
2
;
bottom
:
10rpx
;
}
.upImg
view
view
{
width
:
252rpx
;
border-radius
:
50rpx
;
border
:
1rpx
solid
#0399FF
;
color
:
#0399FF
;
background
:
#F3F5F9
;
font-size
:
32rpx
;
font-weight
:
800
;
margin
:
auto
;
line-height
:
80rpx
;
padding
:
0
31rpx
;
text-align
:
center
;
}
</
style
>
pages/bigredrnvelope/list.vue
View file @
5e840888
...
...
@@ -9,63 +9,163 @@
style=
"width: 100%;height: 1px;flex: 1;"
>
<view
class=
"bigRedEnvLCBox"
>
<!-- activeDaiKQ activeJinXZ activeChaK activeChaKJD-->
<view
class=
"bigRedEnvLC "
v-for=
"(item,index) in 5"
:key=
"index"
:class=
"[
{'activeDaiKQ':index==0,'activeJinXZ':index==1,
'activeChaK':index==2,'activeChaK':index==3,'activeChaKJD':index==4}]">
<view
class=
"bigRedEnvLCBj row items-center"
>
<view
class=
"bigRedEnvLC "
v-for=
"(item,index) in dataList"
:key=
"index"
:class=
"[
{'activeDaiKQ':item.ContractStatus==3
&&
item.Status==2,
'activeJinXZ':item.ContractStatus==2
&&
item.Status==2,
'activeChaK':(item.ContractStatus==4||ContractStatus==5)
&&
Status==2,
'activeChaKJD':item.Status==1||item.Status==3}]">
<view
class=
"bigRedEnvLCBj"
>
<view
class=
"row items-center"
>
<view
class=
"bigRedEnvLCLeft col"
>
<view
class=
"bigRedEnvLCLTitle"
>
2025
<text>
年度大红包
</text></view>
<view
v-if=
"index!=4"
class=
"bigRedEnvLCLTime"
>
提交时间:2025年1月2日
</view>
<view
class=
"bigRedEnvLCLTitle"
><text>
{{
item
.
C_ProductName
}}
</text></view>
<view
v-if=
"item.Status!=1"
class=
"bigRedEnvLCLTime"
>
<template
v-if=
"item.ContractStatus==3&&item.Status==2"
>
提交时间:
{{
item
.
C_PayDate
}}
</
template
>
<
template
v-if=
"(item.ContractStatus==4||ContractStatus==5)&&Status==2"
>
结算时间
{{
item
.
JieSuan
}}
</
template
>
</view>
</view>
<view
class=
"bigRedEnvLCRight"
>
<view
class=
"bigRedEnvLCRBox column"
v-if=
"index
<4
"
>
<view
class=
"bigRedEnvLCRTitle"
>
-
<text>
待开启
</text>
-
</view>
<view
class=
"bigRedEnvLCbigRedEnvLCLTimeRBox column"
v-if=
"item.Status!=1&&item.Status!=3"
@
click=
"(item.ContractStatus==4||item.ContractStatus==5)&&Status==2?goDetails(item,3):''"
>
<view
class=
"bigRedEnvLCRTitle"
>
-
<text>
<
template
v-if=
"item.ContractStatus==3&&item.Status==2"
>
待开启
</
template
>
<
template
v-if=
"item.ContractStatus==2&&item.Status==2"
>
进行中
</
template
>
<
template
v-if=
"item.ContractStatus==4&&Status==2"
>
结算中
</
template
>
<
template
v-if=
"item.ContractStatus==5&&item.Status==2"
>
已完成
</
template
>
</text>
-
</view>
<view
class=
"bigRedEnvLCRText"
>
¥
<text>
21886
</text>
<text>
{{ item.TotalClosePrice }}
</text>
</view>
<view
class=
"bigRedEnvLCRTYg"
>
预估
</view>
</view>
<view
v-if=
"index==4"
class=
"bigRedEnvLCRBut
"
>
<view
v-if=
"item.Status==1"
class=
"bigRedEnvLCRBut"
@
click=
"goDetails(item,2)
"
>
查看进度
</view>
<view
v-if=
"item.Status==3"
class=
"bigRedEnvLCRBut"
@
click=
"goDetails(item,1)"
>
重新填写
</view>
</view>
</view>
<view
class=
"bigRedEnvLiYou"
v-if=
"item.Status==3"
>
驳回理由:{{ item.AuditContractReason }}
</view>
</view>
</view>
<!--
<u-empty v-if="dataList.length == 0" text="暂无数据" mode="data" padding-top="10"></u-empty>
-->
</view>
</scroll-view>
<view
class=
"bigRedEnvLRule"
@
click=
"goUrl"
>
<text>
大红包规则
</text>
</view>
<view
style=
"height: 112rpx;"
></view>
<auth
v-if=
"showAuth&&is_show_auth==1"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</template>
<
script
>
import
auth
from
"@/components/auth/index.vue"
;
import
headers
from
"@/components/header/header"
;
export
default
{
components
:
{
auth
,
headers
},
data
()
{
return
{
page
:
''
,
Details
:
null
,
dataList
:
[],
U
:
{},
showAuth
:
false
,
is_show_auth
:
0
,
b2bUser
:{},
}
},
onLoad
(
options
)
{
},
onShow
()
{
this
.
U
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
b2bUser
=
uni
.
getStorageSync
(
"b2b_user"
);
let
basedata
=
uni
.
getStorageSync
(
"basedata"
);
//判断后台是否开启自动授权
if
(
basedata
&&
basedata
.
mall
&&
basedata
.
mall
.
setting
&&
basedata
.
mall
.
setting
.
is_show_auth
==
1
)
{
this
.
is_show_auth
=
1
;
}
if
(
!
this
.
U
)
{
this
.
U
=
{
nickName
:
"未登录"
,
avatarUrl
:
""
,
};
this
.
showAuth
=
true
;
}
else
if
(
!
this
.
b2bUser
&&
this
.
is_show_auth
==
1
)
{
this
.
U
=
{
nickName
:
"未登录"
,
avatarUrl
:
""
,
};
this
.
showAuth
=
true
;
}
},
mounted
()
{
this
.
getList
()
},
methods
:
{
goUrl
(){
goDetails
(
item
,
type
){
let
path
=
''
;
if
(
type
==
1
){
path
=
'signAcontract?'
}
else
if
(
type
==
2
){
path
=
`PaymentProgress?type=
${
type
}
&`
}
uni
.
navigateTo
({
url
:
'/pages/bigredrnvelope/rule'
url
:
`/pages/bigredrnvelope/
${
path
}
ContractId=
${
item
.
ContractId
}
`
})
},
getList
(){
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
// app_customer_GetAuthenticationContractDetails
this
.
apipost
(
'app_customer_GetAuthenticationDetails'
,{
CustomerInfoChildrenId
:
this
.
b2bUser
.
customerInfoChildrenId
},
res
=>
{
if
(
res
.
resultCode
==
1
){
this
.
Details
=
res
.
data
;
this
.
dataList
=
res
.
data
.
ContractList
;
if
(
this
.
Details
.
IsRenewalContract
==
1
)
this
.
goUrl
()
uni
.
hideLoading
()
}
},
err
=>
{
uni
.
hideLoading
()
})
},
goUrl
(){
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/rule?IsRenewalContract=
${
this
.
Details
.
IsRenewalContract
}
`
})
},
reloadUserinfo
()
{
const
pages
=
getCurrentPages
()
const
curPage
=
pages
[
pages
.
length
-
1
]
curPage
.
onLoad
(
curPage
.
options
)
curPage
.
onShow
()
curPage
.
onReady
()
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
}
}
</
script
>
...
...
@@ -110,13 +210,13 @@ export default {
.bigRedEnvLCLeft
{
color
:
#E95E2F
;
position
:
relative
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.bigRedEnvLCLTitle
{
font-weight
:
800
;
font-size
:
48rpx
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.bigRedEnvLCLTime
{
font-weight
:
500
;
...
...
@@ -128,7 +228,7 @@ export default {
.bigRedEnvLCRight
{
width
:
171rpx
;
position
:
relative
;
margin-left
:
1
0rpx
;
margin-left
:
2
0rpx
;
}
.bigRedEnvLCRBox
{
width
:
165rpx
;
...
...
@@ -137,6 +237,11 @@ export default {
top
:
-112rpx
;
padding
:
15rpx
19rpx
0
19rpx
;
}
.bigRedEnvLiYou
{
font-size
:
20rpx
;
color
:
#E95E2F
;
margin-top
:
2rpx
;
}
.bigRedEnvLC.activeDaiKQ
.bigRedEnvLCRBox
{
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796302778454702.png')
no-repeat
;
background-size
:
100%
100%
;
...
...
pages/bigredrnvelope/rule.vue
View file @
5e840888
...
...
@@ -3,7 +3,9 @@
<image
mode=
""
style=
"height: 568rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333602414702.jpg"
/>
<image
mode=
""
style=
"height: 939rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333646350233.jpg"
/>
<image
mode=
""
style=
"height: 1031rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333741115931.jpg"
/>
<image
mode=
""
style=
"height: 204rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333810848018.jpg"
/>
<image
v-if=
"IsRenewalContract==1"
@
click=
"goUrl"
mode=
""
style=
"height: 204rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333810848018.jpg"
/>
<image
v-else
@
click=
"goBack"
mode=
""
style=
"height: 204rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638798830960524078.jpg"
/>
</view>
</
template
>
<
script
>
...
...
@@ -13,16 +15,27 @@ export default {
},
data
()
{
return
{
page
:
''
,
IsRenewalContract
:
0
,
}
},
onLoad
(
options
)
{
this
.
IsRenewalContract
=
options
.
IsRenewalContract
?
options
.
IsRenewalContract
:
0
;
},
onShow
()
{},
mounted
()
{
},
methods
:
{
goUrl
(){
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/signAcontract?IsRenewalContract=
${
this
.
IsRenewalContract
}
`
})
},
goBack
(){
uni
.
navigateBack
({
delta
:
-
1
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
pages/bigredrnvelope/signAcontract.vue
View file @
5e840888
...
...
@@ -2,12 +2,12 @@
<view
class=
"signAcontractBox column"
>
<view
class=
"signAconStepBox row-sbas-n"
>
<view
class=
"signAconStep row items-center"
:class=
"[index?'col':'',index>StepNum?'active':'Highlight',]"
:class=
"[index?'col':'',index>
msg.
StepNum?'active':'Highlight',]"
v-for=
"(item,index) in stepList"
:key=
"index"
>
<view
v-if=
"index"
class=
"signAconStepLine"
></view>
<view
class=
"signAconStepTextBox row items-center justify-center"
>
<view
class=
"signAconStepN"
v-if=
"index>StepNum"
>
{{
index
+
1
}}
</view>
<view
class=
"signAconStepN"
v-if=
"index>
msg.
StepNum"
>
{{
index
+
1
}}
</view>
<view
class=
"signAconStepTisp"
></view>
<view
class=
"signAconStepText"
>
<text>
{{
item
.
Name
}}
</text>
...
...
@@ -16,23 +16,61 @@
</view>
</view>
<scroll-view
:scroll-y=
"true"
style=
"width: 100%;height: 1px;flex: 1;"
>
<view
class=
"signAconForm column"
v-if=
"StepNum==0"
>
<view
class=
"signAconBox"
>
style=
"width: 100%;height: 1px;flex: 1;
border-radius: 18rpx;overflow: hidden;
"
>
<view
class=
"signAconForm column"
v-if=
"
msg.
StepNum==0"
>
<view
class=
"signAconBox
col
"
>
<view
class=
"signAconTitle"
>
营业执照
</view>
<view
class=
"signAconText"
>
拥有营业资质才能参加大红包
</view>
<view
class=
"signAconImg row items-center"
>
<view
v-if=
"msg.img==''"
class=
"signAconImgBut"
>
上传营业执照
</view>
<view
class=
"signAconImg row items-center"
:class=
"[msg.BusinessLicenseUrl==''?'signAconImgYYZZ':'']"
>
<view
v-if=
"msg.BusinessLicenseUrl==''"
class=
"signAconImgBut"
>
上传营业执照
</view>
<uploadImg
class=
"signAconUp"
type=
"1"
:img=
"msg.BusinessLicenseUrl"
@
onSuccess=
"(data)=>
{onSuccess(data,1)}"
@onRemove="onRemove(1)">
</uploadImg>
>
</uploadImg>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
营业执照号
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.BusinessLicenseNumber"
placeholder=
"请输入营业执照号"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
公司名称
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.Tourists_Name"
placeholder=
"请输入公司名称"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
法人名称
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.LegalPersonName"
placeholder=
"请输入法人名称"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
经营地址
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.Tourists_Addres"
placeholder=
"请输入经营地址"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
经营许可号
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.Tourists_Email"
placeholder=
"请输入经营许可号"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
@
click=
"
showSalePreviwe=true
"
>
<view
class=
"line-flex"
v-if=
"SaleList.length>1"
@
click=
"
SaleList.length>1?showSalePreviwe=true:''
"
>
<text
class=
"SaleNameTetxL"
>
服务人员
</text>
<view
class=
"SaleNameTetx"
>
<view>
<text
v-if=
"
msg.SaleName"
>
{{
msg
.
SaleName
}}
</text>
<text
v-if=
"msg.SaleName"
>
{{
msg
.
SaleName
}}
</text>
<text
v-else
class=
"SNTRcolor"
>
请选择
</text>
...
...
@@ -42,39 +80,45 @@
</view>
</view>
<view
class=
"
col"
></view
>
<view
class=
"signAconNext
"
<view
class=
"
row"
>
<view
class=
"signAconNext col
"
:class=
"[validate(1)?'':'active']"
@
click=
"Next(1)"
>
下一步
</view>
</view>
<view
class=
"signAconForm column"
v-if=
"StepNum==1"
>
</view>
<view
class=
"signAconForm column"
v-if=
"msg.StepNum==1"
>
<view
class=
"signAconBox col"
>
<view
class=
"signAconTitle"
>
法人身份证
</view>
<view
class=
"signAconText"
>
请上传法人身份信息
</view>
<view
class=
"signAconImg signAconImgZM row items-center"
>
<view
v-if=
"msg.
img
==''"
class=
"signAconImgBut"
>
身份证正面照
</view>
<view
v-if=
"msg.
LegalIdCardFrontUrl
==''"
class=
"signAconImgBut"
>
身份证正面照
</view>
<uploadImg
class=
"signAconUp"
type=
"2"
:img=
"msg.LegalIdCardFrontUrl"
@
onSuccess=
"(data)=>
{onSuccess(data,2)}"
@onRemove="onRemove(2)"
>
</uploadImg>
>
</uploadImg>
</view>
<view
class=
"signAconImg signAconImgFM row items-center"
>
<view
v-if=
"msg.
img
==''"
class=
"signAconImgBut"
>
身份证背面照
</view>
<view
v-if=
"msg.
LegalIdCardBackUrl
==''"
class=
"signAconImgBut"
>
身份证背面照
</view>
<uploadImg
class=
"signAconUp"
type=
"3"
:img=
"msg.LegalIdCardBackUrl"
@
onSuccess=
"(data)=>
{onSuccess(data,3)}"
@onRemove="onRemove(3)"
>
</uploadImg>
>
</uploadImg>
</view>
<!--
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
姓名
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.name"
placeholder=
"请输入姓名"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
</view>
-->
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
身份证号
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.
name
"
placeholder=
"请输入身份证号"
<input
v-model=
"msg.
LegalIdCardNumber
"
placeholder=
"请输入身份证号"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
...
...
@@ -82,7 +126,7 @@
<text
class=
"SaleNameTetxL"
>
有效期限
</text>
<view
class=
"SaleNameTetx"
>
<view>
<text
v-if=
"
msg.time"
>
{{
msg
.
t
ime
}}
</text>
<text
v-if=
"
msg.LegalIdCardTime"
>
{{
msg
.
LegalIdCardT
ime
}}
</text>
<text
v-else
class=
"SNTRcolor"
>
请选择有效期限
</text>
...
...
@@ -92,92 +136,207 @@
<u-picker
mode=
"time"
v-model=
"showOpenTime"
:params=
"params"
@
confirm=
"confirmOpenTime"
></u-picker>
</view>
<view
class=
"col"
></view>
<view
class=
"signAconNext"
<view
class=
"row-sbs-n"
>
<view
class=
"signAconNext signAconNextL col"
@
click=
"Prev(0)"
>
上一步
</view>
<view
class=
"signAconNext col"
:class=
"[validate(2)?'':'active']"
@
click=
"Next(2)"
>
下一步
</view>
<view
class=
"opacity0"
style=
"height: 100rpx;"
>
1
</view>
</view>
<view
class=
"signAconForm column"
v-if=
"StepNum==2"
>
</view>
<view
class=
"signAconForm signAconFormYH column"
v-if=
"msg.StepNum==2"
>
<view
class=
"signAconBox col"
>
<view
class=
"signAconTitle"
>
银行账户
</view>
<view
class=
"signAconText"
style=
"margin-bottom: 23rpx;"
>
请填写能正常使用的银行账户
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
银行名称
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.
n
ame"
placeholder=
"请输入银行名称"
<input
v-model=
"msg.
BankN
ame"
placeholder=
"请输入银行名称"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
开户行
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.name"
placeholder=
"请输入开户行"
<input
v-model=
"msg.OpenBankName"
placeholder=
"请输入开户行"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
开户人
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.AccountHolder"
placeholder=
"请输入开户人"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
<view
class=
"line-flex"
>
<text
class=
"SaleNameTetxL"
>
银行账号
</text>
<view
class=
"SaleNameTetx"
>
<input
v-model=
"msg.
name
"
placeholder=
"请输入银行账号"
<input
v-model=
"msg.
CardNum
"
placeholder=
"请输入银行账号"
:placeholder-style=
"placeholderStyle"
/>
</view>
</view>
</view>
<view
class=
"signAconNext"
<view
class=
"row-sbs-n"
>
<view
class=
"signAconNext signAconNextL col"
@
click=
"Prev(1)"
>
上一步
</view>
<view
class=
"signAconNext col"
:class=
"[validate(3)?'':'active']"
@
click=
"Next(3)"
>
下一步
</view>
</view>
<view
class=
"signAconForm column"
v-if=
"StepNum==3"
>
</view>
<view
class=
"signAconForm column"
v-if=
"msg.StepNum==3"
>
<view
class=
"signAconBox col"
>
<view
class=
"contractTitle"
>
这里是合同名称
</view>
<view
class=
"contractTitle"
>
大红包专案活动合作协议
</view>
<view
class=
"contractBox"
>
<view
class=
"contractBj"
></view>
<view
class=
"contractCenter"
>
第四条 双方权利义务
4.1 甲方责任:
提供完成服务所需的资料及配合;
按约定支付费用。
4.2 乙方责任:
按约定时间、质量完成服务;
对甲方提供的资料保密。
第五条 保密条款
5.1 双方对在合作过程中知悉的对方商业秘密、技术信息等承担保密义务,未经书面同意不得向第三方披露。
5.2 本条款在合同终止后______年内仍有效
5.1 双方对在合作过程中知悉的对方商业秘密、技术信息等承担保密义务,未经书面同意不得向第三方披露。
5.2 本条款在合同终止后______年内仍有效。
</view>
<view
class=
"contractTisp"
>
<view>
甲方:四川和平国际旅行社有限公司
</view>
<view>
地址:成都市锦江区青和里南段 55 号阳光新业 2310、2311 号
</view>
<view>
经营许证号:L-SC-CJ00015 法定负责人:谢麟
</view>
<view>
乙方:
</view>
<view>
经营地址:
</view>
<view>
经营许可证号:
</view>
<view>
法定负责人:
</view>
<view>
为加强甲乙双方紧密合作,并进一步巩固甲乙双方的合作关系,达到双方
互惠互利的双赢模式,甲方特推出“大红包专案活动”,具体活动时间及内
容如下:
</view>
<view>
1、活动时间:2024 年 07 月 1 日-2025 年 06 月 30 日(报名起算)
</view>
<view>
2、活动内容:为答谢各位同行对“印象”系列产品的支持和厚爱,在同行销
售反点外特推出“大红包专案活动”,在“合作协议”期间内同行只要达到
红包申请额度即按照红包系数申请该额度红包。
</view>
<view>
3、活动要求:
</view>
<view>
3.1 所有在 2024 年 08 月 31 日前签约此协议的同行均可参加此活动,签约“合
作协议”即视为有效参加,并在合作协议生效后报名第一单开始计算累计销
售额;
</view>
<view>
3.2 此活动“印象”产品均可参加参与;
此“大红包专案活动”累计销售及红包计算方式如下:
</view>
<table>
<tr>
<th>
销售合计金额(预估)
</th>
<th>
累计销售额档次
</th>
<th>
红包系数
</th>
<th>
红包(预收)
</th>
</tr>
<tr>
<td>
799999 元以下
</td>
<td>
50 万~80 万
</td>
<td>
0.80%
</td>
<td>
6399.99
</td>
</tr>
<tr>
<td>
999999 元以下
</td>
<td>
80 万~100 万
</td>
<td>
1.00%
</td>
<td>
9999.99
</td>
</tr>
<tr>
<td>
1499999 元以下
</td>
<td>
100 万~150 万
</td>
<td>
1.20%
</td>
<td>
17999.99
</td>
</tr>
<tr>
<td>
1500000
</td>
<td>
150 万以上
</td>
<td>
1.50%
</td>
<td>
22500.00
</td>
</tr>
</table>
<view>
5、乙方累计销售金额达标即可申请大红包,由甲方审批通过后转至乙方公帐
</view>
<view>
(备注:乙方需提前向甲方出具相同金额的发票)
</view>
<view>
5.1 乙方账户信息
</view>
<view>
开户行:
</view>
<view>
帐号:
</view>
<view>
同行系统帐号:
</view>
<view>
6、此活动与“印象”其它活动互不影响,同行均可同时参加享受。
</view>
<view>
7、签订协议内容:
</view>
<view>
7.1 本协议一式两份,甲乙双方各执一份,具有同等法律效力;
</view>
<view>
7.2 本协议有效期为 2024 年 07 月 1 日-2025 年 06 月 30 日。
</view>
<view>
8、本协议需填写完整 5.1 事项内容并由甲乙双方负责人签字并加盖公章方能
生效;
</view>
<view>
协议中未尽事宜,双方可协商解决或签订补充协议,其效力与本协议相等。
</view>
<view>
甲方:四川和平国际旅行社有限公司 乙方:
</view>
<view>
法定代表人(或授权代表): 法定代表人(或授权代表):
</view>
</view>
<view
class=
"contractTisp"
@
click=
"getUrl(1)"
>
<view>
请仔细阅读条款
</view>
<view>
<image
style=
"width: 24rpx;height: 27rpx;margin-top: 20rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797066116118344.png"
/>
</view>
</view>
</view>
<view
class=
"contractSign row justify-center"
>
<view
class=
"contractSign row justify-center"
@
click=
"getUrl(2)"
>
<view>
签字确认
</view>
</view>
</view>
<view
class=
"signAconNext"
:class=
"[validate(4)?'':'active']"
@
click=
"Next(4)"
>
<view
class=
"row-sbs-n"
>
<view
v-if=
"msg.StepNum
<4
&&!
loading
"
class=
"signAconNext signAconNextL col"
@
click=
"Prev(2)"
>
上一步
</view>
<view
class=
"signAconNext col"
:class=
"[msg.StepNum==4||loading?'':'active']"
@
click=
"Next(4)"
>
提交
</view>
<view
class=
"opacity0"
style=
"height: 100rpx;"
>
1
</view>
</view>
<view
class=
"signAconForm column"
v-if=
"StepNum==4"
>
</view>
<view
class=
"signAconForm column"
v-if=
"msg.StepNum==4"
>
<view
class=
"signAconBox column col"
>
<view
class=
"column justify-center col"
>
<image
class=
"contractImg"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797058914190239.png"
></image>
<view
class=
"contractSText"
>
已签字
</view>
</view>
<view
class=
"contractSign row justify-center"
>
<view>
重新签字
</view>
<view
style=
"margin-left: 50rpx;"
>
查看条款
</view>
<view
@
click=
"getUrl(2)"
>
重新签字
</view>
<view
style=
"margin-left: 50rpx;"
@
click=
"getUrl(1)"
>
查看条款
</view>
</view>
</view>
<view
class=
"signAconNext"
:class=
"[
validate(4)
?'':'active']"
@
click=
"Next(4)"
>
:class=
"[
msg.StepNum==4
?'':'active']"
@
click=
"Next(4)"
>
提交
</view>
</view>
...
...
@@ -205,13 +364,31 @@ export default {
SaleList
:
[],
msg
:
{
SaleName
:
''
,
SaleId
:
''
,
img
:
''
,
name
:
''
,
time
:
''
,
SaleId
:
0
,
Id
:
0
,
EnterId
:
0
,
// 销售
Tourists_Addres
:
''
,
// 经营地址
StepNum
:
0
,
// 当前步骤信息 一共4步1-营业执照,2-法人信息3-账户信息4-合同
BusinessLicenseUrl
:
''
,
// 营业执照图片
BusinessLicenseNumber
:
''
,
// 营业执照号
Tourists_Email
:
''
,
// 经营许可证号
Tourists_Name
:
''
,
// 公司名称
LegalPersonName
:
''
,
// 法人姓名
LegalIdCardFrontUrl
:
''
,
// 身份证正面
LegalIdCardBackUrl
:
''
,
// 身份证反面
LegalIdCardNumber
:
''
,
// 身份证号
LegalIdCardTime
:
''
,
// 身份证有效期
OpenBankName
:
''
,
// 开户支行
BankName
:
''
,
// 所属银行
CardNum
:
''
,
// 卡号
AccountHolder
:
''
,
// 开户人
ContractId
:
''
,
// 合同id
Tourists_Sign
:
''
,
// 签名
C_StartDate
:
''
,
// 合同开始时间
C_EndDate
:
''
,
// 合同结束时间
},
oldMsg
:
null
,
showSalePreviwe
:
false
,
customer
:
null
,
showAuth
:
false
,
stepList
:[
{
Name
:
'营业执照'
,
Id
:
1
},
...
...
@@ -219,7 +396,6 @@ export default {
{
Name
:
'银行账户'
,
Id
:
3
},
{
Name
:
'线上签约'
,
Id
:
4
},
],
StepNum
:
3
,
U
:{},
b2bUser
:{},
is_show_auth
:
0
,
...
...
@@ -232,11 +408,19 @@ export default {
minute
:
false
,
second
:
false
},
placeholderStyle
:
"color: #DBE0EC"
placeholderStyle
:
"color: #DBE0EC"
,
loading
:
false
,
IsRenewalContract
:
0
,
ContractId
:
0
,
}
},
onLoad
(
options
)
{
this
.
customer
=
uni
.
getStorageSync
(
"b2b_user"
);
if
(
options
.
IsRenewalContract
)
{
this
.
IsRenewalContract
=
options
.
IsRenewalContract
}
if
(
options
.
ContractId
)
{
this
.
ContractId
=
options
.
ContractId
}
},
onShow
()
{
this
.
U
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
...
...
@@ -267,20 +451,120 @@ export default {
this
.
getSale
()
},
methods
:
{
Prev
(
type
){
this
.
msg
.
StepNum
=
type
},
getUrl
(
type
)
{
if
(
!
this
.
msg
.
ContractId
)
this
.
setInfor
(
4
)
else
this
.
goWebUrl
(
type
)
},
goWebUrl
(
type
){
let
url
=
""
let
msg
=
JSON
.
stringify
(
this
.
msg
)
if
(
type
==
1
)
url
=
`https://activity.oytour.com/html/contract/index.html?msg=
${
encodeURIComponent
(
msg
)}
`
if
(
type
==
2
)
url
=
`https://activity.oytour.com/html/contract/sign.html?msg=
${
encodeURIComponent
(
msg
)}
`
if
(
process
.
env
.
NODE_ENV
==
"development"
)
return
console
.
log
(
url
,
"-----url"
)
if
(
url
&&
url
.
length
>
0
)
{
if
(
type
==
1
){
uni
.
navigateTo
({
url
:
"/pages/webbox/webbox?u="
+
encodeURIComponent
(
url
),
});
}
else
if
(
type
==
2
){
uni
.
reLaunch
({
url
:
"/pages/webbox/webbox?u="
+
encodeURIComponent
(
url
),
});
}
}
},
confirmOpenTime
(
r
){
this
.
msg
.
t
ime
=
r
.
year
+
"-"
+
r
.
month
+
"-"
+
r
.
day
this
.
msg
.
LegalIdCardT
ime
=
r
.
year
+
"-"
+
r
.
month
+
"-"
+
r
.
day
},
validate
(
type
){
newMsg
(
type
){
let
msg
=
''
// if(type==1){
// if(this.msg.img==''){
// msg = '请上传营业执照'
// } else if(!this.msg.SaleId){
// msg = '请选择服务人员'
if
(
type
==
1
){
if
(
this
.
msg
.
BusinessLicenseUrl
!=
this
.
oldMsg
.
BusinessLicenseUrl
){
msg
=
'营业执照变更'
}
else
if
(
this
.
msg
.
BusinessLicenseNumber
!=
this
.
oldMsg
.
BusinessLicenseNumber
){
msg
=
'营业执照号变更'
}
else
if
(
this
.
msg
.
LegalPersonName
!=
this
.
oldMsg
.
LegalPersonName
){
msg
=
'法人姓名变更'
}
else
if
(
this
.
msg
.
Tourists_Name
!=
this
.
oldMsg
.
Tourists_Name
){
msg
=
'公司名称变更'
}
else
if
(
this
.
msg
.
Tourists_Addres
!=
this
.
oldMsg
.
Tourists_Addres
){
msg
=
'经营地址变更'
}
else
if
(
this
.
msg
.
EnterId
!=
this
.
oldMsg
.
EnterId
){
msg
=
'服务人员变更'
}
else
if
(
this
.
msg
.
Tourists_Email
!=
this
.
oldMsg
.
Tourists_Email
){
msg
=
'经营许可证号变更'
}
}
else
if
(
type
==
2
){
if
(
this
.
msg
.
LegalIdCardFrontUrl
!=
this
.
oldMsg
.
LegalIdCardFrontUrl
){
msg
=
'身份证正面变更'
}
else
if
(
this
.
msg
.
LegalIdCardBackUrl
!=
this
.
oldMsg
.
LegalIdCardBackUrl
){
msg
=
'身份证反面变更'
}
else
if
(
this
.
msg
.
LegalIdCardNumber
!=
this
.
oldMsg
.
LegalIdCardNumber
){
msg
=
'身份证号变更'
}
else
if
(
this
.
msg
.
LegalIdCardTime
!=
this
.
oldMsg
.
LegalIdCardTime
){
msg
=
'身份证有效期变更'
}
}
else
if
(
type
==
3
){
if
(
this
.
msg
.
BankName
!=
this
.
oldMsg
.
BankName
){
msg
=
'银行名称变更'
}
else
if
(
this
.
msg
.
OpenBankName
!=
this
.
oldMsg
.
OpenBankName
){
msg
=
'开户行变更'
}
else
if
(
this
.
msg
.
AccountHolder
!=
this
.
oldMsg
.
AccountHolder
){
msg
=
'开户人变更'
}
else
if
(
this
.
msg
.
CardNum
!=
this
.
oldMsg
.
CardNum
){
msg
=
'银行账户变更'
}
}
else
if
(
type
==
4
){
// if(this.msg.Tourists_Sign!=this.oldMsg.Tourists_Sign){
// msg = '签字确认变更'
// }
// }else if(type==2){
}
return
msg
},
validate
(
type
){
let
msg
=
''
if
(
type
==
1
){
if
(
this
.
msg
.
BusinessLicenseUrl
==
''
){
msg
=
'请上传营业执照'
}
else
if
(
this
.
msg
.
BusinessLicenseNumber
==
''
){
msg
=
'请输入营业执照号'
}
else
if
(
this
.
msg
.
LegalPersonName
==
''
){
msg
=
'请输入法人姓名'
}
else
if
(
this
.
msg
.
Tourists_Name
==
''
){
msg
=
'请输入公司名称'
}
else
if
(
this
.
msg
.
Tourists_Addres
==
''
){
msg
=
'请输入经营地址'
}
else
if
(
!
this
.
msg
.
EnterId
){
msg
=
'请选择服务人员'
}
}
else
if
(
type
==
2
){
if
(
this
.
msg
.
LegalIdCardFrontUrl
==
''
){
msg
=
'请上传身份证正面'
}
else
if
(
this
.
msg
.
LegalIdCardBackUrl
==
''
){
msg
=
'请上传身份证反面'
}
else
if
(
this
.
msg
.
LegalIdCardNumber
==
''
){
msg
=
'请输入身份证号'
}
else
if
(
this
.
msg
.
LegalIdCardTime
==
''
){
msg
=
'请选择身份证有效期'
}
}
else
if
(
type
==
3
){
if
(
this
.
msg
.
BankName
==
''
){
msg
=
'请输入银行名称'
}
else
if
(
this
.
msg
.
OpenBankName
==
''
){
msg
=
'请输入开户行'
}
else
if
(
this
.
msg
.
AccountHolder
==
''
){
msg
=
'请输入开户人'
}
else
if
(
this
.
msg
.
CardNum
==
''
){
msg
=
'请输入银行账户'
}
}
else
if
(
type
==
4
){
// if(this.msg.Tourists_Sign==''){
// msg = '请仔细阅读条款,并签字确认'
// }
}
return
msg
},
Next
(
type
){
...
...
@@ -292,25 +576,65 @@ export default {
})
return
}
this
.
StepNum
=
type
;
console
.
log
(
this
.
StepNum
,
'-----'
);
},
onRemove
(
type
)
{
if
(
type
==
1
)
this
.
msg
.
img
=
''
;
if
(
this
.
msg
.
StepNum
==
4
)
return
const
oldData
=
this
.
newMsg
(
type
)
// console.log(oldData,'--------',type,!oldData)
// return
if
(
oldData
)
this
.
setInfor
(
type
)
else
if
(
this
.
ContractId
&&
type
==
4
)
this
.
setInfor
(
type
)
else
if
(
type
!=
4
)
this
.
msg
.
StepNum
=
type
},
onSuccess
(
data
,
type
)
{
if
(
type
==
1
)
this
.
msg
.
img
=
data
;
if
(
type
==
1
)
{
this
.
msg
.
BusinessLicenseUrl
=
data
.
BusinessLicense
;
this
.
msg
.
BusinessLicenseNumber
=
data
.
UnifiedCode
;
this
.
msg
.
LegalPersonName
=
data
.
LegalPerson
this
.
msg
.
Tourists_Name
=
data
.
CompanyName
this
.
msg
.
Tourists_Addres
=
data
.
Addres
}
else
if
(
type
==
2
){
this
.
msg
.
LegalIdCardFrontUrl
=
data
.
BusinessLicense
;
if
(
data
.
LegalIdCardNumber
)
this
.
msg
.
LegalIdCardNumber
=
data
.
LegalIdCardNumber
}
else
if
(
type
==
3
){
this
.
msg
.
LegalIdCardBackUrl
=
data
.
BusinessLicense
;
if
(
data
.
LegalIdCardTime
)
this
.
msg
.
LegalIdCardTime
=
data
.
LegalIdCardTime
}
},
setInfor
(
type
){
if
(
this
.
loading
)
return
uni
.
showLoading
({
title
:
'提交中...'
,
mask
:
true
})
this
.
loading
=
true
;
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
))
msg
.
StepNum
=
type
this
.
apipost
(
'app_customer_SetAuthentication'
,
msg
,
res
=>
{
if
(
res
.
resultCode
==
1
)
{
console
.
log
(
res
,
'--------提交'
)
uni
.
hideLoading
()
this
.
loading
=
false
this
.
msg
.
StepNum
=
type
if
(
this
.
msg
.
StepNum
==
4
){
this
.
msg
.
ContractId
=
res
.
data
.
ContractId
this
.
goWebUrl
(
4
)
}
}
},
err
=>
{
uni
.
hideLoading
()
this
.
loading
=
false
console
.
log
(
err
,
'--------'
)
})
},
goReserce
(
item
){
this
.
msg
.
SaleName
=
item
.
SaleName
this
.
msg
.
SaleId
=
item
.
SaleId
this
.
msg
.
SaleName
=
this
.
msg
.
EnterName
=
item
.
SaleName
this
.
msg
.
SaleId
=
this
.
msg
.
EnterId
=
item
.
SaleId
this
.
showSalePreviwe
=
false
;
},
getSale
(){
this
.
apipost
(
"b2b_get_GetCustomerCreateByList"
,
{
CustomerId
:
this
.
custom
er
.
customerId
CustomerId
:
this
.
b2bUs
er
.
customerId
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
...
...
@@ -318,13 +642,13 @@ export default {
this
.
SaleList
=
res
.
data
if
(
res
.
data
.
length
==
1
){
this
.
msg
.
SaleName
=
res
.
data
[
0
].
EmName
this
.
msg
.
SaleId
=
res
.
data
[
0
].
CreateBy
this
.
msg
.
SaleId
=
this
.
msg
.
EnterId
=
res
.
data
[
0
].
CreateBy
}
}
else
{
this
.
msg
.
SaleName
=
''
this
.
msg
.
SaleId
=
0
this
.
msg
.
SaleId
=
this
.
msg
.
EnterId
=
0
}
}
else
{
this
.
getInfor
()
}
},
...
...
@@ -333,6 +657,66 @@ export default {
}
);
},
getInfor
(){
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
apipost
(
'app_customer_GetAuthenticationDetails'
,{
CustomerInfoChildrenId
:
this
.
b2bUser
.
customerInfoChildrenId
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
let
data
=
res
.
data
this
.
msg
=
{
SaleName
:
data
.
EnterName
,
SaleId
:
data
.
EnterId
,
Id
:
data
.
Id
,
// 主键ID
EnterName
:
data
.
EnterName
,
// 服务人员姓名
EnterId
:
data
.
EnterId
,
// 销售
Tourists_Addres
:
data
.
Tourists_Addres
,
// 经营地址
StepNum
:
data
.
StepNum
,
// 当前步骤信息 一共4步1-营业执照,2-法人信息3-账户信息4-合同
BusinessLicenseUrl
:
data
.
BusinessLicenseUrl
,
// 营业执照图片
BusinessLicenseNumber
:
data
.
BusinessLicenseNumber
,
// 营业执照号
LegalPersonName
:
data
.
LegalPersonName
,
// 法人姓名
LegalIdCardFrontUrl
:
data
.
LegalIdCardFrontUrl
,
// 身份证正面
LegalIdCardBackUrl
:
data
.
LegalIdCardBackUrl
,
// 身份证反面
LegalIdCardNumber
:
data
.
LegalIdCardNumber
,
// 身份证号
LegalIdCardTime
:
data
.
LegalIdCardTime
,
// 身份证有效期
Tourists_Email
:
data
.
Tourists_Email
,
// 经营许可证号
Tourists_Name
:
data
.
Tourists_Name
,
// 公司名称
OpenBankName
:
data
.
OpenBankName
,
// 开户支行
BankName
:
data
.
BankName
,
// 所属银行
CardNum
:
data
.
CardNum
,
// 卡号
AccountHolder
:
data
.
AccountHolder
,
// 开户人
ContractId
:
data
.
ContractId
,
// 合同id
Tourists_Sign
:
data
.
Tourists_Sign
?
data
.
Tourists_Sign
:
''
,
// 签名
C_StartDate
:
data
.
RenewalContractStime
,
// 合同开始时间
C_EndDate
:
data
.
RenewalContractEtime
,
// 合同结束时间
}
if
(
this
.
IsRenewalContract
||
this
.
ContractId
){
this
.
msg
.
StepNum
=
0
if
(
this
.
IsRenewalContract
==
1
)
this
.
msg
.
ContractId
=
0
if
(
this
.
ContractId
)
{
let
ContractList
=
data
.
ContractList
.
filter
(
x
=>
{
return
x
.
ContractId
==
this
.
ContractId
})
if
(
ContractList
.
length
>
0
)
{
this
.
msg
.
C_StartDate
=
ContractList
[
0
].
StartTime
this
.
msg
.
C_EndDate
=
ContractList
[
0
].
EndTime
}
this
.
msg
.
ContractId
=
this
.
ContractId
}
}
this
.
oldMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
))
uni
.
hideLoading
()
}
},
err
=>
{
uni
.
hideLoading
()
})
},
reloadUserinfo
()
{
const
pages
=
getCurrentPages
()
const
curPage
=
pages
[
pages
.
length
-
1
]
...
...
@@ -344,6 +728,7 @@ export default {
gbAuth
()
{
this
.
showAuth
=
false
;
},
}
}
</
script
>
...
...
@@ -362,15 +747,19 @@ export default {
font-size
:
32rpx
;
}
.SaleNameTetxL
{
width
:
1px
;
flex
:
1
;
width
:
200rpx
;
}
.signAconFormYH
.SaleNameTetxL
{
width
:
150rpx
;
}
.SaleNameTetx
{
width
:
1px
;
flex
:
1
;
display
:
flex
;
text-align
:
right
;
}
.SaleNameTetx
view
{
margin-right
:
15rpx
;
.SaleNameTetx
input
,
.SaleNameTetx
view
{
width
:
100%
;
}
.SNTRcolor
{
color
:
#DBE0EC
...
...
@@ -463,6 +852,10 @@ export default {
border-radius
:
20rpx
;
position
:
relative
;
overflow
:
hidden
;
margin-bottom
:
20rpx
;
background
:
#F3F5F9
;
}
.signAconImg.signAconImgYYZZ
{
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796480136781668.png')
no-repeat
;
background-size
:
100%
100%
;
}
...
...
@@ -508,6 +901,13 @@ export default {
}
.signAconNext.active
{
background
:
#0399FF
;
border
:
2rpx
solid
#0399FF
;
}
.signAconNext.signAconNextL
{
border
:
2rpx
solid
#0399FF
;
background
:
#fff
;
color
:
#0198FF
;
margin-right
:
40rpx
;
}
/
deep
/
.signAconUp
.u-upload
{
height
:
100%
;
...
...
@@ -539,12 +939,14 @@ export default {
.contractBox
{
height
:
712rpx
;
background
:
#F3F5F9
;
padding
:
51rpx
38rpx
;
padding
:
51rpx
38rpx
80rpx
38rpx
;
border-radius
:
20rpx
;
position
:
relative
;
overflow
:
hidden
;
}
.contractCenter
{
height
:
100%
;
overflow
:
hidden
;
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#647AA0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment