|
|
|
@ -2,12 +2,13 @@
|
|
|
|
|
* @Author: ch
|
|
|
|
|
* @Date: 2022-05-03 22:41:15
|
|
|
|
|
* @LastEditors: ch
|
|
|
|
|
* @LastEditTime: 2022-05-12 17:36:08
|
|
|
|
|
* @LastEditTime: 2022-05-12 19:40:43
|
|
|
|
|
* @Description: file content
|
|
|
|
|
-->
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<UiEmpty v-if="!isLoading && !list.length" desc="购物车空空如也,去挑点喜欢的好货吧~" :icon="require('@/assets/img/cart/empty.png')">
|
|
|
|
|
<UiEmpty v-if="!isLoading && !list.length" desc="购物车空空如也,去挑点喜欢的好货吧~"
|
|
|
|
|
:icon="require('@/assets/img/cart/empty.png')">
|
|
|
|
|
<UiButton type="grey" @click="$router.push('/')">去逛逛</UiButton>
|
|
|
|
|
</UiEmpty>
|
|
|
|
|
<UiLoading v-if="isLoading" ></UiLoading>
|
|
|
|
@ -32,22 +33,21 @@
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr v-for="item in list" :key="item.id" :class="item.status !== 'normal' && 'disable'">
|
|
|
|
|
<td width="50">
|
|
|
|
|
<el-checkbox v-if="item.status === 'normal'" :label="item.id" class="checkbox"></el-checkbox>
|
|
|
|
|
<el-checkbox v-if="item.status === 'normal'" :label="item.id" class="checkbox" />
|
|
|
|
|
<span v-else class="tag">失效</span>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<UIGoodsInfo :goods="item"></UIGoodsInfo>
|
|
|
|
|
<UIGoodsInfo :goods="item" />
|
|
|
|
|
</td>
|
|
|
|
|
<td width="115">
|
|
|
|
|
<UiMoney :money="item.productSku ? item.productSku.sellPrice : 0"></UiMoney>
|
|
|
|
|
<UiMoney :money="item.productSku ? item.productSku.sellPrice : 0" />
|
|
|
|
|
</td>
|
|
|
|
|
<td width="115">
|
|
|
|
|
<el-input-number :value="item.number" @change="onChangeStepper($event, item)"
|
|
|
|
|
:min="1" :max="item.maxBuyNum" size="mini">
|
|
|
|
|
</el-input-number>
|
|
|
|
|
:min="1" :max="item.maxBuyNum" size="mini" />
|
|
|
|
|
</td>
|
|
|
|
|
<td width="115">
|
|
|
|
|
<UiMoney :money="item.totalPrice"></UiMoney>
|
|
|
|
|
<UiMoney :money="item.totalPrice" />
|
|
|
|
|
</td>
|
|
|
|
|
<td width="115">
|
|
|
|
|
<a @click="handleDelete(item.id)" class="del">删除</a>
|
|
|
|
@ -58,33 +58,35 @@
|
|
|
|
|
</el-checkbox-group>
|
|
|
|
|
<div class="operation">
|
|
|
|
|
<div>
|
|
|
|
|
<el-checkbox label="全选" @change="handleCheckAll"
|
|
|
|
|
v-model="checkAll" :indeterminate="isIndeterminate"></el-checkbox>
|
|
|
|
|
<el-checkbox label="全选" @change="handleCheckAll" v-model="checkAll" :indeterminate="isIndeterminate" />
|
|
|
|
|
<a @click="handleDelete()" class="operation--del">批量删除</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="operation--right">
|
|
|
|
|
<p>已选<span class="operation--count">{{checkedIds.length}}</span>件</p>
|
|
|
|
|
<p class="operation--total">总计:
|
|
|
|
|
<UiMoney class="operation--total-price" :money="totalPrice"
|
|
|
|
|
size="20px" float prefix preSize="14px"/>
|
|
|
|
|
<p class="operation--total">
|
|
|
|
|
总计:
|
|
|
|
|
<UiMoney class="operation--total-price" size="20px" float prefix preSize="14px"
|
|
|
|
|
:money="totalPrice"/>
|
|
|
|
|
</p>
|
|
|
|
|
<UiButton class="operation--settlement" @click="settlement" :disabled="!checkedIds.length">去结算</UiButton>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<BsChosen></BsChosen>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
import {ApiGetCartList, ApiDeleteCartGoods, ApiPutCartNum} from '@/plugins/api/cart';
|
|
|
|
|
import {Debounce} from '@/plugins/utils';
|
|
|
|
|
import UIGoodsInfo from '../../components/UIGoodsInfo.vue';
|
|
|
|
|
import UiButton from '../../components/UiButton.vue';
|
|
|
|
|
import UiMoney from '../../components/UiMoney.vue';
|
|
|
|
|
import UiEmpty from '../../components/UiEmpty.vue';
|
|
|
|
|
import UiLoading from '../../components/UiLoading.vue';
|
|
|
|
|
import UIGoodsInfo from '@/components/UIGoodsInfo.vue';
|
|
|
|
|
import UiButton from '@/components/UiButton.vue';
|
|
|
|
|
import UiMoney from '@/components/UiMoney.vue';
|
|
|
|
|
import UiEmpty from '@/components/UiEmpty.vue';
|
|
|
|
|
import UiLoading from '@/components/UiLoading.vue';
|
|
|
|
|
import BsChosen from '@/components/BsChosen.vue';
|
|
|
|
|
export default {
|
|
|
|
|
components: { UIGoodsInfo, UiButton, UiMoney, UiEmpty, UiLoading },
|
|
|
|
|
components: { UIGoodsInfo, UiButton, UiMoney, UiEmpty, UiLoading, BsChosen },
|
|
|
|
|
data(){
|
|
|
|
|
return {
|
|
|
|
|
isLoading : false,
|
|
|
|
@ -104,7 +106,6 @@ export default {
|
|
|
|
|
tempPrice += unitPrice * (item.number || 0)
|
|
|
|
|
});
|
|
|
|
|
return (tempPrice / 100).toFixed(2);
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
// 正常可结算的商品
|
|
|
|
|
normalList(){
|
|
|
|
@ -276,6 +277,7 @@ export default {
|
|
|
|
|
td{
|
|
|
|
|
text-align: center;
|
|
|
|
|
padding: 40px 0;
|
|
|
|
|
border-bottom: 1px solid #ddd;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.operation{
|
|
|
|
|