进一步优化购物车页面
This commit is contained in:
parent
a87f0480c4
commit
85284d0b1c
|
@ -87,34 +87,12 @@ export default {
|
|||
isLogin: "user/isLogin",
|
||||
}),
|
||||
},
|
||||
async onLoad() {
|
||||
onLoad() {
|
||||
if (!this.isLogin) {
|
||||
this.$store.commit("user/showLoginModal", true);
|
||||
return;
|
||||
}
|
||||
await this.$store.dispatch("cart/update");
|
||||
this.list = [];
|
||||
this.cart.list.forEach((item) => {
|
||||
let goods = [];
|
||||
item.good.forEach((v) => {
|
||||
goods.push({
|
||||
id: v.gid,
|
||||
name: v.title,
|
||||
times: v.post_hits,
|
||||
cover: v.thumbnail,
|
||||
price: v.money,
|
||||
number: v.number,
|
||||
checked: false,
|
||||
});
|
||||
});
|
||||
this.list.push({
|
||||
name: item.cate,
|
||||
total: 0,
|
||||
list: goods,
|
||||
checked: false,
|
||||
canUse: false,
|
||||
});
|
||||
});
|
||||
this.initPage();
|
||||
},
|
||||
onShow() {},
|
||||
onReady() {},
|
||||
|
@ -123,6 +101,37 @@ export default {
|
|||
onShareTimeline() {},
|
||||
onShareAppMessage() {},
|
||||
methods: {
|
||||
/**
|
||||
* 初始化页面
|
||||
*/
|
||||
async initPage(e) {
|
||||
await this.$store.dispatch("cart/update");
|
||||
this.list = [];
|
||||
this.cart.list.forEach((item) => {
|
||||
let goods = [];
|
||||
item.good.forEach((v) => {
|
||||
goods.push({
|
||||
id: v.gid,
|
||||
name: v.title,
|
||||
times: v.post_hits,
|
||||
cover: v.thumbnail,
|
||||
price: v.money,
|
||||
number: v.number,
|
||||
checked: false,
|
||||
});
|
||||
});
|
||||
this.list.push({
|
||||
name: item.cate,
|
||||
total: 0,
|
||||
list: goods,
|
||||
checked: false,
|
||||
canUse: false,
|
||||
});
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 选中组
|
||||
*/
|
||||
checkGroup(parentIndex) {
|
||||
let currentItem = this.list[parentIndex];
|
||||
let currentState = !currentItem.checked;
|
||||
|
@ -130,7 +139,9 @@ export default {
|
|||
this.checkItem(parentIndex, itemIndex, currentState);
|
||||
});
|
||||
},
|
||||
// 选中单项
|
||||
/**
|
||||
* 选中单项
|
||||
*/
|
||||
checkItem(parentIndex, itemIndex, state) {
|
||||
let currentItem = this.list[parentIndex].list[itemIndex];
|
||||
let currentState = typeof state === "undefined" ? !currentItem.checked : state;
|
||||
|
@ -198,7 +209,6 @@ export default {
|
|||
for (let i = 0; i < itemIndexes.length; i++) {
|
||||
let currentItem = parentItem.list[itemIndexes[i]];
|
||||
await that.$models.cart.delete(currentItem.id).then(() => {
|
||||
that.$store.dispatch("cart/update", true);
|
||||
parentItem.list.splice(itemIndexes[i], 1);
|
||||
if (parentItem.list.length > 0) {
|
||||
that.updateTotal(parentIndex);
|
||||
|
@ -207,6 +217,14 @@ export default {
|
|||
}
|
||||
});
|
||||
}
|
||||
let hasChecked = false;
|
||||
parentItem.list.forEach((item) => {
|
||||
if (item.checked) {
|
||||
hasChecked = true;
|
||||
}
|
||||
});
|
||||
parentItem.canUse = hasChecked;
|
||||
that.$store.dispatch("cart/update", true);
|
||||
},
|
||||
});
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue