Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
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
李俊赕
self-support
Commits
35988be4
Commit
35988be4
authored
Apr 17, 2021
by
Facius
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
缴纳保证金
parent
6cb172a1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
334 additions
and
279 deletions
+334
-279
agreement.vue
src/components/settle/agreement.vue
+1
-1
pages.json
src/pages.json
+8
-1
pay-ensure.vue
src/pages/settle/pay-ensure.vue
+325
-277
weixin@3x.png
src/static/settle/weixin@3x.png
+0
-0
No files found.
src/components/settle/agreement.vue
View file @
35988be4
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
'4.与人交流时态度良好,沟通顺畅;'
'4.与人交流时态度良好,沟通顺畅;'
]
]
},
{
},
{
title
:
'
一
、注意事项'
,
title
:
'
二
、注意事项'
,
content
:
[
content
:
[
'1.平台会对每笔订单收取一定比例的服务费抽成;'
,
'1.平台会对每笔订单收取一定比例的服务费抽成;'
,
'2.若审核通过,平台工作人员将会电话联系您,并邀约参加师傅培训会,请您耐心等待;'
,
'2.若审核通过,平台工作人员将会电话联系您,并邀约参加师傅培训会,请您耐心等待;'
,
...
...
src/pages.json
View file @
35988be4
...
@@ -101,7 +101,9 @@
...
@@ -101,7 +101,9 @@
{
{
"path"
:
"pages/settle/pay-ensure"
,
"path"
:
"pages/settle/pay-ensure"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"缴纳设备押金"
"navigationBarTitleText"
:
"缴纳设备押金"
,
"navigationStyle"
:
"custom"
,
"disableScroll"
:
true
}
}
},
},
{
{
...
@@ -239,6 +241,11 @@
...
@@ -239,6 +241,11 @@
"path"
:
"pages/settle/file"
,
//启动页面,必选
"path"
:
"pages/settle/file"
,
//启动页面,必选
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
},
},
{
"name"
:
"缴纳保证金"
,
//模式名称
"path"
:
"pages/settle/pay-ensure"
,
//启动页面,必选
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
},
{
{
"name"
:
"签约页面"
,
//模式名称
"name"
:
"签约页面"
,
//模式名称
"path"
:
"pages/settle/sign-contract"
,
//启动页面,必选
"path"
:
"pages/settle/sign-contract"
,
//启动页面,必选
...
...
src/pages/settle/pay-ensure.vue
View file @
35988be4
<
template
>
<
template
>
<view
class=
"content"
>
<view
class=
"content"
>
<Settle
:index=
"5"
>
<view
class=
"base-list"
>
<view
class=
"base-list"
>
<view
class=
"title"
>
充电桩安装需缴纳设备押金
</view>
<view
class=
"title"
>
充电桩安装需缴纳设备押金
</view>
<view
class=
"price"
><text>
¥
</text>
{{
settledInfo
.
record
.
deposit
}}
</view>
<view
class=
"price"
><text>
¥
</text>
{{
settledInfo
.
record
.
deposit
}}
</view>
<view
class=
"list"
>
<view
class=
"list"
>
<view
class=
"item u-flex u-row-between"
>
<view
class=
"item u-flex u-row-between"
>
<view
class=
"txt"
>
您已缴纳金额
</view>
<view
class=
"txt"
>
您已缴纳金额
</view>
<view
class=
"txt"
>
¥ 0.00
</view>
<view
class=
"txt-value"
>
¥ 0.00
</view>
</view>
</view>
<view
class=
"line-view"
></view>
<view
class=
"item u-flex u-row-between"
>
<view
class=
"item u-flex u-row-between"
>
<view
class=
"txt"
>
待缴纳金额
</view>
<view
class=
"txt"
>
待缴纳金额
</view>
<view
class=
"txt"
>
¥
{{
settledInfo
.
record
.
deposit
}}
</view>
<view
class=
"txt-value"
>
¥
{{
settledInfo
.
record
.
deposit
}}
</view>
</view>
</view>
</view>
</view>
<!--
<view
class=
"tips"
>
你已缴纳金额:1000.00元
</view>
<!--
<view
class=
"tips"
>
你已缴纳金额:1000.00元
</view>
<view
class=
"tips"
>
充电桩安装需缴纳保证金:1000元待缴金额:1000元
</view>
-->
<view
class=
"tips"
>
充电桩安装需缴纳保证金:1000元待缴金额:1000元
</view>
-->
</view>
</view>
<view
class=
"seat"
></view>
<template
v-slot:bottom
>
<view
class=
"btn-wrap flex-xc"
>
<view
class=
"btn-wrap flex-xc"
>
<button
class=
"btn-submit"
:disabled=
"saving"
@
click=
"paySubmit"
>
<button
class=
"btn-submit"
:disabled=
"saving"
@
click=
"paySubmit"
>
{{
saving
?
'支付中……'
:
'微信支付'
}}
<image
class=
"button-image"
mode=
"widthFix"
src=
"../../static/settle/weixin@3x.png"
></image>
<text>
{{
saving
?
'支付中……'
:
'微信支付'
}}
</text>
</button>
</button>
</view>
</view>
</
template
>
</Settle>
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
Settle
from
'@/components/settle/index.vue'
import
pingpp
from
'@/include/libs/pingpp.js'
import
pingpp
from
'@/include/libs/pingpp.js'
const
globalUrl
=
process
.
uniEnv
||
{}
const
globalUrl
=
process
.
uniEnv
||
{}
import
util
from
'@/utils/util.js'
import
util
from
'@/utils/util.js'
export
default
{
export
default
{
components
:
{
Settle
},
data
()
{
data
()
{
return
{
return
{
saving
:
false
,
saving
:
false
,
paySuccess
:
false
,
paySuccess
:
false
,
payResult
:{
payResult
:
{
oid
:
''
oid
:
''
},
isRefresh
:
false
,
settledInfo
:
{
record
:
{
deposit
:
''
}
},
},
isRefresh
:
false
,
settledInfo
:
null
,
}
}
},
},
onLoad
(
e
)
{
onLoad
(
e
)
{
},
},
onShow
()
{
onShow
()
{
if
(
!
this
.
settledInfo
){
if
(
!
this
.
settledInfo
.
record
.
deposit
)
{
this
.
getBaseInfo
()
this
.
getBaseInfo
()
}
}
},
},
computed
:
{},
computed
:
{},
watch
:
{
watch
:
{
isRefresh
(
val
)
{
isRefresh
(
val
)
{
this
.
getBaseInfo
()
this
.
getBaseInfo
()
}
}
},
},
...
@@ -59,42 +73,42 @@
...
@@ -59,42 +73,42 @@
},
},
methods
:
{
methods
:
{
successCallback
()
{
successCallback
()
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
'/pages/settle/prompt'
url
:
'/pages/settle/prompt'
})
})
},
},
async
getBaseInfo
()
{
async
getBaseInfo
()
{
const
app
=
getApp
()
const
app
=
getApp
()
const
callBack
=
(
vm
,
result
)
=>
{
const
callBack
=
(
vm
,
result
)
=>
{
vm
.
settledInfo
=
result
vm
.
settledInfo
=
result
}
}
let
settledInfo
=
app
.
globalData
.
settledInfo
let
settledInfo
=
app
.
globalData
.
settledInfo
if
(
settledInfo
){
if
(
settledInfo
)
{
callBack
(
this
,
settledInfo
)
callBack
(
this
,
settledInfo
)
return
return
}
}
await
app
.
getBaseInfo
(
this
,
callBack
)
await
app
.
getBaseInfo
(
this
,
callBack
)
},
},
async
pending
()
{
async
pending
()
{
// const timer = setTimeout(async ()=>{
// const timer = setTimeout(async ()=>{
// clearTimeout(timer)
// clearTimeout(timer)
const
params
=
{
const
params
=
{
...
this
.
payResult
...
this
.
payResult
}
}
const
res
=
await
this
.
$u
.
api
.
getSettleDepositResult
(
params
);
const
res
=
await
this
.
$u
.
api
.
getSettleDepositResult
(
params
);
if
(
res
.
status
!==
true
){
if
(
res
.
status
!==
true
)
{
this
.
saving
=
false
this
.
saving
=
false
return
return
}
}
uni
.
showToast
({
uni
.
showToast
({
title
:
'支付成功'
,
title
:
'支付成功'
,
})
})
let
timer
=
setTimeout
(()
=>
{
let
timer
=
setTimeout
(()
=>
{
clearTimeout
(
timer
)
clearTimeout
(
timer
)
this
.
successCallback
()
this
.
successCallback
()
},
3000
)
},
3000
)
},
},
getCode
:
async
function
()
{
getCode
:
async
function
()
{
let
that
=
this
let
that
=
this
...
@@ -127,33 +141,33 @@
...
@@ -127,33 +141,33 @@
const
self
=
this
const
self
=
this
this
.
saving
=
true
this
.
saving
=
true
uni
.
showLoading
({
uni
.
showLoading
({
title
:
'支付中……'
title
:
'支付中……'
})
})
// 提交支付订单
// 提交支付订单
const
code
=
await
this
.
getCode
()
const
code
=
await
this
.
getCode
()
const
params
=
{
const
params
=
{
oid
:
this
.
settledInfo
.
record
.
id
,
oid
:
this
.
settledInfo
.
record
.
id
,
type
:
'wx_lite'
,
type
:
'wx_lite'
,
openid
:
util
.
getOpenid
(),
openid
:
util
.
getOpenid
(),
code
:
code
code
:
code
// appid:'wxd1d6eede324b0465'
// appid:'wxd1d6eede324b0465'
}
}
const
response
=
await
this
.
$u
.
api
.
paySettleDeposit
(
params
)
const
response
=
await
this
.
$u
.
api
.
paySettleDeposit
(
params
)
if
(
response
.
status
!==
true
)
{
if
(
response
.
status
!==
true
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
response
.
message
,
title
:
response
.
message
,
icon
:
'none'
icon
:
'none'
})
})
return
return
}
}
let
timer
=
setTimeout
(
res
=>
{
let
timer
=
setTimeout
(
res
=>
{
clearTimeout
(
timer
)
clearTimeout
(
timer
)
uni
.
showModal
({
uni
.
showModal
({
title
:
'提示'
,
title
:
'提示'
,
content
:
'支付结果'
,
content
:
'支付结果'
,
confirmText
:
'成功'
,
confirmText
:
'成功'
,
cancelText
:
'失败'
,
cancelText
:
'失败'
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
if
(
res
.
confirm
)
{
// console.log(res.confirm,'res.confirm')
// console.log(res.confirm,'res.confirm')
self
.
pending
()
self
.
pending
()
...
@@ -163,7 +177,7 @@
...
@@ -163,7 +177,7 @@
}
}
}
}
});
});
},
1000
)
},
1000
)
const
{
const
{
charge
,
charge
,
...
@@ -177,7 +191,7 @@
...
@@ -177,7 +191,7 @@
// 支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL。
// 支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL。
uni
.
showToast
({
uni
.
showToast
({
title
:
'支付成功'
,
title
:
'支付成功'
,
icon
:
'none'
icon
:
'none'
})
})
}
else
if
(
result
==
"fail"
)
{
}
else
if
(
result
==
"fail"
)
{
// charge 不正确或者微信公众账号/QQ 公众号/支付宝口碑支付失败时会在此处返回
// charge 不正确或者微信公众账号/QQ 公众号/支付宝口碑支付失败时会在此处返回
...
@@ -186,7 +200,7 @@
...
@@ -186,7 +200,7 @@
// 微信公众账号、QQ 公众号、支付宝口碑支付取消支付
// 微信公众账号、QQ 公众号、支付宝口碑支付取消支付
uni
.
showToast
({
uni
.
showToast
({
title
:
'您已经取消了支付'
,
title
:
'您已经取消了支付'
,
icon
:
'none'
icon
:
'none'
})
})
}
}
});
});
...
@@ -195,45 +209,80 @@
...
@@ -195,45 +209,80 @@
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
.content
{
background-color
:
#F4F5F7
;
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.base-list
{
.base-list
{
background-color
:
#FFFFFF
;
border-radius
:
12rpx
;
padding
:
30rpx
;
min-height
:
160rpx
;
margin-bottom
:
188rpx
;
text-align
:
center
;
text-align
:
center
;
.txt
{
.txt
{
line-height
:
50rpx
;
line-height
:
50rpx
;
font-size
:
36rpx
;
font-size
:
36rpx
;
color
:
#333
;
color
:
#333
;
}
}
.title
{
margin-top
:
120rpx
;
.title
{
margin-top
:
80rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
line-height
:
50rpx
;
line-height
:
50rpx
;
font-size
:
36rpx
;
font-size
:
40rpx
;
color
:
#333
;
color
:
#333
;
}
}
.price
{
margin-top
:
120rpx
;
.price
{
margin-top
:
100rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
line-height
:
90rpx
;
line-height
:
90rpx
;
font-size
:
64rpx
;
font-size
:
64rpx
;
color
:
#333
;
color
:
#2272FF
;
text
{
font-size
:
32rpx
;
text
{
font-size
:
32rpx
;
}
}
}
}
.list
{
margin-top
:
200rpx
;
.list
{
padding
:
0
50rpx
;
margin-top
:
200rpx
;
.item
{
padding
:
0
50rpx
;
padding
:
28rpx
0
;
border-bottom
:
1rpx
solid
#FDFDFD
;
.line-view
{
background-color
:
#F4F5F7
;
height
:
2rpx
;
width
:
100%
;
}
.item
{
padding
:
28rpx
0
;
}
.txt
{
line-height
:
44rpx
;
font-size
:
28rpx
;
color
:
#666666
;
}
}
.txt
{
.txt-value
{
line-height
:
44rpx
;
line-height
:
44rpx
;
font-size
:
32rpx
;
font-size
:
28rpx
;
color
:
#333
;
color
:
#333
;
}
}
}
}
.tips
{
.tips
{
margin-top
:
20rpx
;
margin-top
:
20rpx
;
padding
:
0
30rpx
;
padding
:
0
30rpx
;
...
@@ -249,29 +298,28 @@
...
@@ -249,29 +298,28 @@
/*提交按钮*/
/*提交按钮*/
.btn-wrap
{
.btn-wrap
{
position
:
fixed
;
width
:
100%
;
// margin: px2rem(36);
display
:
flex
;
left
:
0
;
align-items
:
center
;
right
:
0
;
justify-content
:
center
;
bottom
:
0
;
padding
:
30rpx
0
;
.button-image
{
background
:
#f3f3f3
;
width
:
38rpx
;
padding-right
:
20rpx
;
}
.btn-submit
{
.btn-submit
{
width
:
600rpx
;
width
:
600rpx
;
border-radius
:
52rpx
;
// left: 5%;
// bottom: px2rem(36);
height
:
104rpx
;
height
:
104rpx
;
line-height
:
104rpx
;
line-height
:
104rpx
;
background
:
#2272ff
;
border-radius
:
52rpx
;
background
:
#2272FF
;
font-size
:
32rpx
;
font-size
:
32rpx
;
color
:
#fff
;
color
:
#fff
;
&
:disabled
{
&
[
disabled
]
{
border
:
2rpx
solid
#999
;
background-color
:
#D1D4D4
;
background-color
:
#f3f3f3
;
color
:
#FFFFFF
;
color
:
#999
;
}
}
}
}
}
}
...
...
src/static/settle/weixin@3x.png
0 → 100644
View file @
35988be4
1.95 KB
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