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
Plain Diff
Browse Files
Authored by
biao
9 years ago
Commit
8212d0a8df46db6458d84b02a611a3bb6b2fa39b
2 parents
04be6279
a507770e
Merge branch 'release/1.0' of
http://git.yoho.cn/fe/yoho-blk
into release/1.0
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
125 additions
and
55 deletions
apps/me/models/address.js
apps/me/views/partial/setting/act/step1.hbs
apps/me/views/partial/setting/act/step2.hbs
apps/product/controllers/list.js
apps/product/controllers/query.js
apps/product/controllers/shop.js
apps/product/models/helpers.js
apps/product/models/search.js
apps/product/models/shop-service.js
apps/product/views/partial/brand-banner-list.hbs
apps/product/views/partial/list/filter.hbs
apps/shopping/controllers/order.js
apps/shopping/helpers/index.js
apps/shopping/helpers/payment.js
apps/shopping/models/order.js
doraemon/views/partial/header.hbs
public/helper/showStorage.js
public/js/common/header.js
public/js/me/setting/operate.js
public/js/me/setting/validate.js
public/js/plugins/check.js
public/js/product/list/list-search.js
public/js/shopping/cart.page.js
public/js/shopping/cart/cart.js
public/js/shopping/order.page.js
public/scss/product/_shop.css
public/scss/shopping/_cart-products.css
public/scss/shopping/_edit-color-size.css
public/tpl/shopping/cart-content.hbs
public/tpl/shopping/edit-color-size.hbs
apps/me/models/address.js
View file @
8212d0a
...
...
@@ -21,7 +21,6 @@ const getAddressDataAsync = (uid, limit) => {
uid
:
uid
,
limit
:
limit
}).
then
(
result
=>
{
console
.
log
(
result
);
return
result
;
});
};
...
...
apps/me/views/partial/setting/act/step1.hbs
View file @
8212d0a
...
...
@@ -19,7 +19,7 @@
<div
class=
"form-group"
>
<lable
class=
"label-name"
>
手机验证码:
</lable>
<input
id=
"msg-code"
type=
"text"
class=
"input small-input"
>
<span
id=
"send-code"
class=
"btn white"
>
发送验证码
</span>
<span
id=
"send-code"
class=
"btn white
disable
"
>
发送验证码
</span>
</div>
<div
class=
"form-group"
>
<span
id=
"mobile-step1"
class=
"btn submit"
>
提交
</span>
...
...
apps/me/views/partial/setting/act/step2.hbs
View file @
8212d0a
...
...
@@ -24,7 +24,7 @@
<div
class=
"form-group"
>
<lable
class=
"label-name"
>
手机验证码:
</lable>
<input
id=
"msg-code"
type=
"text"
class=
"input small-input"
>
<span
id=
"send-code2"
class=
"btn white"
>
发送验证码
</span>
<span
id=
"send-code2"
class=
"btn white
disable
"
>
发送验证码
</span>
</div>
<div
class=
"form-group"
>
<span
id=
"mobile-step2"
class=
"btn submit"
>
提交
</span>
...
...
apps/product/controllers/list.js
View file @
8212d0a
...
...
@@ -21,7 +21,7 @@ const list = {
q
.
page
=
parseInt
(
q
.
page
||
1
,
10
);
q
.
order
=
q
.
order
||
's_n_desc'
;
q
.
channel
=
channel
;
q
.
yh_
channel
=
channel
;
let
retData
=
{
module
:
'product'
,
...
...
@@ -76,7 +76,7 @@ const list = {
q
.
page
=
parseInt
(
q
.
page
||
1
,
10
);
q
.
order
=
q
.
order
||
's_n_desc'
;
q
.
channel
=
channel
;
q
.
yh_
channel
=
channel
;
let
retData
=
{
module
:
'product'
,
...
...
apps/product/controllers/query.js
View file @
8212d0a
...
...
@@ -29,9 +29,8 @@ const Query = {
query
:
query
};
Promise
.
all
([
Search
.
queryAllSort
(
q
),
Search
.
queryProduct
(
q
)]).
then
(
allResult
=>
{
let
allSort
=
camelCase
(
allResult
[
0
]);
let
result
=
allResult
[
1
];
Promise
.
all
([
Search
.
queryProduct
(
q
)]).
then
(
allResult
=>
{
let
result
=
allResult
[
0
];
if
(
result
&&
result
.
code
===
200
&&
result
.
data
)
{
let
data
=
camelCase
(
result
.
data
);
...
...
@@ -43,12 +42,12 @@ const Query = {
if
(
data
.
filter
)
{
data
.
filter
.
standard
=
data
.
standard
;
data
.
filter
.
groupSort
=
DataHelper
.
sortConvert
(
allSort
.
data
.
sort
);
retData
.
filter
=
DataHelper
.
filterHandle
(
data
.
filter
,
q
);
retData
.
filter
.
showPrice
=
data
.
total
>
10
;
retData
.
filter
.
showInfo
=
(
retData
.
filter
.
style
&&
retData
.
filter
.
style
.
length
>
0
)
||
(
data
.
standard
&&
data
.
standard
.
length
>
0
);
//eslint-disable-line
retData
.
filter
.
useSmallSort
=
1
;
}
retData
.
navPath
=
{
...
...
apps/product/controllers/shop.js
View file @
8212d0a
...
...
@@ -101,7 +101,7 @@ const shop = {
q
.
order
=
q
.
order
||
's_n_desc'
;
q
.
page
=
parseInt
(
q
.
page
||
1
,
10
);
q
.
channel
=
channel
;
q
.
yh_
channel
=
channel
;
ShopData
.
getShopHeadData
(
domain
,
uid
).
then
(
result
=>
{
data
.
banner
=
result
;
...
...
apps/product/models/helpers.js
View file @
8212d0a
...
...
@@ -246,7 +246,7 @@ const helpers = {
let
filters
=
[];
let
customPriceLow
=
''
;
let
customPriceHigh
=
''
;
let
showSize
=
(
!!
q
.
msort
||
!!
q
.
misort
);
let
showSize
=
(
!!
q
.
msort
||
!!
q
.
misort
)
&&
sizeInfo
;
genders
.
forEach
(
g
=>
{
if
(
g
.
value
===
q
.
gender
)
{
...
...
@@ -275,6 +275,9 @@ const helpers = {
s
.
sub
.
unshift
({
categoryName
:
'全部'
+
s
.
categoryName
,
categoryId
:
''
,
relationParameter
:
{
sort
:
s
.
relationParameter
?
s
.
relationParameter
.
sort
:
''
},
checked
:
q
.
msort
&&
q
.
msort
===
s
.
categoryId
&&
!
q
.
misort
});
...
...
apps/product/models/search.js
View file @
8212d0a
...
...
@@ -36,19 +36,24 @@ function _paramHanlde(obj) {
obj
.
standard_value_id
=
standards
[
1
];
}
if
(
obj
.
channel
)
{
switch
(
obj
.
channel
)
{
let
_gender
;
if
(
obj
.
yh_channel
)
{
switch
(
obj
.
yh_channel
)
{
case
'men'
:
obj
.
gender
=
'1,3'
;
_
gender
=
'1,3'
;
break
;
case
'women'
:
obj
.
gender
=
'2,3'
;
_
gender
=
'2,3'
;
break
;
default
:
break
;
}
}
if
(
obj
.
gender
||
_gender
)
{
obj
.
gender
=
obj
.
gender
||
_gender
;
}
return
obj
;
}
...
...
@@ -62,8 +67,9 @@ const Search = {
queryProduct
(
params
)
{
let
finalParams
=
{
method
:
'app.search.li'
,
limit
:
45
method
:
'web.search.search'
,
limit
:
45
,
need_filter
:
'1'
};
Object
.
assign
(
finalParams
,
_paramHanlde
(
params
));
...
...
@@ -72,7 +78,7 @@ const Search = {
},
queryProductOfBrand
(
params
)
{
let
finalParams
=
{
method
:
'
app.search.li
'
,
method
:
'
web.search.search
'
,
limit
:
45
};
...
...
@@ -82,7 +88,7 @@ const Search = {
},
queryNewProduct
(
params
)
{
let
finalParams
=
{
method
:
'
app.search.newProduct
'
,
method
:
'
web.search.search
'
,
limit
:
45
};
...
...
apps/product/models/shop-service.js
View file @
8212d0a
...
...
@@ -139,6 +139,7 @@ const ShopService = {
info
.
info
=
shopIntro
.
shopIntro
;
info
.
btnName
=
'品牌介绍'
;
info
.
isFavorite
=
brandInfo
.
isFavorite
===
'Y'
;
info
.
showShopName
=
shopIntro
.
isShowShopName
===
'Y'
;
let
shopData
=
yield
Promise
.
all
([
ShopService
.
getShopDecorator
(
shopId
),
ShopService
.
getShopSecondSorts
(
domainInfo
.
id
,
shopId
)]);
...
...
apps/product/views/partial/brand-banner-list.hbs
View file @
8212d0a
{{#
banner
}}
<div
class=
"brand-banner"
data-brand=
"
{{
brandId
}}
"
data-shop=
"
{{
shopId
}}
"
>
<div
class=
"brand-img"
style=
"height:150px; background: url('
{{
image
banner
1150
150
}}
')"
></div>
{{#if
showShopName
}}
<div
class=
"shop-name"
>
{{
name
}}
</div>
{{/if}}
<p
class=
"opts"
>
<a
id=
"brand-info"
>
<i
class=
"iconfont"
>

</i>
...
...
apps/product/views/partial/list/filter.hbs
View file @
8212d0a
...
...
@@ -20,7 +20,7 @@
<div
class=
"list-body nano"
>
<div
class=
"nano-content"
>
{{#
each
sortData
}}
<div
class=
"input-radio"
data-value=
"
{{
relationParameter
.
sort
}}
"
<div
class=
"input-radio"
data-value=
"
{{
relationParameter
.
sort
}}
"
data-usesmall=
"
{{
..
/
useSmallSort
}}
"
data-category=
"
{{
categoryId
}}
"
>
{{>
icon
/
radio
}}
<label>
{{
categoryName
}}
</label>
...
...
@@ -39,7 +39,7 @@
<div
class=
"list-body nano"
>
<div
class=
"nano-content"
>
{{#
each
sub
}}
<div
class=
"input-radio"
data-value=
"
{{
relationParameter
.
sort
}}
"
<div
class=
"input-radio"
data-value=
"
{{
relationParameter
.
sort
}}
"
data-usesmall=
"
{{
..
/
..
/
useSmallSort
}}
"
data-category=
"
{{
categoryId
}}
"
>
{{>
icon
/
radio
}}
<label>
{{
categoryName
}}
</label>
...
...
@@ -161,7 +161,7 @@
<div
class=
"title"
>
商品属性
</div>
<div
class=
"yoho-ui-accordion"
>
<div
class=
"yoho-ui-accordion
no-active
"
>
{{#if
style
}}
<h3>
风格
</h3>
<div
class=
"body"
>
...
...
apps/shopping/controllers/order.js
View file @
8212d0a
...
...
@@ -62,7 +62,7 @@ const index = (req, res, next) => {
}
];
res
.
header
(
'Cache-Control'
,
'no-
cach
e'
);
res
.
header
(
'Cache-Control'
,
'no-
stor
e'
);
res
.
display
(
'order'
,
{
content
:
data
,
...
...
apps/shopping/helpers/index.js
View file @
8212d0a
...
...
@@ -47,7 +47,7 @@ exports.showStorage = (leftNumber) => {
leftNumber
=
+
leftNumber
;
if
(
leftNumber
<=
3
&&
leftNumber
>=
0
)
{
return
`仅剩
$
{
leftNumber
}
件`
;
return
'余量有限'
;
}
else
if
(
leftNumber
<
0
)
{
return
'库存不足'
;
}
...
...
apps/shopping/helpers/payment.js
View file @
8212d0a
...
...
@@ -53,7 +53,6 @@ const Payment = {
let
bankCode
=
''
;
// 暂时写成'', 参考php代码 Payment.php:564
console
.
log
(
paymentRecord
);
if
(
!
paymentRecord
||
paymentRecord
.
code
!==
200
||
!
prePayResult
||
prePayResult
.
code
!==
200
)
{
let
message
=
paymentRecord
&&
paymentRecord
.
message
?
paymentRecord
.
message
:
'系统繁忙,请稍后再试'
;
...
...
apps/shopping/models/order.js
View file @
8212d0a
...
...
@@ -139,7 +139,7 @@ const _submit = (uid, other) => {
address_id
:
other
.
address_id
,
use_yoho_coin
:
other
.
use_yoho_coin
,
remark
:
other
.
remark
,
is
PrintP
rice
:
other
.
isPrintPrice
,
is
_print_p
rice
:
other
.
isPrintPrice
,
delivery_time
:
other
.
delivery_time
,
delivery_way
:
other
.
delivery_way
,
payment_id
:
other
.
payment_id
,
...
...
doraemon/views/partial/header.hbs
View file @
8212d0a
...
...
@@ -56,7 +56,7 @@
<div
class=
"bag-content"
>
<p
class=
"cn"
>
您的购物袋暂无商品
</p>
<p
class=
"en"
>
Your shopping bag
s no goods ,
<br>
Your shopping bag
is empty ,
<br>
welcome go to shopping !
</p>
</div>
...
...
public/helper/showStorage.js
View file @
8212d0a
...
...
@@ -7,7 +7,7 @@ module.exports = function(leftNumber) {
leftNumber
=
+
leftNumber
;
if
(
leftNumber
<=
3
&&
leftNumber
>=
0
)
{
return
'
仅剩'
+
leftNumber
+
'件
'
;
return
'
余量有限
'
;
}
else
if
(
leftNumber
<
0
)
{
return
'库存不足'
;
}
...
...
public/js/common/header.js
View file @
8212d0a
...
...
@@ -94,7 +94,7 @@ $('.yoho-group a').hover(function() {
$
(
this
).
text
(
data
.
en
);
});
$
(
'.tag-bag'
).
hov
er
(
function
()
{
$
(
'.tag-bag'
).
mouseent
er
(
function
()
{
refreshBag
();
});
...
...
public/js/me/setting/operate.js
View file @
8212d0a
...
...
@@ -11,7 +11,7 @@ var type = types[types.length - 1];// 界面操作类型
var
$imgCaptchaInput
=
$
(
'#captcha'
);
var
second
=
60
;
var
$sms
=
$
(
'#send-code2'
);
// 发送短信验证码按钮
var
area
=
$
(
'#country-code'
).
text
().
substring
(
0
)
||
'86'
;
// 地区码
var
area
=
$
(
'#country-code'
).
text
().
substring
(
1
)
||
'86'
;
// 地区码
// 发送短信后倒计时显示
var
disableSMSBtn
=
function
()
{
second
-=
1
;
...
...
@@ -53,6 +53,7 @@ $('[placeholder]').placeholder();
*/
$
(
'#region'
).
on
(
'change'
,
function
()
{
$
(
'#country-code'
).
text
(
$
(
this
).
val
());
area
=
$
(
this
).
val
().
substring
(
1
);
});
// 校验手机号码
...
...
@@ -71,6 +72,7 @@ $('#real-mobile').blur(function() {
},
success
:
function
(
data
)
{
if
(
data
.
code
===
200
)
{
$sms
.
removeClass
(
'disable'
);
self
.
find
(
'.tips-success'
).
addClass
(
'ok'
).
show
();
self
.
find
(
'.tips-error'
).
removeClass
(
'notok'
).
hide
();
}
else
{
...
...
public/js/me/setting/validate.js
View file @
8212d0a
...
...
@@ -8,7 +8,7 @@ var dialog = require('../../plugins/dialog');
var
_alert
=
dialog
.
Alert
;
var
types
=
location
.
pathname
.
split
(
'/'
);
var
type
=
types
[
types
.
length
-
1
];
// 界面操作类型
var
area
=
$
(
'#country-code'
).
text
()
||
'86'
;
var
area
=
$
(
'#country-code'
).
text
()
.
substring
(
1
)
||
'86'
;
/**
* 手机号码验证
...
...
public/js/plugins/check.js
View file @
8212d0a
...
...
@@ -24,10 +24,12 @@ var jQuery = require('yoho-jquery');
init
:
function
(
options
)
{
var
type
=
options
.
type
||
defaults
.
type
;
var
ele
=
this
;
var
_checked
=
options
.
checked
||
$
(
'.iconfont'
,
this
).
hasClass
(
'checked'
)
;
var
_checked
;
options
=
$
.
extend
({},
defaults
,
$
(
this
).
data
(
'options'
),
defaultsHtml
[
type
],
options
);
_checked
=
options
.
checked
||
$
(
'.iconfont'
,
this
).
hasClass
(
'checked'
);
$
(
'.iconfont'
,
this
).
removeClass
(
'radio'
).
removeClass
(
'checkbox'
).
addClass
(
options
.
type
);
$
(
'.iconfont'
,
this
).
html
(
_checked
?
options
.
checkedHtml
:
options
.
uncheckedHtml
);
...
...
public/js/product/list/list-search.js
View file @
8212d0a
...
...
@@ -59,15 +59,23 @@ var YohoListPage = {
type
:
'radio'
,
group
:
'sort'
,
onChange
:
function
(
ele
)
{
var
useSmall
=
$
(
ele
).
data
(
'usesmall'
)
===
1
;
var
subCategoryId
=
$
(
ele
).
data
(
'category'
);
var
sort
=
$
(
ele
).
data
(
'value'
);
var
categoryId
=
$
(
ele
).
parents
(
'.body'
).
data
(
'value'
);
var
data
=
{
page
:
1
,
size
:
''
};
YohoListPage
.
go
({
msort
:
categoryId
,
misort
:
subCategoryId
,
size
:
''
,
page
:
1
});
if
(
useSmall
)
{
data
.
sort
=
sort
;
}
else
{
data
.
msort
=
categoryId
;
data
.
misort
=
subCategoryId
;
}
YohoListPage
.
go
(
data
);
}
});
...
...
public/js/shopping/cart.page.js
View file @
8212d0a
...
...
@@ -107,12 +107,17 @@ $(function() {
$
(
'#removed_products'
).
delegate
(
'.send-to-favorite'
,
'click'
,
function
()
{
var
$removedProduct
=
$
(
this
).
parents
(
'.removed-product'
);
Cart
.
sendToFavorite
([
$
.
parseJSON
(
$
(
this
).
attr
(
'data-product_info'
))],
function
()
{
var
info
=
$
.
parseJSON
(
$
(
this
).
attr
(
'data-product_info'
));
Cart
.
sendToFavorite
([
info
],
function
()
{
if
(
$
(
'#removed_products .removed-product'
).
length
>
1
)
{
$removedProduct
.
remove
();
}
else
{
$
(
'#removed_products'
).
html
(
''
);
}
// clear removed memory
Cart
.
clearRemovedMemory
(
info
.
productSku
);
});
}).
delegate
(
'.buy-again'
,
'click'
,
function
()
{
var
productInfo
=
$
.
parseJSON
(
$
(
this
).
attr
(
'data-rebuy_info'
)),
...
...
@@ -125,6 +130,9 @@ $(function() {
}
else
{
$
(
'#removed_products'
).
html
(
''
);
}
// clear removed memory
Cart
.
clearRemovedMemory
(
productInfo
.
productSku
);
});
});
});
...
...
public/js/shopping/cart/cart.js
View file @
8212d0a
...
...
@@ -286,6 +286,25 @@ Cart = {
}));
},
clearRemovedMemory
:
function
(
sku
)
{
var
idx
;
if
(
!
sku
)
{
return
;
}
// remove sku
removedProSkus
.
splice
(
removedProSkus
.
indexOf
(
sku
),
1
);
// remove info
for
(
idx
=
removedProsInfo
.
length
-
1
;
idx
>=
0
;
idx
--
)
{
if
(
removedProsInfo
[
idx
].
productSku
===
sku
)
{
removedProsInfo
.
splice
(
idx
,
1
);
return
;
}
}
},
/*
* 商品移入收藏夹
* @function [sendToFavorite]
...
...
@@ -392,14 +411,14 @@ Cart = {
filterSet
.
push
({
proId
:
res
.
id
,
color
:
color
.
color
,
active
:
color
.
c
ur
,
active
:
color
.
c
olor
===
defaultColor
?
true
:
false
,
sizes
:
color
.
sizes
,
pic
:
color
.
thumbs
[
0
],
selectable
:
color
.
total
>
0
,
colorName
:
color
.
name
,
rgb
:
color
.
rgb
});
if
(
color
.
color
===
defaultColor
&&
color
.
cur
)
{
if
(
color
.
color
===
defaultColor
)
{
defaultImg
=
color
.
thumbs
[
0
];
}
}
...
...
@@ -477,18 +496,18 @@ Cart = {
editTarget
.
find
(
'.size-item'
).
click
(
function
()
{
var
$this
=
$
(
this
);
if
(
$this
.
hasClass
(
'
current
'
))
{
if
(
$this
.
hasClass
(
'
active'
)
||
$this
.
hasClass
(
'disabled
'
))
{
return
;
}
$
(
this
).
addClass
(
'
current'
).
siblings
(
'.current'
).
removeClass
(
'current
'
);
$
(
this
).
addClass
(
'
active'
).
siblings
(
'.active'
).
removeClass
(
'active
'
);
newProductSku
=
$
(
this
).
attr
(
'data-sku'
);
});
// 初始化size list选中项(其他颜色中第一个尺码)
editTarget
.
find
(
'.sizes-list.mb10'
).
each
(
function
()
{
if
(
$
(
this
).
find
(
'.current'
).
length
===
0
)
{
$
(
this
).
find
(
'.size-item'
).
first
().
addClass
(
'current'
);
if
(
$
(
this
).
find
(
'.active'
).
length
===
0
)
{
$
(
this
).
find
(
'.size-item'
).
first
().
addClass
(
'active'
);
}
});
},
...
...
public/js/shopping/order.page.js
View file @
8212d0a
...
...
@@ -241,7 +241,7 @@ $('.used-coin').on('click', '.modify', function() {
});
// 添加备注-是否打印价格
$printPrice
.
printPrice
=
true
;
// 默认为tru
e
$printPrice
.
printPrice
=
false
;
// 默认为fals
e
$
(
'.print-price-radio'
).
check
({
type
:
'radio'
,
...
...
public/scss/product/_shop.css
View file @
8212d0a
...
...
@@ -11,6 +11,15 @@
background-size
:
100%
100%
;
position
:
relative
;
.shop-name
{
display
:
block
;
position
:
absolute
;
left
:
20px
;
bottom
:
15px
;
font-size
:
35px
;
color
:
#fff
;
}
p
.opts
{
display
:
block
;
position
:
absolute
;
...
...
public/scss/shopping/_cart-products.css
View file @
8212d0a
...
...
@@ -189,6 +189,15 @@ $hoverColor: #379ed6;
text-align
:
center
;
font-size
:
12px
;
padding
:
4px
;
&.disabled
{
color
:
#f0f0f0
;
border-color
:
#f0f0f0
;
}
&
.current.disabled
{
background-color
:
#999
;
}
}
.color-item
{
...
...
public/scss/shopping/_edit-color-size.css
View file @
8212d0a
...
...
@@ -36,7 +36,7 @@
border-width
:
10px
;
}
.
current
{
.
active
{
background-color
:
#444
;
color
:
#fff
;
}
...
...
public/tpl/shopping/cart-content.hbs
View file @
8212d0a
...
...
@@ -38,7 +38,7 @@
</a>
</li>
<li
class=
"pro-info"
>
{{!-- <div class="brand-name">{{brand_name}}</div> --}}
<a
class=
"brand-name"
href=
"/product/shop/
{{
brand_domain
}}
"
target=
"_blank"
>
{{
brand_name
}}
</a>
<div
class=
"pro-name"
><a
href=
"/product/pro_
{{
product_id
}}
_
{{
goods_id
}}
/
{{
cn_alphabet
}}
.html"
target=
"_blank"
>
{{
product_name
}}
</a></div>
<div
class=
"color-size editable"
data-productId=
"
{{
product_id
}}
"
id=
"edit_
{{
product_id
}}
"
data-productSkn=
"
{{
product_skn
}}
"
>
{{#if
color_name
}}
...
...
@@ -60,7 +60,7 @@
<span
class=
"iconfont"
>

</span>
</div>
<div
class=
"num"
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
/
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
readonly
/>
</div>
<div
class=
"plus action
{{#
isEqual
left_number
0
}}
disable
{{/
isEqual
}}
"
>
<span
class=
"iconfont"
>

</span>
...
...
@@ -108,7 +108,7 @@
</a>
</li>
<li
class=
"pro-info"
>
{{!-- <div class="brand-name">{{brandName}}</div> --}}
<a
class=
"brand-name"
href=
"/product/shop/
{{
brand_domain
}}
"
target=
"_blank"
>
{{
brand_name
}}
</a>
<div
class=
"pro-name"
><a
href=
"/product/pro_
{{
product_id
}}
_
{{
goods_id
}}
/
{{
cn_alphabet
}}
.html"
target=
"_blank"
>
{{
product_name
}}
</a></div>
<div
class=
"color-size editable"
data-productId=
"
{{
product_id
}}
"
id=
"edit_
{{
product_id
}}
"
data-productSkn=
"
{{
product_skn
}}
"
>
{{#if
color_name
}}
...
...
@@ -127,7 +127,7 @@
<span
class=
"iconfont"
>

</span>
</div>
<div
class=
"num"
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
/
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
readonly
/>
</div>
<div
class=
"plus action
{{#
isEqual
left_number
0
}}
disable
{{/
isEqual
}}
"
>
<span
class=
"iconfont"
>

</span>
...
...
@@ -166,6 +166,7 @@
</a>
</li>
<li
class=
"pro-info"
>
<a
class=
"brand-name"
href=
"/product/shop/
{{
brand_domain
}}
"
target=
"_blank"
>
{{
brand_name
}}
</a>
<div
class=
"pro-name"
><a
href=
"javascript:void(0)"
>
{{
product_name
}}
</a></div>
<div>
{{#if
color_name
}}
...
...
@@ -183,7 +184,7 @@
<span
class=
"iconfont"
>

</span>
</div>
<div
class=
"num"
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
/
>
<input
type=
"text"
class=
"input"
value=
{{
buy_number
}}
readonly
/>
</div>
<div
class=
"plus action
{{#
isEqual
left_number
0
}}
disable
{{/
isEqual
}}
"
>
<span
class=
"iconfont"
>

</span>
...
...
public/tpl/shopping/edit-color-size.hbs
View file @
8212d0a
...
...
@@ -26,7 +26,7 @@
<div
class=
"sizes-list mb10"
>
{{#
each
sizes
}}
<span
class=
"size-item mr10 mb10
{{#
isEqual
..
/
..
/
defaultSize
name
}}
current
{{/
isEqual
}}{{#
isEqual
num
0
}}
disabled
{{/
isEqual
}}
"
<span
class=
"size-item mr10 mb10
{{#
isEqual
..
/
..
/
defaultSize
name
}}
current
active
{{/
isEqual
}}{{#
isEqual
num
0
}}
disabled
{{/
isEqual
}}
"
data-sku=
"
{{
sku
}}
"
>
{{
name
}}
</span>
{{/
each
}}
</div>
...
...
Please
register
or
login
to post a comment