Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuywap-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
王水玲
9 years ago
Commit
f7f69247fbcfe540493ddb31b54d5bd6ad395d98
1 parent
6af89d99
有货分期
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
174 additions
and
93 deletions
apps/home/controllers/installment.js
apps/home/models/installment.js
apps/home/router.js
apps/home/views/action/installment/open-index.hbs
apps/home/views/action/installment/repay-detail.hbs
apps/home/views/partial/installment/repayment-bottom.hbs
public/js/home/installment.page.js
public/js/home/repay-record.page.js
public/js/home/repayment-list.page.js
public/scss/home/installment/_repayment-list.css
apps/home/controllers/installment.js
View file @
f7f6924
...
...
@@ -11,7 +11,7 @@ const _ = require('lodash');
const
helpers
=
global
.
yoho
.
helpers
;
// 判断是否已经获取到了开通的状态值
const
_reviewStatus
=
(
status
)
=>
{
const
_reviewStatus
=
(
uid
,
status
)
=>
{
if
(
status
===
1
)
{
return
{
review
:
{
...
...
@@ -19,13 +19,13 @@ const _reviewStatus = (status) => {
}
};
}
else
if
(
status
===
2
)
{
return
installmentModel
.
getSearchIntallment
().
then
((
goods
)
=>
{
return
Promise
.
all
([
installmentModel
.
getSearchIntallment
(),
installmentModel
.
getQueryCreditInfo
(
uid
)]).
then
((
result
)
=>
{
return
{
success
:
{
price
:
'5000'
,
price
:
result
[
1
].
initCreditLimit
,
installmentOnly
:
{
title
:
'分期专享'
,
goods
:
goods
goods
:
result
[
0
]
}
}
};
...
...
@@ -51,11 +51,7 @@ const _repaymentList = (req, res, next, title, params) => {
module
:
'home'
,
page
:
'repayment-list'
,
title
:
title
,
data
:
result
,
pageHeader
:
headerModel
.
setNav
({
navTitle
:
title
,
navBtn
:
false
})
data
:
result
});
}).
catch
(
next
);
};
...
...
@@ -72,13 +68,7 @@ const index = (req, res, next) => {
if
(
openStatus
===
0
)
{
return
installmentModel
.
getResources
().
then
(
data
=>
{
return
{
bannerTop
:
{
// data: [{
// src: '', //eslint-disable-line
// url: ''
// }]
data
:
data
},
bannerTop
:
data
,
notOpen
:
true
,
installmentOnly
:
{
title
:
'分期专享'
,
...
...
@@ -112,12 +102,12 @@ const index = (req, res, next) => {
res
.
redirect
(
'/home/installment/review?status='
+
openStatus
);
}
}).
then
((
result
)
=>
{
result
.
pageHeader
=
_
.
assign
({
installmentPage
:
true
},
headerModel
.
setNav
({
navTitle
:
'有货分期'
,
navBtn
:
false
}));
// result.pageHeader = _.assign({
// installmentPage: true
// }, headerModel.setNav({
// navTitle: '有货分期',
// navBtn: false
// }));
res
.
render
(
'installment/open-index'
,
_
.
assign
({
module
:
'home'
,
...
...
@@ -134,18 +124,14 @@ const review = (req, res, next) => {
let
data
=
{
module
:
'home'
,
page
:
'installment'
,
title
:
'有货分期'
,
pageHeader
:
headerModel
.
setNav
({
navTitle
:
'有货分期'
,
navBtn
:
false
})
title
:
'有货分期'
};
if
(
openStatus
)
{
res
.
render
(
'installment/open-result'
,
_
.
assign
(
data
,
_reviewStatus
(
+
openStatus
)));
res
.
render
(
'installment/open-result'
,
_
.
assign
(
data
,
_reviewStatus
(
uid
,
+
openStatus
)));
}
else
{
installmentModel
.
getStauts
(
uid
).
then
((
status
)
=>
{
return
_reviewStatus
(
status
);
return
_reviewStatus
(
uid
,
status
);
}).
then
((
params
)
=>
{
res
.
render
(
'installment/open-result'
,
_
.
assign
(
data
,
params
));
}).
catch
(
next
);
...
...
@@ -185,11 +171,7 @@ const repayRecordPage = (req, res) => {
res
.
render
(
'installment/repay-record'
,
{
module
:
'home'
,
page
:
'repay-record'
,
title
:
'还款记录'
,
pageHeader
:
headerModel
.
setNav
({
navTitle
:
'还款记录'
,
navBtn
:
false
})
title
:
'还款记录'
});
};
...
...
@@ -220,11 +202,7 @@ const account = (req, res, next) => {
res
.
render
(
'installment/account'
,
{
accountList
:
result
,
title
:
'账号管理'
,
repaymentList
:
result
,
pageHeader
:
headerModel
.
setNav
({
navTitle
:
'账号管理'
,
navBtn
:
false
})
repaymentList
:
result
});
}).
catch
(
next
);
};
...
...
@@ -309,6 +287,11 @@ const orderDetail = (req, res) => {
});
};
// 还款详情
const
repayDetail
=
(
req
,
res
)
=>
{
res
.
render
(
'installment/repay-detail'
);
};
module
.
exports
=
{
index
,
review
,
...
...
@@ -325,5 +308,6 @@ module.exports = {
account
,
orderIndex
,
orderList
,
orderDetail
orderDetail
,
repayDetail
};
...
...
apps/home/models/installment.js
View file @
f7f6924
...
...
@@ -44,6 +44,7 @@ const _processAmtList = (list, queryDays) => {
}
data
.
day
=
Math
.
abs
(
data
.
unExpireDays
);
data
.
url
=
`
/
home
/
installment
/
order
/
$
{
data
.
billNo
}
`
;
});
...
...
@@ -154,7 +155,7 @@ const _processBankCards = (list) => {
* @return {[array]}
*/
const
getResources
=
()
=>
{
return
serviceAPI
.
get
(
'operations/api/v5/resource/get'
,
{
return
serviceAPI
.
get
(
'
/
operations/api/v5/resource/get'
,
{
content_code
:
'0876085ff46bed27f1a1eb6ee8b68987'
},
{
cache
:
true
...
...
@@ -228,22 +229,21 @@ const getQueryAmtInfo = (uid) => {
method
:
'app.order.queryAmtInfo'
,
uid
:
uid
}).
then
((
result
)
=>
{
// result = {
// alg: 'SALT_MD5',
// code: 200,
// data: {
// totalAmt: '2000.00',
// monthAmt: '800.00',
// _7daysAmt: '400.00',
// overAmt: '400.00'
// },
// md5: 'c1d725306fb09dcbf504776d276521cb',
// message: 'ok'
// };
result
=
{
alg
:
'SALT_MD5'
,
code
:
200
,
data
:
{
totalAmt
:
'2000.00'
,
monthAmt
:
'800.00'
,
s_7daysAmt
:
'400.00'
,
overAmt
:
'400.00'
},
md5
:
'c1d725306fb09dcbf504776d276521cb'
,
message
:
'ok'
};
console
.
log
(
result
);
if
(
result
&&
result
.
code
===
200
)
{
result
.
data
.
dayAmt
=
result
.
data
.
_7daysAmt
;
result
.
data
.
dayAmt
=
result
.
data
.
s
_7daysAmt
;
return
result
.
data
;
}
else
{
logger
.
error
(
'get user installment repay info return code is not 200'
);
...
...
@@ -314,8 +314,8 @@ const getQueryAmtList = (params) => {
// 分期专享推荐商品
const
getSearchIntallment
=
()
=>
{
return
api
.
post
(
''
,
{
// method: 'app.search.instalment',
method
:
'app.search.newProduct'
,
method
:
'app.search.instalment'
,
// method: 'app.search.newProduct',
limit
:
'50'
,
order
:
's_t_desc'
},
{
...
...
apps/home/router.js
View file @
f7f6924
...
...
@@ -17,14 +17,13 @@ router.get('/installment/index', installment.index);// 开通分期首页
router
.
get
(
'/installment/review'
,
installment
.
review
);
// 开通分期首页
router
.
get
(
'/installment/starting-service'
,
installment
.
startingService
);
// 分期付款开通
router
.
get
(
'/installment/starting-service/verify-code'
,
installment
.
verifyCode
);
router
.
get
(
'/installment/overdue'
,
installment
.
overdueList
);
// 逾期未还款列表
router
.
get
(
'/installment/7daylist'
,
installment
.
sevenDayList
);
// 7日待还款列表
// TODO: Use dashed-lower-case only!
router
.
get
(
'/installment/monthRepayList'
,
installment
.
monthRepayList
);
// 本月待还款列表
router
.
get
(
'/installment/totalRepayList'
,
installment
.
totalRepayList
);
// 待还总金额列表
router
.
get
(
'/installment/repayRecord'
,
installment
.
repayRecordPage
);
// 还款记录
router
.
get
(
'/installment/getRepayRecord'
,
installment
.
getRepayRecord
);
// ajax请求还款记录
router
.
get
(
'/installment/repay/overdue'
,
installment
.
overdueList
);
// 逾期未还款列表
router
.
get
(
'/installment/repay/7daylist'
,
installment
.
sevenDayList
);
// 7日待还款列表
router
.
get
(
'/installment/repay/month'
,
installment
.
monthRepayList
);
// 本月待还款列表
router
.
get
(
'/installment/repay/total'
,
installment
.
totalRepayList
);
// 待还总金额列表
router
.
get
(
'/installment/repay/record'
,
installment
.
repayRecordPage
);
// 还款记录
router
.
get
(
'/installment/repay/get-record'
,
installment
.
getRepayRecord
);
// ajax请求还款记录
router
.
get
(
'/installment/repay/detail'
,
installment
.
repayDetail
);
// 还款详情
router
.
get
(
'/installment/account'
,
installment
.
account
);
// 账户管理
router
.
get
(
'/installment/bank-info'
,
installment
.
getBankInfo
);
...
...
@@ -32,4 +31,5 @@ router.post('/installment/activate-service', installment.activateService);
router
.
get
(
'/installment/order'
,
installment
.
orderIndex
);
router
.
get
(
'/installment/order.html'
,
installment
.
orderList
);
router
.
get
(
'/installment/order/:id'
,
installment
.
orderDetail
);
module
.
exports
=
router
;
...
...
apps/home/views/action/installment/open-index.hbs
View file @
f7f6924
...
...
@@ -33,17 +33,17 @@
</div>
<div
class=
"repay installment-cont"
>
<div
class=
"repay-area detail-bg"
>
<p
class=
"detail-txt1"
>
近7日代还款
</p>
<p
class=
"detail-txt1"
>
¥
<span
class=
"detail-txt2"
>
{{
round
dayAmt
}}
</span></p>
<p
class=
"detail-txt1"
>
近7日待还款
</p>
<p
class=
"detail-txt1"
>
¥
<span
class=
"detail-txt2"
>
{{
dayAmt
}}
</span></p>
{{#if
isOverdue
}}
<p
class=
"detail-txt3"
>
您有¥
{{
round
overAmt
}}
已逾期,点击
<a
href=
"/home/installment
/overdue"
>
查看详情
</a></p>
<p
class=
"detail-txt3"
>
您有¥
{{
overAmt
}}
已逾期,点击
<a
href=
"/home/installment/repay
/overdue"
>
查看详情
</a></p>
{{/if}}
<a
href=
"/home/installment/7daylist"
class=
"see-btn"
>
明细
</a>
<a
href=
"/home/installment/
repay/
7daylist"
class=
"see-btn"
>
明细
</a>
</div>
<ul
class=
"group-list"
>
<li><a
href=
"/home/installment/monthRepayList"
>
本月待还金额:
<div
class=
"list-right"
><span
class=
"list-r-txt"
>
¥
{{
monthAmt
}}
</span><span
class=
"iconfont"
>

</span></div></a></li>
<li><a
href=
"/home/installment/totalRepayList"
>
待还总金额:
<div
class=
"list-right"
><span
class=
"list-r-txt"
>
¥
{{
totalAmt
}}
</span><span
class=
"iconfont"
>

</span></div></a></li>
<li><a
href=
"/home/installment/repayRecord"
>
还款记录:
<div
class=
"list-right iconfont"
>

</div></a></li>
<li><a
href=
"/home/installment/repay/month"
>
本月待还金额:
<div
class=
"list-right"
><span
class=
"list-r-txt"
>
¥
{{
monthAmt
}}
</span><span
class=
"iconfont"
>

</span></div></a></li>
<li><a
href=
"/home/installment/repay/total"
>
待还总金额:
<div
class=
"list-right"
><span
class=
"list-r-txt"
>
¥
{{
totalAmt
}}
</span><span
class=
"iconfont"
>

</span></div></a></li>
<li><a
href=
"/home/installment/repay/record"
>
还款记录:
<div
class=
"list-right iconfont"
>

</div></a></li>
<li><a
href=
"/home/installment/order"
>
分期订单:
<div
class=
"list-right iconfont"
>

</div></a></li>
</ul>
...
...
apps/home/views/action/installment/repay-detail.hbs
0 → 100644
View file @
f7f6924
<div
class=
"repayment-list-page"
>
<div
class=
"repay-now"
>
本次还款
<span>
¥
</span></div>
<div
class=
"repay-detail"
>
<ul
class=
"repay-status"
>
<li>
<span>
付款
</span>
<span
class=
"spot"
></span>
</li>
<li>
<span>
银行处理
</span>
<span
class=
"spot"
></span>
</li>
<li>
<span>
还款结果
</span>
<span
class=
"spot"
></span>
</li>
</ul>
<p>
预计1-2分钟内还款成功,请到还款记录查看还款结果
</p>
</div>
<a
href=
""
class=
"contact-cs"
>
如有问题请联系客服
</a>
</div>
\ No newline at end of file
...
...
apps/home/views/partial/installment/repayment-bottom.hbs
View file @
f7f6924
...
...
@@ -17,5 +17,5 @@
<p
class=
"repay-price"
>
待支付:
<span>
¥
<span
class=
"curr-amt"
>
{{
round
currAmtCount
}}
</span></span></p>
{{#if
isCurrFee
}}
<p
class=
"serve-price"
>
含服务费¥
<span
class=
"curr-fee"
>
{{
round
currFeeCount
}}
</span></p>
{{/if}}
</label>
<input
type=
"button"
value=
"立即还款"
class=
"repayment-btn"
>
</div>
<a
href=
""
class=
"repayment-btn"
>
立即还款
</a>
</div>
\ No newline at end of file
...
...
public/js/home/installment.page.js
View file @
f7f6924
...
...
@@ -31,4 +31,13 @@ if ($('.installment-bg').length > 0) {
$
(
'.detail-tab span'
).
on
(
'click'
,
function
()
{
$
(
this
).
addClass
(
'on'
).
siblings
().
removeClass
(
'on'
);
$
(
'.installment-cont'
).
hide
().
eq
(
$
(
this
).
index
()).
show
();
if
(
$
(
this
).
index
()
===
1
)
{
$
(
'.good-detail-text .name'
).
each
(
function
()
{
$this
=
$
(
this
);
$title
=
$this
.
find
(
'a'
);
$title
[
0
].
mlellipsis
(
2
);
});
}
});
...
...
public/js/home/repay-record.page.js
View file @
f7f6924
...
...
@@ -26,7 +26,7 @@ function getListData(pageData) {
loading
.
showLoadingMask
();
$
.
ajax
({
type
:
'GET'
,
url
:
'/home/installment/
getRepayR
ecord'
,
url
:
'/home/installment/
repay/get-r
ecord'
,
data
:
{
page
:
pageData
},
...
...
public/js/home/repayment-list.page.js
View file @
f7f6924
...
...
@@ -6,7 +6,9 @@
var
$
=
require
(
'yoho-jquery'
);
var
$notice
=
$
(
'.installment-overdue-notice'
);
var
$notice
=
$
(
'.installment-overdue-notice'
),
$currAmt
=
$
(
'.repayment-bottom'
).
find
(
'.curr-amt'
),
$currFee
=
$
(
'.repayment-bottom'
).
find
(
'.curr-fee'
);
$
(
'.repay-list .notice'
).
on
(
'click'
,
function
()
{
$notice
.
show
();
...
...
@@ -19,14 +21,12 @@ $('.think-ok, .mask-bg').on('click', function() {
});
$
(
'.repay-list .cont'
).
on
(
'click'
,
function
()
{
var
$currAmt
=
$
(
'.repayment-bottom'
).
find
(
'.curr-amt'
);
var
$currFee
=
$
(
'.repayment-bottom'
).
find
(
'.curr-fee'
);
var
$input
=
$
(
this
).
parent
().
prev
();
var
currAmt
=
+
$currAmt
.
html
();
var
currFee
=
+
$currFee
.
html
();
var
amt
=
+
$
(
this
).
parents
(
'li'
).
attr
(
'data-curramt'
);
var
fee
=
+
$
(
this
).
parents
(
'li'
).
attr
(
'data-currfee'
);
var
count
=
1
;
var
$input
=
$
(
this
).
parent
().
prev
(),
currAmt
=
+
$currAmt
.
html
(),
currFee
=
+
$currFee
.
html
(),
amt
=
+
$
(
this
).
parents
(
'li'
).
attr
(
'data-curramt'
),
fee
=
+
$
(
this
).
parents
(
'li'
).
attr
(
'data-currfee'
),
count
=
0
;
if
(
$input
.
is
(
':checked'
))
{
$currAmt
.
html
(
currAmt
-
amt
);
...
...
@@ -35,16 +35,36 @@ $('.repay-list .cont').on('click', function() {
$currAmt
.
html
(
amt
+
currAmt
);
$currFee
.
html
(
fee
+
currFee
);
}
setTimeout
(
function
(){
count
=
$
(
'.repay-list input:checked'
).
length
;
$
(
'#repayment-total'
).
prop
(
'checked'
,
count
===
$
(
'.repay-list li'
).
length
);
},
0
)
$
(
'.repay-list input'
).
each
(
function
()
{
if
(
$
(
this
).
is
(
':checked'
))
{
count
++
;
}
});
});
// 全选||全不选
$
(
'.repayment-bottom label'
).
on
(
'click'
,
function
()
{
var
totalAmt
=
0
;
var
totalFee
=
0
;
if
(
count
===
$
(
'.repay-list li'
).
length
)
{
$
(
'#repayment-total'
).
click
();
if
(
$
(
this
).
prev
().
is
(
':checked'
))
{
$
(
'.repay-list input'
).
prop
(
'checked'
,
false
);
$currAmt
.
html
(
'0'
);
$currFee
.
html
(
'0'
);
}
else
{
$
(
'#repayment-total'
).
click
();
$
(
'.repay-list input'
).
prop
(
'checked'
,
true
);
$
(
'.repay-list li'
).
each
(
function
()
{
totalAmt
+=
(
+
$
(
this
).
attr
(
'data-curramt'
));
totalFee
+=
(
+
$
(
this
).
attr
(
'data-currfee'
));
});
$currAmt
.
html
(
totalAmt
);
$currFee
.
html
(
totalFee
);
}
});
$
(
'.repayment-btn'
).
on
(
'click'
,
function
()
{
var
path
=
location
.
pathname
;
$
(
this
).
attr
(
'href'
,
path
+
'?openby:yohobuy={"action":"go.instalmentRepayment","params":{"amount":'
+
(
+
$currAmt
.
html
())
+
'}}'
);
});
\ No newline at end of file
...
...
public/scss/home/installment/_repayment-list.css
View file @
f7f6924
...
...
@@ -7,7 +7,6 @@
.cont
{
width
:
370px
;
overflow
:
hidden
;
height
:
120px
;
float
:
left
;
margin-top
:
20px
;
...
...
@@ -141,6 +140,54 @@
display
:
block
;
}
}
.repay-now
{
width
:
100%
;
background
:
#fff
;
height
:
120px
;
border-bottom
:
1px
solid
#e0e0e0
;
text-align
:
center
;
line-height
:
120px
;
font-size
:
32px
;
span
{
color
:
#d0021b
;
padding-left
:
15px
;
}
}
.repay-detail
{
border-top
:
1px
solid
#e0e0e0
;
margin-top
:
30px
;
}
.repay-status
{
width
:
614px
;
margin
:
35px
auto
0
;
font-size
:
32px
;
height
:
auto
;
overflow
:
hidden
;
li
{
float
:
left
;
width
:
134px
;
text-align
:
center
;
margin
:
0
30px
;
&:before
{
}
}
.spot
{
width
:
19px
;
height
:
19px
;
border-radius
:
50%
;
background
:
#b0b0b0
;
display
:
block
;
margin
:
0
auto
;
}
}
}
.installment-overdue-notice
{
...
...
Please
register
or
login
to post a comment