Commit 30fd569d authored by xuguangxing's avatar xuguangxing

feat: 支持批量sku去重,并优化商品信息赋值的问题

parent 2e1b3e23
...@@ -69,6 +69,11 @@ export default { ...@@ -69,6 +69,11 @@ export default {
this.data = data; this.data = data;
}, },
async getGoods(params) { async getGoods(params) {
let prevDataArr = this.data && this.data.data ? JSON.parse(JSON.stringify(this.data.data)) : [];
let skuToInfoMaps = {};
for (let i = 0; i < prevDataArr.length; i++) {
skuToInfoMaps[prevDataArr[i].skuNo] = prevDataArr[i];
}
const res = await operationApi.getGoods(params); const res = await operationApi.getGoods(params);
try { try {
let goodsList = res.skus || []; let goodsList = res.skus || [];
...@@ -82,7 +87,10 @@ export default { ...@@ -82,7 +87,10 @@ export default {
item.img = goodsList[i].skuUrl; item.img = goodsList[i].skuUrl;
item.subtitle = ''; item.subtitle = '';
item.status = goodsList[i].status; item.status = goodsList[i].status;
arr.push(item) if (skuToInfoMaps[goodsList[i].skuNo]) {
item = Object.assign({}, skuToInfoMaps[goodsList[i].skuNo])
};
arr.push(item);
} }
this.$set(this.data, 'data', arr); this.$set(this.data, 'data', arr);
} else { } else {
...@@ -104,7 +112,7 @@ export default { ...@@ -104,7 +112,7 @@ export default {
return; return;
} }
this.getGoods({ this.getGoods({
skus skus: Array.from(new Set(skus))
}); });
} }
}, },
......
...@@ -82,6 +82,11 @@ export default { ...@@ -82,6 +82,11 @@ export default {
this.data = data; this.data = data;
}, },
async getGoods(params) { async getGoods(params) {
let prevDataArr = this.data && this.data.data ? JSON.parse(JSON.stringify(this.data.data)) : [];
let skuToInfoMaps = {};
for (let i = 0; i < prevDataArr.length; i++) {
skuToInfoMaps[prevDataArr[i].skuNo] = prevDataArr[i];
}
const res = await operationApi.getGoods(params); const res = await operationApi.getGoods(params);
try { try {
let goodsList = res.skus || []; let goodsList = res.skus || [];
...@@ -98,7 +103,10 @@ export default { ...@@ -98,7 +103,10 @@ export default {
item.tagColor = ''; item.tagColor = '';
item.tagBgImg = ''; item.tagBgImg = '';
item.status = goodsList[i].status; item.status = goodsList[i].status;
arr.push(item) if (skuToInfoMaps[goodsList[i].skuNo]) {
item = Object.assign({}, skuToInfoMaps[goodsList[i].skuNo])
};
arr.push(item);
} }
this.$set(this.data, 'data', arr); this.$set(this.data, 'data', arr);
} else { } else {
...@@ -120,7 +128,7 @@ export default { ...@@ -120,7 +128,7 @@ export default {
return; return;
} }
this.getGoods({ this.getGoods({
skus skus: Array.from(new Set(skus))
}); });
} }
}, },
......
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