Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cauchy-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
ui
cauchy-ui
Commits
ad359b42
Commit
ad359b42
authored
Jul 14, 2021
by
FE-安焕焕
👣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
组合支付
parent
eec7da5a
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
69 additions
and
52 deletions
+69
-52
utils.service.js
src/service/utils.service.js
+0
-1
index.vue
src/views/home/index.vue
+6
-6
PayCardItem.vue
src/views/pay/components/PayCardItem.vue
+4
-6
PayGroupCard.vue
src/views/pay/components/PayGroupCard.vue
+8
-2
index.vue
src/views/pay/index.vue
+26
-20
payResult.vue
src/views/pay/payResult.vue
+3
-3
payWaiting.vue
src/views/pay/payWaiting.vue
+22
-14
No files found.
src/service/utils.service.js
View file @
ad359b42
...
@@ -418,7 +418,6 @@ export const APP_DOWN_URL = 'https://misc.lkbang.net/download/yxm.html';
...
@@ -418,7 +418,6 @@ export const APP_DOWN_URL = 'https://misc.lkbang.net/download/yxm.html';
export
function
throttle
(
fn
,
wait
)
{
export
function
throttle
(
fn
,
wait
)
{
let
flag
=
true
;
let
flag
=
true
;
console
.
log
(
fn
);
return
function
()
{
return
function
()
{
if
(
flag
)
{
if
(
flag
)
{
fn
.
apply
(
this
,
arguments
);
fn
.
apply
(
this
,
arguments
);
...
...
src/views/home/index.vue
View file @
ad359b42
...
@@ -67,10 +67,10 @@ export default {
...
@@ -67,10 +67,10 @@ export default {
const
[
data
]
=
await
getSpuList
();
const
[
data
]
=
await
getSpuList
();
if
(
data
)
{
if
(
data
)
{
this
.
vipLife
=
data
.
vipLife
||
[];
this
.
vipLife
=
data
.
vipLife
||
[];
this
.
phoneRecharge
=
data
.
phoneRecharge
||
{
}
;
this
.
phoneRecharge
=
data
?
.
phoneRecharge
||
{
}
;
this
.
userPhoneInfo
=
data
.
userPhoneInfo
||
{
}
;
this
.
userPhoneInfo
=
data
?
.
userPhoneInfo
||
{
}
;
this
.
rechargePhoneInfo
=
data
.
userPhoneInfo
||
{
}
;
this
.
rechargePhoneInfo
=
data
?
.
userPhoneInfo
||
{
}
;
localStorage
.
set
(
'
phoneNo
'
,
data
.
userPhoneInfo
.
phoneNo
);
localStorage
.
set
(
'
phoneNo
'
,
data
?.
userPhoneInfo
?
.
phoneNo
);
}
}
}
,
}
,
methods
:
{
methods
:
{
...
@@ -88,8 +88,8 @@ export default {
...
@@ -88,8 +88,8 @@ export default {
const
[
res
]
=
await
orderApi
.
orderCreate
({
const
[
res
]
=
await
orderApi
.
orderCreate
({
totalFee
:
salePrice
,
totalFee
:
salePrice
,
terminal
:
'
H5
'
,
terminal
:
'
H5
'
,
account
:
this
.
rechargePhoneInfo
.
phoneNo
,
account
:
this
.
rechargePhoneInfo
?
.
phoneNo
,
registrationLocation
:
this
.
rechargePhoneInfo
.
phoneNoHome
,
registrationLocation
:
this
.
rechargePhoneInfo
?
.
phoneNoHome
,
virtualRechargeType
:
this
.
phoneRecharge
[
`${this.rechargeType
}
Type`
],
virtualRechargeType
:
this
.
phoneRecharge
[
`${this.rechargeType
}
Type`
],
skuList
:
[
skuList
:
[
{
{
...
...
src/views/pay/components/PayCardItem.vue
View file @
ad359b42
...
@@ -10,10 +10,8 @@
...
@@ -10,10 +10,8 @@
<p
class=
"content-info-tit"
>
{{
value
.
name
}}
</p>
<p
class=
"content-info-tit"
>
{{
value
.
name
}}
</p>
<p
v-if=
"value.tagName"
class=
"content-info-tit_tag"
>
{{
value
.
tagName
}}
</p>
<p
v-if=
"value.tagName"
class=
"content-info-tit_tag"
>
{{
value
.
tagName
}}
</p>
</div>
</div>
<p
v-if=
"isGroupPay && value.mergePayPretreatmentInfo"
class=
"content-info-amount"
>
<p
v-if=
"isGroupPay && value.payAmt"
class=
"content-info-amount"
>
{{
{{
value
.
payAmt
}}
value
.
mergePayPretreatmentInfo
&&
value
.
mergePayPretreatmentInfo
.
creditPayAmt
}}
.00
</p>
</p>
</div>
</div>
<p>
{{
value
.
accountStatusDesc
}}
</p>
<p>
{{
value
.
accountStatusDesc
}}
</p>
...
@@ -65,12 +63,12 @@ export default {
...
@@ -65,12 +63,12 @@ export default {
couponDisabled
:
Boolean
couponDisabled
:
Boolean
},
},
methods
:
{
methods
:
{
changePayType
({
payType
})
{
changePayType
({
payType
,
mergePayPretreatmentInfo
})
{
if
(
this
.
disabled
||
this
.
value
.
disabled
)
{
if
(
this
.
disabled
||
this
.
value
.
disabled
)
{
return
;
return
;
}
}
this
.
$emit
(
'
click
'
);
this
.
$emit
(
'
click
'
);
this
.
pay
.
changePayType
(
payType
);
this
.
pay
.
changePayType
(
payType
,
mergePayPretreatmentInfo
);
},
},
openCouponModal
()
{
openCouponModal
()
{
if
(
this
.
couponDisabled
)
return
;
if
(
this
.
couponDisabled
)
return
;
...
...
src/views/pay/components/PayGroupCard.vue
View file @
ad359b42
...
@@ -20,7 +20,6 @@
...
@@ -20,7 +20,6 @@
@
click.native=
"changePayType(thirdPayInfo)"
@
click.native=
"changePayType(thirdPayInfo)"
/>
/>
</div>
</div>
<!--
<PayCardItem
:is-group-pay=
"true"
:value=
"thirdPayInfo"
/>
-->
<div
class=
"groupCard"
>
<div
class=
"groupCard"
>
<PayCardItem
:is-group-pay=
"true"
:value=
"thirdPayInfo"
/>
<PayCardItem
:is-group-pay=
"true"
:value=
"thirdPayInfo"
/>
</div>
</div>
...
@@ -69,7 +68,13 @@ export default {
...
@@ -69,7 +68,13 @@ export default {
let
temp
=
{};
let
temp
=
{};
for
(
const
key
in
this
.
value
)
{
for
(
const
key
in
this
.
value
)
{
if
(
this
.
value
[
key
].
isRecommend
||
this
.
value
[
key
].
isCheck
)
{
if
(
this
.
value
[
key
].
isRecommend
||
this
.
value
[
key
].
isCheck
)
{
temp
=
{
...
this
.
value
[
key
]
};
const
mergePayPretreatmentInfo
=
this
.
value
[
key
]?.
mergePayPretreatmentInfo
||
{};
temp
=
{
...
this
.
value
[
key
],
payAmt
:
mergePayPretreatmentInfo
?.
otherPayAmt
};
// eslint-disable-next-line vue/no-side-effects-in-computed-properties
this
.
creditPayInfo
.
payAmt
=
mergePayPretreatmentInfo
.
creditPayAmt
;
}
}
}
}
return
temp
;
return
temp
;
...
@@ -84,6 +89,7 @@ export default {
...
@@ -84,6 +89,7 @@ export default {
},
},
methods
:
{
methods
:
{
changePayType
({
payType
,
mergePayPretreatmentInfo
})
{
changePayType
({
payType
,
mergePayPretreatmentInfo
})
{
console
.
log
(
mergePayPretreatmentInfo
,
'
mergePayPretreatmentInfo
'
);
if
(
this
.
disabled
||
this
.
creditPayInfo
.
disabled
)
{
if
(
this
.
disabled
||
this
.
creditPayInfo
.
disabled
)
{
return
;
return
;
}
}
...
...
src/views/pay/index.vue
View file @
ad359b42
...
@@ -106,7 +106,6 @@ import {
...
@@ -106,7 +106,6 @@ import {
payTypeE
,
payTypeE
,
CREDIT_PAY
,
CREDIT_PAY
,
WECHAT_PAY
,
WECHAT_PAY
,
ALIPAY_PAY
,
PAY_SUCCESS
,
PAY_SUCCESS
,
creditStatus
,
creditStatus
,
IS_THIRD_PAY
,
IS_THIRD_PAY
,
...
@@ -118,8 +117,6 @@ import {
...
@@ -118,8 +117,6 @@ import {
ACCOUNT_APPLY_FAIL
,
ACCOUNT_APPLY_FAIL
,
creditPayStatusType
,
creditPayStatusType
,
ACCOUNT_APPLY_SUCCESS
,
ACCOUNT_APPLY_SUCCESS
,
CREDIT_AND_WECHAT_PAY
,
CREDIT_AND_ALIPAY_PAY
,
ACCOUNT_APPLY_AUDIT_FAIL
,
ACCOUNT_APPLY_AUDIT_FAIL
,
SMS_VERIFICATION_CODE_PAY
,
//短信验证码
SMS_VERIFICATION_CODE_PAY
,
//短信验证码
FACE_VERIFICATION_CODE_PAY
FACE_VERIFICATION_CODE_PAY
...
@@ -229,6 +226,7 @@ export default {
...
@@ -229,6 +226,7 @@ export default {
}
}
if
(
displayInfo
.
payCouponInfo
&&
displayInfo
.
payCouponInfo
.
optimalPayCoupon
)
{
if
(
displayInfo
.
payCouponInfo
&&
displayInfo
.
payCouponInfo
.
optimalPayCoupon
)
{
this
.
selectedCoupon
=
displayInfo
.
payCouponInfo
.
optimalPayCoupon
;
this
.
selectedCoupon
=
displayInfo
.
payCouponInfo
.
optimalPayCoupon
;
this
.
selectedCoupon
.
id
=
this
.
selectedCoupon
.
pickupId
;
this
.
showCoupon
=
displayInfo
.
payCouponInfo
.
optimalType
===
3
;
this
.
showCoupon
=
displayInfo
.
payCouponInfo
.
optimalType
===
3
;
}
}
this
.
payContractInfo
=
displayInfo
.
payContractInfo
||
{};
this
.
payContractInfo
=
displayInfo
.
payContractInfo
||
{};
...
@@ -261,6 +259,9 @@ export default {
...
@@ -261,6 +259,9 @@ export default {
displayInfo
[
key
].
disabled
=
true
;
displayInfo
[
key
].
disabled
=
true
;
}
}
this
.
creditPayList
.
isGroupPay
=
IS_GROUP_PAY
(
p
.
method
);
this
.
creditPayList
.
isGroupPay
=
IS_GROUP_PAY
(
p
.
method
);
if
(
p
.
isDefault
)
{
this
.
mergePayPretreatmentInfo
=
p
.
mergePayPretreatmentInfo
;
}
this
.
$set
(
this
.
creditPayList
.
payList
,
key
,
{
this
.
$set
(
this
.
creditPayList
.
payList
,
key
,
{
...
displayInfo
[
key
],
...
displayInfo
[
key
],
...
p
,
...
p
,
...
@@ -269,10 +270,18 @@ export default {
...
@@ -269,10 +270,18 @@ export default {
isCheck
:
p
.
isDefault
||
false
,
isCheck
:
p
.
isDefault
||
false
,
isGroupPay
:
IS_GROUP_PAY
(
p
.
method
)
isGroupPay
:
IS_GROUP_PAY
(
p
.
method
)
});
});
if
(
!
(
'
creditPayInfo
'
in
this
.
creditPayList
.
payList
))
{
this
.
$set
(
this
.
creditPayList
.
payList
,
'
creditPayInfo
'
,
{
...
displayInfo
[
'
creditPayInfo
'
],
show
:
true
,
isCheck
:
false
});
}
break
;
break
;
}
}
}
}
}
}
if
(
this
.
payType
===
CREDIT_PAY
&&
displayInfo
.
creditPayInfo
.
disabled
)
{
if
(
this
.
payType
===
CREDIT_PAY
&&
displayInfo
.
creditPayInfo
.
disabled
)
{
this
.
payType
=
null
;
this
.
payType
=
null
;
}
}
...
@@ -352,13 +361,16 @@ export default {
...
@@ -352,13 +361,16 @@ export default {
/* 获取优惠券信息 */
/* 获取优惠券信息 */
async
getCouponList
(
orderNo
)
{
async
getCouponList
(
orderNo
)
{
const
[
data
]
=
await
getCoupon
({
orderNo
:
orderNo
});
const
[
data
]
=
await
getCoupon
({
orderNo
:
orderNo
});
this
.
payCouponList
=
[];
if
(
data
&&
data
.
coupons
)
{
if
(
data
&&
data
.
coupons
)
{
this
.
payCouponList
=
data
.
coupons
.
filter
(
item
=>
{
data
.
coupons
.
forEach
(
item
=>
{
if
(
item
.
couponCategory
===
21
)
{
if
(
item
.
couponCategory
===
21
)
{
return
{
this
.
payCouponList
.
push
(
{
...
item
,
...
item
,
id
:
item
.
pickupId
id
:
item
.
pickupId
,
};
pickupAble
:
1
,
// 需要判断是否可用
limitAmount
:
item
.
limitDesc
});
}
}
});
});
}
}
...
@@ -378,11 +390,10 @@ export default {
...
@@ -378,11 +390,10 @@ export default {
this
.
isDetention
=
false
;
this
.
isDetention
=
false
;
/* 设置密码 */
/* 设置密码 */
if
(
this
.
payType
===
CREDIT_PAY
&&
!
this
.
creditPayInfo
.
hasPwd
)
{
if
(
this
.
payType
===
CREDIT_PAY
&&
!
this
.
creditPayInfo
.
hasPwd
)
{
const
url
=
`
${
this
.
creditPayInfo
.
pwdSetJumpUrl
}
&vccChannel=
${
VCC_CHANNEL
}
`
;
this
.
retrieveLink
();
this
.
goH5
(
url
);
return
;
return
;
}
}
localStorage
.
set
(
'
orderNo
'
,
this
.
orderNo
);
localStorage
.
set
(
'
orderNo
'
,
{
orderNo
:
this
.
orderNo
}
);
const
paramsData
=
{
const
paramsData
=
{
...
params
,
...
params
,
quitUrl
:
`
${
window
.
location
.
origin
}
/payWaiting`
,
quitUrl
:
`
${
window
.
location
.
origin
}
/payWaiting`
,
...
@@ -399,24 +410,20 @@ export default {
...
@@ -399,24 +410,20 @@ export default {
/* 支付失败 */
/* 支付失败 */
if
(
error
)
{
if
(
error
)
{
if
(
codeArr
.
indexOf
(
error
.
response
.
businessCode
)
<
0
)
{
if
(
codeArr
.
indexOf
(
error
.
response
.
businessCode
)
<
0
)
{
this
.
payResult
(
'
Fail
'
,
error
.
m
sg
);
this
.
payResult
(
'
Fail
'
,
error
.
m
essage
);
return
;
return
;
}
}
this
.
error
=
error
.
m
sg
;
this
.
error
=
error
.
m
essage
;
return
;
return
;
}
}
const
{
creditPayInfo
=
{},
wxPayInfo
,
flowOrderNo
,
aliPayInfo
}
=
data
;
const
{
creditPayInfo
=
{},
wxPayInfo
=
{},
flowOrderNo
,
aliPayInfo
=
{}
}
=
data
;
const
creditPayStatus
=
creditPayInfo
.
creditPayStatus
;
const
creditPayStatus
=
creditPayInfo
.
creditPayStatus
;
this
.
flowOrderNo
=
flowOrderNo
;
this
.
flowOrderNo
=
flowOrderNo
;
if
(
wxPayInfo
.
mwebUrl
)
{
if
(
!
params
&&
(
this
.
payType
===
WECHAT_PAY
||
this
.
payType
===
CREDIT_AND_WECHAT_PAY
))
{
/* 微信支付 */
/* 微信支付 */
payByWay
(
this
.
tradeType
,
{
...
wxPayInfo
,
url
:
wxPayInfo
.
mwebUrl
});
payByWay
(
this
.
tradeType
,
{
...
wxPayInfo
,
url
:
wxPayInfo
.
mwebUrl
});
return
;
return
;
}
else
if
(
}
else
if
(
aliPayInfo
.
order_string
)
{
!
params
&&
(
this
.
payType
===
ALIPAY_PAY
||
this
.
payType
===
CREDIT_AND_ALIPAY_PAY
)
)
{
/* 支付宝支付 */
/* 支付宝支付 */
payByWay
(
'
ALIWEB
'
,
{
...
aliPayInfo
,
url
:
aliPayInfo
.
order_string
});
payByWay
(
'
ALIWEB
'
,
{
...
aliPayInfo
,
url
:
aliPayInfo
.
order_string
});
return
;
return
;
...
@@ -473,7 +480,6 @@ export default {
...
@@ -473,7 +480,6 @@ export default {
console
.
log
(
id
,
selectedCoupon
);
console
.
log
(
id
,
selectedCoupon
);
registeredEvents
(
'
PD_YXMMACP_UserClickCouponPopupWindowComfirmBtn
'
);
registeredEvents
(
'
PD_YXMMACP_UserClickCouponPopupWindowComfirmBtn
'
);
this
.
selectedCoupon
=
selectedCoupon
||
{};
this
.
selectedCoupon
=
selectedCoupon
||
{};
console
.
log
(
this
.
selectedCoupon
);
const
status
=
this
.
checkStatus
(
this
.
creditPayInfo
,
this
.
displayInfo
);
const
status
=
this
.
checkStatus
(
this
.
creditPayInfo
,
this
.
displayInfo
);
if
(
status
)
{
if
(
status
)
{
this
.
displayInfo
.
creditPayInfo
.
disabled
=
true
;
this
.
displayInfo
.
creditPayInfo
.
disabled
=
true
;
...
...
src/views/pay/payResult.vue
View file @
ad359b42
...
@@ -53,12 +53,12 @@ export default {
...
@@ -53,12 +53,12 @@ export default {
return
{
return
{
money
:
'
00.00
'
,
money
:
'
00.00
'
,
orderNo
:
null
,
orderNo
:
null
,
isSuccess
:
null
,
isSuccess
:
false
,
freeAmount
:
null
freeAmount
:
0
};
};
},
},
created
()
{
created
()
{
const
{
amount
,
orderNo
,
freeAmount
,
reason
}
=
this
.
$route
.
query
;
const
{
amount
=
null
,
orderNo
,
freeAmount
=
null
,
reason
}
=
this
.
$route
.
query
;
const
{
success
}
=
this
.
$route
.
meta
;
const
{
success
}
=
this
.
$route
.
meta
;
this
.
money
=
amount
;
this
.
money
=
amount
;
this
.
orderNo
=
orderNo
;
this
.
orderNo
=
orderNo
;
...
...
src/views/pay/payWaiting.vue
View file @
ad359b42
...
@@ -23,7 +23,6 @@
...
@@ -23,7 +23,6 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
registeredEvents
}
from
'
@/service/sa.service
'
;
import
{
queryPayStatus
}
from
'
@/api/pay.api
'
;
import
{
queryPayStatus
}
from
'
@/api/pay.api
'
;
import
localStorage
from
'
@/service/localStorage.service
'
;
import
localStorage
from
'
@/service/localStorage.service
'
;
export
default
{
export
default
{
...
@@ -36,7 +35,7 @@ export default {
...
@@ -36,7 +35,7 @@ export default {
};
};
},
},
created
()
{
created
()
{
this
.
orderNo
=
this
.
$route
.
query
.
orderNo
||
localStorage
.
get
(
'
orderNo
'
);
this
.
orderNo
=
this
.
$route
.
query
.
orderNo
||
localStorage
.
get
(
'
orderNo
'
)
?.
orderNo
;
},
},
mounted
()
{
mounted
()
{
// eslint-disable-next-line space-before-function-paren
// eslint-disable-next-line space-before-function-paren
...
@@ -67,21 +66,30 @@ export default {
...
@@ -67,21 +66,30 @@ export default {
// 去订单详情页面
// 去订单详情页面
},
},
async
query
()
{
async
query
()
{
const
[
data
]
=
await
queryPayStatus
({
orderNo
:
this
.
orderNo
});
const
[
data
,
error
]
=
await
queryPayStatus
({
orderNo
:
this
.
orderNo
});
console
.
log
(
this
.
orderNo
);
if
(
error
)
{
this
.
$router
.
replace
({
name
:
'
payFail
'
,
query
:
{
reason
:
error
.
message
,
orderNo
:
this
.
orderNo
}
});
return
;
}
if
(
+
data
?.
payStatus
===
3
)
{
if
(
+
data
?.
payStatus
===
3
)
{
this
.
goSuccess
();
this
.
goSuccess
();
}
else
if
(
+
data
?.
payStatus
===
1
)
{
this
.
$dialog
({
message
:
'
是否支付成功?
'
,
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
confirmButtonColor
:
'
#EC1500
'
,
onCancel
:
()
=>
{},
onConfirm
:
()
=>
{
this
.
query
();
}
});
}
}
// else if (+data?.payStatus === 1) {
// this.$dialog({
// message: '是否支付成功?',
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// confirmButtonColor: '#EC1500',
// onCancel: () => {},
// onConfirm: () => {
// this.query();
// }
// });
// }
}
}
}
}
};
};
...
...
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