This commit is contained in:
2020-06-30 18:06:50 +08:00
parent c7136c2c11
commit dc69746320
21 changed files with 471 additions and 1315 deletions

View File

@@ -18,7 +18,7 @@
<view class="name u-line-2">{{ goods.goods_name }}</view>
<view class="cart-info">
<view class="price">{{ goods.goods_price }}</view>
<u-number-box :input-width="38" :input-height="39" :size="22" bg-color="#FFFFFF" color="#FF780F" :index="g_index" @minus="reduce($event, s_index)" @plus="plus($event, s_index)" v-model="goods.goods_num"></u-number-box>
<u-number-box :input-width="38" :input-height="39" :size="22" bg-color="#FFFFFF" :disabled-input=true color="#FF780F" :index="goods.cart_id" @minus="reduce" @plus="plus" v-model="goods.goods_num"></u-number-box>
</view>
</view>
</view>
@@ -36,7 +36,7 @@
<view class="title">合计</view>
<view class="value">{{ totalPrice }}</view>
</view>
<view class="cart-btn" v-if="status == '编辑'" @click="settlement">结算</view>
<view class="cart-btn" v-if="status == '编辑'" @click="settlementOrder">结算</view>
<view class="delete-btn" v-if="status == '完成'" @click="deleteGoods">删除</view>
<u-toast ref="uToast" />
</view>
@@ -63,8 +63,9 @@ export default {
})
checkedGoods = checkedGoods.concat(temp);
})
console.log(checkedGoods);
// console.log(checkedGoods);
this.checkedGoods = checkedGoods;
this.calculatePrice();
},
deep: true
}
@@ -73,14 +74,45 @@ export default {
this.getCartList();
},
methods: {
// 计算价格
calculatePrice() {
// console.log(this.checkedGoods);
let temp = 0;
this.checkedGoods.forEach(item => {
temp += item.goods_num * (item.goods_price * 100) / 100;
})
this.totalPrice = temp.toFixed(2);
},
// 结算
settlementOrder() {
let id = [], temp = '';
this.checkedGoods.forEach(item => {
temp = item.cart_id + '|' + item.goods_num;
id.push(temp);
temp = '';
})
// console.log(id);
this.$u.api.settlementOrder({ cart_id: id }).then(res => {
if(res.errCode == 0) {
this.$u.route({
url: '/pageC/cart/ConfirmOrder',
params: {
info: JSON.stringify(res.data),
}
})
}
})
},
getCartList() {
this.$u.api.getCartTreeList().then((res)=>{
this.$u.api.getCartTreeList().then(res => {
if (res.errCode == 0) {
let list = res.data.store_cart_list;
list.forEach(item => {
Object.assign(item, { checked: false });
item.goods.forEach(goods => {
Object.assign(goods, { checked: false });
list.forEach((item, l_index) => {
// 判断有无 checked 属性,如果有取值再赋值, 没有给默认值 false
Object.assign(item, { checked: this.list.length ? this.list[l_index].checked : false });
item.goods.forEach((goods, g_index) => {
Object.assign(goods, { checked: this.list.length ? this.list[l_index].goods[g_index].checked : false });
})
})
// console.log(list);
@@ -95,7 +127,6 @@ export default {
id.push(item.cart_id);
})
// console.log(id);
this.$u.api.deleteCart({ id }).then(res => {
if (res.errCode == 0) {
if(!res.data.msg) {
@@ -109,16 +140,23 @@ export default {
}
})
},
reduce(value, store) {
console.log(value, store)
reduce(e) {
this.cartUpdateNumber(e.index, e.value);
},
plus(value, store) {
console.log(value, store)
plus(e) {
this.cartUpdateNumber(e.index, e.value);
},
settlement() {
uni.navigateTo({
url: './ConfirmOrder'
});
async cartUpdateNumber(id, number) {
try {
await this.$u.api.cartUpdateNumber({
cart_id: id,
quantity: number,
}).then(res => {
this.getCartList();
})
} catch (error) {
this.getCartList();
}
},
totalChange(e) {
// 切换所有商品的状态
@@ -171,7 +209,6 @@ export default {
// #ifdef APP-PLUS
let currentWebview = page.$getAppWebview();
let titleObj = currentWebview.getStyle().titleNView;
console.log(1);
console.log(JSON.stringify(titleObj.buttons[0]));
if (!titleObj.buttons) {
return;