Authored by 郭成尧

bundle-frame

... ... @@ -45,6 +45,35 @@
{{/goods}}
</div>
{{/if}}
{{#if isBundle}}
<div class="bundle-title">
<div class="opt">
<i class="iconfont chk select{{#if checked}} checked{{/if}}"></i>
{{#inValid}}
<span class="disable fill-text">失效</span>
{{/inValid}}
</div>
<div class="title">
<span>{{poolTitle}}</span>
</div>
</div>
<div class="bundle-nums clearfix">
<div class="label">
<span>套餐数量</span>
</div>
<div class="num-opt">
<a href="javascript:;" class="btn btn-opt-minus{{#ifor minSelectNum isGift isAdvanceBuy}} disabled{{/ifor}}"><span class="iconfont"></span></a>
<input type="text" class="good-num" disabled="true" value="{{count}}" data-min="{{minNumber}}" data-max="{{maxNumber}}">
<a href="javascript:;" class="btn btn-opt-plus{{#ifor maxSelectNum isGift isAdvanceBuy}} disabled{{/ifor}}"><span class="iconfont"></span></a>
</div>
<div class="count pull-right">x{{count}}</div>
</div>
<div class="good-list">
{{#goods}}
{{> cart-good}}
{{/goods}}
</div>
{{/if}}
</div>
{{/goodPools}}
{{#goods}}
... ...
... ... @@ -33,11 +33,13 @@
{{#ifnot noEdit}}
<div class="intro intro-edit">
<div class="edit-box">
{{#ifnot ../isBundle}}
<div class="num-opt">
<a href="javascript:;" class="btn btn-opt-minus{{#ifor minSelectNum isGift isAdvanceBuy}} disabled{{/ifor}}"><span class="iconfont"></span></a>
<input type="text" class="good-num" disabled="true" value="{{count}}" data-min="{{minNumber}}" data-max="{{maxNumber}}">
<a href="javascript:;" class="btn btn-opt-plus{{#ifor maxSelectNum isGift isAdvanceBuy}} disabled{{/ifor}}"><span class="iconfont"></span></a>
</div>
{{/ifnot}}
<div class="edit-size-info">
<div class="txt">颜色:{{color}} 尺码:{{size}}</div>
<div class="down">
... ...
.bundle-title {
height: 80px;
display: flex;
overflow: hidden;
.opt {
width: 100px;
display: flex;
align-items: center;
justify-content: center;
.select {
display: block;
}
.edit {
display: none;
}
.disable {
background-color: #7f7f7f;
}
}
.title {
display: flex;
align-items: center;
span {
height: 40px;
padding: 4px;
font-size: 16px;
background-color: #d1021c;
color: #fff;
border-radius: 5px;
}
}
}
.bundle-nums {
height: 80px;
display: none;
overflow: hidden;
.label {
width: 284px;
height: 80px;
display: flex;
align-items: center;
span {
padding-left: 100px;
}
}
.num-opt {
border: solid 1PX #dfdfdf;
border-radius: 5px;
display: flex;
align-items: center;
overflow: hidden;
.btn {
width: 78px;
display: block;
height: 100%;
text-align: center;
line-height: 74px;
.iconfont {
color: #444;
}
&.disabled {
.iconfont {
color: #b0b0b0;
}
}
&.btn-opt-minus {
border-right: 1PX solid #dfdfdf;
.iconfont:before {
content: "\e625";
}
}
&.btn-opt-plus {
border-left: 1px solid #dfdfdf;
.iconfont:before {
content: "\e624";
}
}
}
.good-num {
width: 120px;
text-align: center;
color: #444;
font-size: 32px;
background-color: #fff;
border: none;
line-height: 74px;
height: 74px;
&:disabled {
color: initial;
}
}
}
.count {
width: 155px;
text-align: right;
margin-right: 30px;
line-height: 80px;
color: #999;
}
}
.edit .bundle-nums {
display: flex;
}
... ...
... ... @@ -4,3 +4,4 @@
@import "common/good";
@import "layout/loading";
@import "chose-panel";
@import "bundle";
... ...
... ... @@ -256,6 +256,7 @@ const procCartData = (data, isAdvanceCart) => {
return {
isBrand: pool.pool_type <= 1,
isPromotion: pool.pool_type === 2,
isBundle: pool.pool_type === 3,
poolTitle: pool.pool_title,
goods: _.get(pool, 'goods_list', []).map(good => {
return formatCartGoods(good, isAdvanceCart);
... ...