Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
1
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
htoooth
8 years ago
Commit
8c35f67b98a01678fb7ad13fdac6ab1dcdce3f8c
1 parent
1330d3a4
'updateTpl'
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
78 additions
and
104 deletions
apps/product/models/detail-service.js
public/hbs/actions/product/coupon-big-list.hbs → public/hbs/product/coupon-dialog.hbs
public/hbs/partials/product/coupon-big-item.hbs → public/hbs/product/coupon-item.hbs
public/hbs/product/coupon-list.hbs
public/js/common/helpers/if_cond.js
public/js/product/detail.page.js
public/scss/product/_detail.css
public/webpack.config.js
apps/product/models/detail-service.js
View file @
8c35f67
...
...
@@ -1033,13 +1033,13 @@ const _getCoupon = (coupons) => {
return
false
;
}
let
couponList
=
_
.
get
(
coupons
,
'data'
,
[]);
let
couponList
=
_
.
get
(
coupons
,
'data'
,
[]);
let
pickProp
=
Fn
.
pick
([
'couponName'
,
'amount'
,
'couponId'
,
'acquireStatus'
,
'rule4ShortName'
]);
let
encodeId
=
Fn
.
update
(
'couponId'
,
(
cid
)
=>
crypto
.
encryption
(
null
,
cid
+
''
));
let
replace
=
Fn
.
update
(
'rule4ShortName'
,(
r
)
=>
r
.
replace
(
/¥/g
,
'¥'
));
let
pickProp
=
Fn
.
pick
([
'couponName'
,
'amount'
,
'couponId'
,
'acquireStatus'
,
'rule4ShortName'
]);
let
encodeId
=
Fn
.
update
(
'couponId'
,
(
cid
)
=>
crypto
.
encryption
(
null
,
cid
+
''
));
let
replace
=
Fn
.
update
(
'rule4ShortName'
,
(
r
)
=>
r
.
replace
(
/¥/g
,
'¥'
));
return
Fn
.
map
(
Fn
.
pipe
(
pickProp
,
encodeId
,
replace
))(
couponList
);
return
Fn
.
map
(
Fn
.
pipe
(
pickProp
,
encodeId
,
replace
))(
couponList
);
return
coupons
.
data
;
};
...
...
@@ -1278,6 +1278,7 @@ const _detailDataPkg = (origin, uid, vipLevel, cookies) => {
result
.
brandUrl
=
helpers
.
urlFormat
(
''
,
null
,
propOrigin
(
'brand_info.brand_domain'
));
bandInfo
=
_getBrandDataByProductBaseInfo
(
origin
,
additionalData
);
bandInfo
.
isCollect
=
favoriteData
.
brand
;
bandInfo
.
brandUrl
=
result
.
brandUrl
;
if
(
domainBrand
.
type
&&
domainBrand
.
shopId
)
{
let
type
=
_
.
parseInt
(
domainBrand
.
type
);
...
...
public/hbs/
actions/product/coupon-big-list
.hbs → public/hbs/
product/coupon-dialog
.hbs
View file @
8c35f67
...
...
@@ -2,13 +2,13 @@
<div
class=
"coupon-big"
>
<div
class=
"header"
>
优惠券
</div>
<div
class=
"coupon-
big-list
"
>
<div
class=
"coupon-
list-body
"
>
{{#
newList
}}
{{>
product
/
coupon-big-item
}}
{{>
./
coupon-list
}}
{{/
newList
}}
{{#
oldList
}}
{{>
product
/
coupon-big-item
}}
{{>
./
coupon-list
}}
{{/
oldList
}}
</div>
</div>
...
...
public/hbs/p
artials/product/coupon-big
-item.hbs → public/hbs/p
roduct/coupon
-item.hbs
View file @
8c35f67
{{#if
body
}}
<div
class=
"coupon-list"
>
<div
class=
"header"
>
<div
class=
"divide-line"
></div>
<div
class=
"title"
>
{{
title
}}
</div>
</div>
<div
class=
"item-bg"
>
<div
class=
"pre"
>
优惠券
</div>
<div
class=
"body"
>
{{#
each
body
}}
<div
class=
"item-bg"
>
<div
class=
"pre"
>
优惠券
</div>
<div
class=
"desc"
>
<div
class=
"amount"
>
¥
{{
amount
}}
</div>
<div
class=
"rule"
>
{{
rule4ShortName
}}
</div>
</div>
<div
class=
"desc"
>
<div
class=
"amount"
>
¥
{{
amount
}}
</div>
<div
class=
"rule"
>
{{
rule4ShortName
}}
</div>
</div>
<div
class=
"status"
data-id=
"
{{
couponId
}}
"
data-domain=
"
{{
domain
}}
"
>
{{#
if_cond
acquireStatus
'=='
1
}}
<div
class=
"coupon-status"
>
点击
</div>
<div
class=
"coupon-go"
>
领取
</div>
{{else}}
<div
class=
"coupon-status"
>
已领取
</div>
<div
class=
"coupon-go"
><a
class=
"coupon-btn"
>
去使用
</a></div>
{{/
if_cond
}}
</div>
</div>
{{/
each
}}
</div>
<div
class=
"status"
data-id=
"
{{
couponId
}}
"
data-index=
"
{{
index
}}
"
data-status=
"
{{
acquireStatus
}}
"
>
{{#
if_cond
acquireStatus
'=='
1
}}
<div
class=
"coupon-status"
>
点击
</div>
<div
class=
"coupon-go"
>
领取
</div>
{{else}}
<div
class=
"coupon-status"
>
已领取
</div>
<div
class=
"coupon-go"
><a
class=
"coupon-btn"
>
去使用
</a></div>
{{/
if_cond
}}
</div>
{{/if}}
</div>
...
...
public/hbs/product/coupon-list.hbs
0 → 100644
View file @
8c35f67
{{#if
body
}}
<div
class=
"coupon-list"
>
<div
class=
"header"
>
<div
class=
"divide-line"
></div>
<div
class=
"title"
>
{{
title
}}
</div>
</div>
<div
class=
"coupon-list-body"
>
{{#
each
body
}}
{{>
./
coupon-item
}}
{{/
each
}}
</div>
</div>
{{/if}}
...
...
public/js/common/helpers/if_cond.js
View file @
8c35f67
...
...
@@ -5,7 +5,7 @@
'use strict'
;
module
.
exports
=
(
left
,
operator
,
right
,
options
)
=>
{
module
.
exports
=
function
(
left
,
operator
,
right
,
options
)
{
switch
(
operator
)
{
case
'=='
:
return
(
left
==
right
)
?
options
.
fn
(
this
)
:
options
.
inverse
(
this
);
// eslint-disable-line
...
...
public/js/product/detail.page.js
View file @
8c35f67
...
...
@@ -31,7 +31,8 @@ var colTxt = {
var
$saleReturn
=
$
(
'#saleReturn'
);
var
tpl
=
require
(
'hbs/product/coupon-big-list.hbs'
);
var
dialogTpl
=
require
(
'hbs/product/coupon-dialog.hbs'
);
var
couponItem
=
require
(
'hbs/product/coupon-item.hbs'
);
bindEvent
.
add
(
function
()
{
var
$imgShow
=
$
(
'#img-show'
),
...
...
@@ -66,88 +67,54 @@ bindEvent.add(function() {
var
$moreCoupon
=
$
(
'.more-coupon'
);
var
$coupons
=
$
(
'.coupon-item'
).
map
(
function
()
{
var
$coupons
=
$
(
'.coupon-item'
).
map
(
function
(
val
,
i
)
{
var
$this
=
$
(
this
);
return
{
id
:
$this
.
data
(
'id'
),
name
:
$this
.
data
(
'name'
),
couponId
:
$this
.
data
(
'id'
),
couponName
:
$this
.
data
(
'name'
),
amount
:
$this
.
data
(
'amount'
),
status
:
$this
.
data
(
'status'
)
acquireStatus
:
$this
.
data
(
'status'
),
rule4ShortName
:
$this
.
data
(
'rule'
),
index
:
i
};
}).
get
();
var
gotCoupons
=
$
.
grep
(
$coupons
,
function
(
val
)
{
return
val
.
status
===
3
;
var
newCoupons
=
$
.
grep
(
$coupons
,
function
(
val
)
{
return
val
.
acquireStatus
===
1
;
});
var
newCoupons
=
$
.
grep
(
$coupons
,
function
(
val
)
{
return
val
.
status
===
1
;
var
oldCoupons
=
$
.
grep
(
$coupons
,
function
(
val
)
{
return
val
.
acquireStatus
===
3
;
});
var
json
=
{
newList
:
{
title
:
'可以领取的券'
,
body
:
[
{
'couponName'
:
'满¥199减10'
,
'amount'
:
22
,
'acquireStatus'
:
1
,
'createTime'
:
1475152374
,
'startTime'
:
1474992000
,
'lifeTime'
:
'2016.09.28-2016.11.17'
,
'endTime'
:
1479312000
,
'couponId'
:
14144
,
'rule4ShortName'
:
'满¥100减10元'
},
{
'couponName'
:
'满¥199减10'
,
'amount'
:
15
,
'acquireStatus'
:
1
,
'createTime'
:
1476358258
,
'startTime'
:
1476115200
,
'lifeTime'
:
'2016.10.11-2016.11.18'
,
'endTime'
:
1479398400
,
'couponId'
:
14202
,
'rule4ShortName'
:
'满¥100减10元'
}
]
body
:
newCoupons
},
oldList
:
{
title
:
'已领取的券'
,
body
:
[
{
'couponName'
:
'满¥199减10'
,
'amount'
:
22
,
'acquireStatus'
:
3
,
'createTime'
:
1475152374
,
'startTime'
:
1474992000
,
'lifeTime'
:
'2016.09.28-2016.11.17'
,
'endTime'
:
1479312000
,
'couponId'
:
14144
,
'rule4ShortName'
:
'满¥100减10元'
},
{
'couponName'
:
'满¥199减10'
,
'amount'
:
15
,
'acquireStatus'
:
3
,
'createTime'
:
1476358258
,
'startTime'
:
1476115200
,
'lifeTime'
:
'2016.10.11-2016.11.18'
,
'endTime'
:
1479398400
,
'couponId'
:
14202
,
'rule4ShortName'
:
'满¥100减10元'
}
]
body
:
oldCoupons
}
};
var
couponDialog
=
new
Dialog
({
content
:
dialogTpl
({
coupon
:
json
}),
className
:
'coupon-big'
});
$moreCoupon
.
on
(
'click'
,
function
()
{
new
Dialog
({
content
:
tpl
({
coupon
:
json
}),
className
:
'coupon-big'
}).
show
();
couponDialog
.
show
();
});
$
(
document
).
on
(
'click'
,
'.status'
,
function
()
{
var
$this
=
$
(
this
);
var
id
=
$this
.
data
(
'id'
);
var
index
=
$this
.
data
(
'index'
);
var
status
=
$this
.
data
(
'status'
);
});
function
imgShow
(
src
)
{
...
...
public/scss/product/_detail.css
View file @
8c35f67
...
...
@@ -246,6 +246,10 @@
color
:
red
;
}
.more-coupon
{
cursor
:
pointer
;
}
.small-desc
{
line-height
:
18px
;
font-size
:
12px
;
...
...
@@ -1204,7 +1208,7 @@
font-size
:
18px
;
color
:
#999
;
text-align
:
center
;
background-color
:
white
;
background-color
:
#f8f8f8
;
margin-right
:
125px
;
margin-left
:
125px
;
text-align
:
center
;
...
...
public/webpack.config.js
View file @
8c35f67
...
...
@@ -42,16 +42,16 @@ module.exports = {
query
:
{
helperDirs
:
[
path
.
join
(
__dirname
,
'/js/common/helpers'
)
],
partialDirs
:
[
path
.
join
(
__dirname
,
'/hbs'
,
'partials'
)
]
//partialDirs: [
// path.join(__dirname, '/hbs', 'partials')
//]
}
}]
},
resolve
:
{
alias
:
{
hbs
:
path
.
join
(
__dirname
,
'hbs'
,
'actions'
)
hbs
:
path
.
join
(
__dirname
,
'hbs'
)
}
},
plugins
:
[
...
...
Please
register
or
login
to post a comment