Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yoho-blk
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
1
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
郝肖肖
8 years ago
Commit
94fb11452e8b6e10316c9b7fd04f834e60335d3b
1 parent
31957774
设置默认 支付方式
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
72 additions
and
44 deletions
apps/shopping/models/pay.js
apps/shopping/views/action/pay.hbs
public/js/shopping/pay.page.js
public/scss/shopping/_pay.css
apps/shopping/models/pay.js
View file @
94fb114
...
...
@@ -66,7 +66,6 @@ const getOnlinePayProvider = () => {
});
payPattern
.
push
({
name
:
'使用银行卡'
,
selected
:
true
,
children
:
nav
});
...
...
@@ -80,14 +79,27 @@ const getOnlinePayProvider = () => {
* @param code
*/
const
getOrderInfo
=
(
uid
,
code
)
=>
{
return
co
(
function
*
()
{
let
orderData
=
yield
OrderData
.
orderDetail
(
uid
,
code
);
return
OrderData
.
orderDetail
(
uid
,
code
).
then
(
orderData
=>
{
if
(
orderData
&&
orderData
.
data
)
{
return
camelCase
(
orderData
.
data
);
}
else
{
return
{};
}
});
};
/**
* 获取订单支付银行信息
* @param id
*/
const
getBankByOrder
=
(
id
)
=>
{
return
co
(
function
*
()
{
let
data
=
yield
api
.
getBankByOrder
(
id
);
if
(
data
&&
data
.
code
===
200
&&
data
.
data
)
{
return
camelCase
(
data
.
data
);
}
return
{};
})();
};
...
...
@@ -97,14 +109,29 @@ const getOrderInfo = (uid, code) => {
* @param code
*/
const
getPayInfo
=
(
uid
,
code
)
=>
{
return
co
(
function
*
()
{
let
payment
=
yield
Promise
.
all
([
getOnlinePayProvider
(),
getOrderInfo
(
uid
,
code
)]);
return
Promise
.
all
([
getOnlinePayProvider
(),
getOrderInfo
(
uid
,
code
),
getBankByOrder
(
code
)])
.
then
(
payment
=>
{
let
paymentId
=
parseInt
(
payment
[
2
].
payment
||
0
,
10
);
let
findIndex
;
// 渲染选择的默认支付方式
if
(
paymentId
===
12
&&
payment
[
0
][
1
]
&&
payment
[
2
])
{
// 银行支付
findIndex
=
_
.
findIndex
(
payment
[
0
][
1
].
children
,
{
value
:
'12_'
+
payment
[
2
].
bankCode
});
findIndex
=
findIndex
>
0
?
findIndex
:
0
;
payment
[
0
][
1
].
selected
=
true
;
payment
[
0
][
1
].
children
[
findIndex
].
selected
=
true
;
}
else
if
(
payment
[
0
]
&&
payment
[
0
][
0
])
{
// 支付宝等平台
findIndex
=
_
.
findIndex
(
payment
[
0
][
0
].
children
,
{
'id'
:
paymentId
});
findIndex
=
findIndex
>
0
?
findIndex
:
0
;
payment
[
0
][
0
].
selected
=
true
;
payment
[
0
][
0
].
children
[
findIndex
].
selected
=
true
;
}
return
{
pay
:
payment
[
0
],
order
:
payment
[
1
]
};
})();
return
{
pay
:
payment
[
0
],
order
:
payment
[
1
]
};
});
};
/**
...
...
@@ -123,21 +150,6 @@ const getPaymentInfo = (id) => {
};
/**
* 获取订单支付银行信息
* @param id
*/
const
getBankByOrder
=
(
id
)
=>
{
return
co
(
function
*
()
{
let
data
=
yield
api
.
getBankByOrder
(
id
);
if
(
data
&&
data
.
code
===
200
&&
data
.
data
)
{
return
camelCase
(
data
.
data
);
}
return
{};
})();
};
/**
* 设置订单支付银行
* @param code
* @param payment
...
...
apps/shopping/views/action/pay.hbs
View file @
94fb114
...
...
@@ -53,20 +53,22 @@
{{/
pay
}}
</ul>
</div>
{{#
pay
}}
<div
class=
"pay-icon
{{#
unless
selected
}}
hide
{{/
unless
}}
"
>
{{#
children
}}
<div
class=
"pay-type-icon online-pay
{{#if
selected
}}
active
{{/if}}
"
data-name=
"
{{
name
}}
"
data-id=
"
{{
id
}}
"
data-value=
"
{{
value
}}
"
>
<img
src=
"
{{
img
}}
"
>
<span
class=
"choose-tag iconfont"
>

</span>
</div>
{{/
children
}}
</div>
{{/
pay
}}
<div
class=
"pay-icon-content"
>
{{#
pay
}}
<div
class=
"pay-icon
{{#
unless
selected
}}
hide
{{/
unless
}}
"
>
{{#
children
}}
<div
class=
"pay-type-icon online-pay
{{#if
selected
}}
active
{{/if}}
"
data-name=
"
{{
name
}}
"
data-id=
"
{{
id
}}
"
data-value=
"
{{
value
}}
"
>
<img
src=
"
{{
img
}}
"
>
<span
class=
"choose-tag iconfont"
>

</span>
</div>
{{/
children
}}
</div>
{{/
pay
}}
</div>
</div>
{{/if}}
<div
class=
"pay-ctrl"
>
<span
id=
"go-pay-btn"
class=
"btn btn-shape right"
data-order=
"
{{
order
.
orderCode
}}
"
>
去
<em
id=
"pay-type-name"
>
支付宝
</em>
支付
</span>
<span
id=
"go-pay-btn"
class=
"btn btn-shape right"
data-order=
"
{{
order
.
orderCode
}}
"
>
<em
id=
"pay-type-name"
>
前往支付宝
</em>
</span>
</div>
</div>
...
...
public/js/shopping/pay.page.js
View file @
94fb114
...
...
@@ -10,7 +10,10 @@ var $orderDetail = $('.order-detail'),
var
Dialog
=
require
(
'../plugins/dialog'
);
var
$payTypeIcon
=
$
(
'.pay-type-icon'
),
$payIcon
=
$
(
'.pay-icon'
);
$payIconContent
=
$
(
'.pay-icon-content'
),
$goPayBtn
=
$
(
'#go-pay-btn'
),
$payTypeName
=
$goPayBtn
.
find
(
'#pay-type-name'
),
$payIcon
=
$payIconContent
.
find
(
'.pay-icon'
);
var
tpl
=
'<div class="pay-page-tips">'
+
'<h3>请您在新打开的页面完成付款</h3>'
+
...
...
@@ -53,10 +56,12 @@ $payTypeIcon.click(function() {
// 切换选中状态
$payTypeIcon
.
removeClass
(
'active'
);
$this
.
addClass
(
'active'
);
$
(
'#pay-type-name'
).
text
(
$this
.
data
(
'name'
));
$payTypeName
.
text
(
'去'
+
$this
.
data
(
'name'
).
replace
(
/支付$/g
,
''
)
+
'支付'
);
});
// 支付按钮 设置默认文字
$payTypeName
.
text
(
'去'
+
$payIconContent
.
find
(
'.pay-type-icon.active'
).
data
(
'name'
).
replace
(
/支付$/g
,
''
)
+
'支付'
);
// 切换支付方式tabs 委托事件
$
(
'.pay-nav .tabs'
).
click
(
function
(
event
)
{
var
$li
=
$
(
event
.
target
).
closest
(
'li'
);
...
...
@@ -78,7 +83,7 @@ function showDialog() {
}
// 去支付
$
(
'#go-pay-btn'
)
.
click
(
function
()
{
$
goPayBtn
.
click
(
function
()
{
var
payType
=
$
(
'.pay-type-icon.active'
).
data
(
'id'
);
var
order
=
$
(
this
).
data
(
'order'
);
...
...
public/scss/shopping/_pay.css
View file @
94fb114
...
...
@@ -5,6 +5,8 @@ $liBorderColor: #e6e6e6;
$
fontColor
:
#616161
;
.pay-online-wrapper
{
overflow
:
hidden
;
.title
{
margin-top
:
35px
;
margin-bottom
:
20px
;
...
...
@@ -94,12 +96,19 @@ $fontColor: #616161;
}
}
.pay-icon-content
{
width
:
1200px
;
.pay-icon
{
min-height
:
240px
;
}
}
.pay-type-icon
{
position
:
relative
;
float
:
left
;
width
:
250px
;
height
:
80px
;
margin-bottom
:
30px
;
height
:
60px
;
margin-right
:
50px
;
margin-top
:
30px
;
cursor
:
pointer
;
...
...
@@ -108,7 +117,7 @@ $fontColor: #616161;
img
{
display
:
inline-block
;
margin-top
:
1
9px
;
margin-top
:
9px
;
}
.choose-tag
{
...
...
Please
register
or
login
to post a comment