Commit 0085c5c7 by 高淑倩

add: 购物车_全选_单选

parent 3fe018ce
...@@ -14,7 +14,8 @@ wxService.page({ ...@@ -14,7 +14,8 @@ wxService.page({
startX: '', startX: '',
delBtnWidth: 66,//删除按钮宽度单位(rpx) delBtnWidth: 66,//删除按钮宽度单位(rpx)
cartList: [], cartList: [],
outGoods: [] outGoods: [],
checkAll: false,
}, },
/** /**
...@@ -46,9 +47,11 @@ wxService.page({ ...@@ -46,9 +47,11 @@ wxService.page({
wx.showLoading({ wx.showLoading({
title: '加载中' title: '加载中'
}) })
// 1556108807316001
// 1556108807316000
const trolleySku = { const trolleySku = {
count: 1, count: 1,
skuId: '1556108807316000' skuId: '1556108807316001'
} }
// 加入购物车 // 加入购物车
wxService.post('/sale/trolley/put', trolleySku).then(res => { wxService.post('/sale/trolley/put', trolleySku).then(res => {
...@@ -67,30 +70,20 @@ wxService.page({ ...@@ -67,30 +70,20 @@ wxService.page({
title: '加载中' title: '加载中'
}) })
wxService.get('/sale/trolley/query').then(res => { wxService.get('/sale/trolley/query').then(res => {
console.log('query', res)
if (res) { if (res) {
const { result, data } = res.data const { result, data } = res.data
if (result == 0) { if (result == 0) {
wx.hideLoading() wx.hideLoading()
// item.checked
data.skuVOList.forEach(item=>{
item.checked = false
})
this.setData({ this.setData({
cartList: data.skuVOList 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) { // 减少数量 minusNum: function (e) { // 减少数量
let cartList = this.data.cartList let cartList = this.data.cartList
...@@ -212,9 +205,29 @@ wxService.page({ ...@@ -212,9 +205,29 @@ wxService.page({
}, },
goBuy() { goBuy() {
let goodsIds = []
let specIds = []
let quantitys = []
let redemptionSpecIds = []
let cartListData = this.data.cartList || [] let cartListData = this.data.cartList || []
if (!cartListData) return false 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() { handleGoBuy() {
// 下单 // 下单
...@@ -270,15 +283,84 @@ wxService.page({ ...@@ -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) { selectPro(e) {
var index = e.currentTarget.dataset.index; var cartList = this.data.cartList
this.data.cartList[index].isSelect = !this.data.cartList[index].isSelect; 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({ 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() { allSelect() {
this.setData({ this.setData({
......
...@@ -17,9 +17,10 @@ ...@@ -17,9 +17,10 @@
<view class="cart-item" wx:for="{{cartList}}" wx:key="{{index}}"> <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="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="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> <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>
<view class="pro-info"> <view class="pro-info">
<image class="pro-img" src="/assets/imgs/7_1_0/icon.png" mode="widthFix"></image> <image class="pro-img" src="/assets/imgs/7_1_0/icon.png" mode="widthFix"></image>
...@@ -29,9 +30,9 @@ ...@@ -29,9 +30,9 @@
<view class="pro-price"> <view class="pro-price">
<view class="price">¥{{item.price}}</view> <view class="price">¥{{item.price}}</view>
<view class="pro-num-edit"> <view class="pro-num-edit">
<button class="redus-num" data-index="{{j}}" catchtap="minusNum">-</button> <button class="redus-num" data-index="{{index}}" catchtap="minusNum">-</button>
<input class="pro-num-edit-input" type="number" data-index="{{j}}" catchtap bindblur="blurNum" bindinput="inputNum" value="{{item.count}}"></input> <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="{{j}}" catchtap="addNum">+</button> <button class="add-num" data-index="{{index}}" catchtap="addNum">+</button>
</view> </view>
</view> </view>
</view> </view>
...@@ -64,10 +65,12 @@ ...@@ -64,10 +65,12 @@
<!-- 底部 --> <!-- 底部 -->
<view class="cart-bottom" style="bottom:{{currentHeight}}px"> <view class="cart-bottom" style="bottom:{{currentHeight}}px">
<view class="total"> <view class="total">
<view class="select-radio all-radio" bindtap="allSelect"> <!-- <view class="select-radio all-radio" bindtap="allSelect">-->
<view class="{{isAllSelect ? 'theme-color' : ''}} circle-radio " > <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> <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> <text class="all" >全选</text>
</view> </view>
<view class="total-amount"> <view class="total-amount">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment