Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
7
7-Eleven
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
高淑倩
7-Eleven
Commits
0085c5c7
Commit
0085c5c7
authored
Aug 19, 2019
by
高淑倩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add: 购物车_全选_单选
parent
3fe018ce
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
113 additions
and
28 deletions
+113
-28
cart.js
src/pages/cart/cart.js
+102
-20
cart.wxml
src/pages/cart/cart.wxml
+11
-8
No files found.
src/pages/cart/cart.js
View file @
0085c5c7
...
...
@@ -14,7 +14,8 @@ wxService.page({
startX
:
''
,
delBtnWidth
:
66
,
//删除按钮宽度单位(rpx)
cartList
:
[],
outGoods
:
[]
outGoods
:
[],
checkAll
:
false
,
},
/**
...
...
@@ -46,9 +47,11 @@ wxService.page({
wx
.
showLoading
({
title
:
'加载中'
})
// 1556108807316001
// 1556108807316000
const
trolleySku
=
{
count
:
1
,
skuId
:
'155610880731600
0
'
skuId
:
'155610880731600
1
'
}
// 加入购物车
wxService
.
post
(
'/sale/trolley/put'
,
trolleySku
).
then
(
res
=>
{
...
...
@@ -67,30 +70,20 @@ wxService.page({
title
:
'加载中'
})
wxService
.
get
(
'/sale/trolley/query'
).
then
(
res
=>
{
console
.
log
(
'query'
,
res
)
if
(
res
)
{
const
{
result
,
data
}
=
res
.
data
if
(
result
==
0
)
{
wx
.
hideLoading
()
// item.checked
data
.
skuVOList
.
forEach
(
item
=>
{
item
.
checked
=
false
})
this
.
setData
({
cartList
:
data
.
skuVOList
})
}
}
// let promotionIds = res.data.data.shopCartItems.map(function (item) { // 获取购物车中商品库存信息
// return item.promotionId
// }).join(',')
// if (promotionIds === '') {
// this.setData({
// cartList: [],
// })
// wx.hideLoading()
// return false
// }
})
},
minusNum
:
function
(
e
)
{
// 减少数量
let
cartList
=
this
.
data
.
cartList
...
...
@@ -212,9 +205,29 @@ wxService.page({
},
goBuy
()
{
let
goodsIds
=
[]
let
specIds
=
[]
let
quantitys
=
[]
let
redemptionSpecIds
=
[]
let
cartListData
=
this
.
data
.
cartList
||
[]
if
(
!
cartListData
)
return
false
this
.
handleGoBuy
()
// cartListData.filter(item => { // 选中的商品信息
// return item.checked
// }).map(function (item) {
// goodsIds.push(item.promotionId)
// specIds.push(item.selectSku.id)
// quantitys.push(item.quantity)
// })
if
(
goodsIds
.
length
==
0
)
{
wx
.
showToast
({
title
:
'请选择商品'
,
icon
:
'none'
})
return
false
}
// 去下单页
// this.handleGoBuy()
},
handleGoBuy
()
{
// 下单
...
...
@@ -270,15 +283,84 @@ wxService.page({
}
})
},
checkPro
:
function
(
e
)
{
// 选中商品
var
cartList
=
this
.
data
.
cartList
var
index
=
e
.
currentTarget
.
dataset
.
index
var
checkAll
=
false
if
(
cartList
[
index
].
checked
)
{
cartList
[
index
].
checked
=
false
}
else
{
cartList
[
index
].
checked
=
true
}
if
(
cartList
.
length
===
cartList
.
filter
(
function
(
item
)
{
return
item
.
checked
}).
length
)
{
checkAll
=
true
}
else
{
checkAll
=
false
}
this
.
setData
({
cartList
:
cartList
,
checkAll
:
checkAll
},
function
()
{
// this.setTotalFee()
})
},
//选择商品
selectPro
(
e
)
{
var
index
=
e
.
currentTarget
.
dataset
.
index
;
this
.
data
.
cartList
[
index
].
isSelect
=
!
this
.
data
.
cartList
[
index
].
isSelect
;
var
cartList
=
this
.
data
.
cartList
var
index
=
e
.
currentTarget
.
dataset
.
index
var
checkAll
=
false
if
(
cartList
[
index
].
checked
)
{
cartList
[
index
].
checked
=
false
}
else
{
cartList
[
index
].
checked
=
true
}
if
(
cartList
.
filter
(
item
=>
item
).
length
===
cartList
.
filter
(
item
=>
item
.
checked
).
length
)
{
checkAll
=
true
}
else
{
checkAll
=
false
}
// isAllSelect
this
.
setData
({
cartList
:
this
.
data
.
cartList
cartList
:
cartList
,
isAllSelect
:
checkAll
})
},
checkAll
:
function
()
{
// 全选
var
cartList
=
this
.
data
.
cartList
||
[]
if
(
!
cartList
.
length
)
return
false
if
(
this
.
data
.
checkAll
)
{
this
.
setData
({
cartList
:
cartList
.
map
(
function
(
item
)
{
item
.
checked
=
false
return
item
}),
checkAll
:
false
},
function
()
{
// this.setTotalFee()
})
}
else
{
this
.
setData
({
cartList
:
cartList
.
map
(
function
(
item
)
{
// 区分失效商品
item
.
checked
=
true
return
item
}),
checkAll
:
true
},
function
()
{
// this.setTotalFee()
})
}
},
//全选
allSelect
()
{
this
.
setData
({
...
...
src/pages/cart/cart.wxml
View file @
0085c5c7
...
...
@@ -17,9 +17,10 @@
<view class="cart-item" wx:for="{{cartList}}" wx:key="{{index}}">
<view class="cart-list" bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" style="{{item.shows}}" data-index="{{index}}">
<view class="select-radio" catchtap="selectPro" data-index="{{index}}">
<view class="{{item.isSelect ? 'theme-color' : ''}} circle-radio" >
<!--
<view class="{{item.isSelect ? 'theme-color' : ''}} circle-radio" >
<image wx:if="{{item.isSelect}}" class="tick-success" src="/assets/imgs/7_1_0/tick-success.png" mode="widthFix"></image>
</view>
</view>-->
<icon size="16" type="{{item.checked ? 'success' : 'circle'}}" data-index="{{index}}" catchtap="checkPro"></icon>
</view>
<view class="pro-info">
<image class="pro-img" src="/assets/imgs/7_1_0/icon.png" mode="widthFix"></image>
...
...
@@ -29,9 +30,9 @@
<view class="pro-price">
<view class="price">¥{{item.price}}</view>
<view class="pro-num-edit">
<button class="redus-num" data-index="{{
j
}}" catchtap="minusNum">-</button>
<input class="pro-num-edit-input" type="number" data-index="{{
j
}}" catchtap bindblur="blurNum" bindinput="inputNum" value="{{item.count}}"></input>
<button class="add-num" data-index="{{
j
}}" catchtap="addNum">+</button>
<button class="redus-num" data-index="{{
index
}}" catchtap="minusNum">-</button>
<input class="pro-num-edit-input" type="number" data-index="{{
index
}}" catchtap bindblur="blurNum" bindinput="inputNum" value="{{item.count}}"></input>
<button class="add-num" data-index="{{
index
}}" catchtap="addNum">+</button>
</view>
</view>
</view>
...
...
@@ -64,10 +65,12 @@
<!-- 底部 -->
<view class="cart-bottom" style="bottom:{{currentHeight}}px">
<view class="total">
<view class="select-radio all-radio" bindtap="allSelect">
<view class="{{isAllSelect ? 'theme-color' : ''}} circle-radio " >
<!-- <view class="select-radio all-radio" bindtap="allSelect">-->
<view class="select-radio all-radio" bindtap="checkAll">
<!--<view class="{{isAllSelect ? 'theme-color' : ''}} circle-radio " >
<image wx:if="{{isAllSelect}}" class="tick-success" src="/assets/imgs/7_1_0/tick-success.png" mode="widthFix"></image>
</view>
</view>-->
<icon type="{{checkAll ? 'success' : 'circle'}}" size="16" ></icon>
<text class="all" >全选</text>
</view>
<view class="total-amount">
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment