|
|
@ -4,7 +4,7 @@ |
|
|
|
<text class="control-text" @tap="isManaged = !isManaged">{{ isManaged ? '退出管理' : '管理' }}</text> |
|
|
|
|
|
|
|
<view class="cart-items"> |
|
|
|
<uv-checkbox-group shape="circle" v-model="checkboxValue" @change="toggleSelect"> |
|
|
|
<uv-checkbox-group shape="circle" v-model="checkboxValue"> |
|
|
|
<view v-for="(item, index) in cartData.records" :key="item.id" class="cart-item"> |
|
|
|
<view class="checkbox"> |
|
|
|
<uv-checkbox :key="index" :name="item.id" size="40rpx" iconSize="35rpx" activeColor="#019245" /> |
|
|
@ -70,8 +70,8 @@ |
|
|
|
|
|
|
|
<script> |
|
|
|
import tabber from '@/components/base/tabbar.vue' |
|
|
|
import { mockCartData } from '@/static/js/mockCartData.js' |
|
|
|
import navbar from '@/components/base/navbar.vue' |
|
|
|
import { mapActions } from 'vuex' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
@ -85,7 +85,6 @@ export default { |
|
|
|
}, |
|
|
|
checkboxValue: [], |
|
|
|
isManaged: false, |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
@ -106,6 +105,7 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
...mapActions(['setCartData']), |
|
|
|
// 获取购物车数据 |
|
|
|
getCartData(){ |
|
|
|
this.$api('queryShopcarList', {}, res => { |
|
|
@ -114,6 +114,7 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 增加或者减少数量 |
|
|
|
modifyCart(item){ |
|
|
|
this.$api('addShopcar', { |
|
|
|
goodsId: item.goodsId, |
|
|
@ -123,12 +124,7 @@ export default { |
|
|
|
console.log(res); |
|
|
|
}) |
|
|
|
}, |
|
|
|
// toggleSelect(item) { |
|
|
|
// this.updateCart(); |
|
|
|
// }, |
|
|
|
toggleSelectAll() { |
|
|
|
console.log(111); |
|
|
|
|
|
|
|
if (this.allSelected){ |
|
|
|
this.checkboxValue = [] |
|
|
|
}else{ |
|
|
@ -146,32 +142,23 @@ export default { |
|
|
|
item.num -= 1; |
|
|
|
this.modifyCart(item) |
|
|
|
} |
|
|
|
}, |
|
|
|
updateCart() { |
|
|
|
// // 计算选中的商品数量 |
|
|
|
// this.cartData.selectedCount = this.checkboxValue.length; |
|
|
|
// // 计算总价 |
|
|
|
// this.cartData.totalPrice = this.cartData.items.reduce((total, item) => { |
|
|
|
// if (this.checkboxValue.includes(item.id)){ |
|
|
|
// total += item.price * item.quantity |
|
|
|
// } |
|
|
|
// return total |
|
|
|
// }, 0) |
|
|
|
}, |
|
|
|
// 结账 |
|
|
|
checkout() { |
|
|
|
// const selectedItems = this.cartData.items.filter(item => item.selected); |
|
|
|
if (this.checkboxValue.length === 0) { |
|
|
|
uni.showToast({ |
|
|
|
title: '请选择商品', |
|
|
|
icon: 'none' |
|
|
|
icon: 'error' |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const sendData = this.cartData.records.filter(item => this.checkboxValue.includes(item.id)) |
|
|
|
this.$store.commit('setCartData', sendData ) |
|
|
|
|
|
|
|
// 跳转到创建订单页面 |
|
|
|
uni.navigateTo({ |
|
|
|
url: '/pages_order/order/newOrderDetail?status=pending' |
|
|
|
this.$utils.navigateTo({ |
|
|
|
url: '/pages_order/order/newOrderDetail?status=cart' |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 添加收藏 |
|
|
@ -193,31 +180,7 @@ export default { |
|
|
|
}) |
|
|
|
// 编写收藏函数的调用 |
|
|
|
}, 800) |
|
|
|
}, |
|
|
|
// 删除购物车 |
|
|
|
// deleteCart(){ |
|
|
|
// if (!this.checkboxValue.length) { |
|
|
|
// uni.showToast({ |
|
|
|
// title: '请选择商品', |
|
|
|
// icon: 'none' |
|
|
|
// }); |
|
|
|
|
|
|
|
// return; |
|
|
|
// } |
|
|
|
// uni.showLoading({ |
|
|
|
// title: '删除中...' |
|
|
|
// }) |
|
|
|
// setTimeout(() => { |
|
|
|
// uni.hideLoading() |
|
|
|
// uni.showToast({ |
|
|
|
// title: '删除成功', |
|
|
|
// }) |
|
|
|
// this.cartData.items = this.cartData.items.filter(item => !this.checkboxValue.includes(item.id)) |
|
|
|
// this.checkboxValue = [] |
|
|
|
// this.updateCart() |
|
|
|
// // 编写删除函数的调用 |
|
|
|
// }, 800) |
|
|
|
// } |
|
|
|
} |
|
|
|
}, |
|
|
|
onShow(){ |
|
|
|
this.getCartData() |
|
|
|