From f4d8058fce21e096338f48db2d6e34124e9fa914 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Fri, 10 Feb 2023 11:46:12 +0800 Subject: [PATCH] select_product --- src/components/goods-item/goods-item.vue | 18 +++++++++- src/pageB/select_product/index.vue | 46 ++++++++++++++++-------- src/pageB/select_product/search.vue | 38 +++++++++++--------- src/pageB/select_store/index.vue | 4 +-- 4 files changed, 72 insertions(+), 34 deletions(-) diff --git a/src/components/goods-item/goods-item.vue b/src/components/goods-item/goods-item.vue index 107e481..1436a10 100644 --- a/src/components/goods-item/goods-item.vue +++ b/src/components/goods-item/goods-item.vue @@ -1,5 +1,5 @@ diff --git a/src/pageB/select_product/search.vue b/src/pageB/select_product/search.vue index 6e38d82..02fa8d4 100644 --- a/src/pageB/select_product/search.vue +++ b/src/pageB/select_product/search.vue @@ -41,12 +41,12 @@ @@ -58,7 +58,7 @@ :key="productId" :loading="loading" :specs="specs" - :sku="detail" + :sku="sku" v-model="show" :quota-used="number" :show-cart="popupType == 1 || popupType == 0" @@ -66,6 +66,7 @@ :show-confirm="popupType == 3" @add-cart="onAddCart" @stepper-change="onChangeNumber" + @sku-selected="handleSkuSelect" > @@ -84,10 +85,12 @@ export default { mixins: [MescrollMixin], data() { return { + mid: '',// 店铺 id + category: '',// 分类 id + searchText: '',// 搜索关键字 + sku: {},// 当前选择的sku key: 0, sort: '', //price 价格,sales 销量,release_at 上架时间。示例:price 按价格升序,-price 按价格降序 - searchText: '', - category: '', loading: false, popupType: 1, number: 1, @@ -111,17 +114,15 @@ export default { specs() { return this.products?.spu_specs ?? []; }, - detail() { - return this.products?.sku ?? {}; - }, height() { const { windowHeight, statusBarHeight } = this.$u.sys(); return windowHeight - statusBarHeight - 44 + 'px'; }, }, - onLoad({ searchText, category }) { - this.searchText = searchText; - this.category = category; + onLoad(e) { + this.searchText = e.keywords; + this.category = e.cid; + this.mid = e.mid; }, methods: { Change(e) { @@ -154,6 +155,7 @@ export default { const resData = await this.$api.get(`/v1/product/products/${this.productId}`); this.products = resData; this.skuId = this.products?.sku.id; + this.sku = this.products?.sku } catch (error) { console.log(error); } finally { @@ -169,17 +171,15 @@ export default { this.loadData(page); }, loadData(page) { - let obj = { + let params = { page: page.num, per_page: page.size, category: this.category, keyword: this.searchText, sort: this.sort, }; - this.$api - .get(`/v1/product/products`, { - params: obj, - }) + let url = this.mid ? `/v1/store/${this.mid}/product-spus` : `/v1/product/products` + this.$api.get(url, { params }) .then((res) => { this.mescroll.endSuccess(res.data.length); if (page.num == 1) this.dataList = []; @@ -215,6 +215,12 @@ export default { this.key++; }); }, + // 选择sku, 更新价格 + handleSkuSelect(e) { + this.$api.get(`/v1/store/${this.mid}/product-sku/${e.sku_id}`).then(res => { + this.sku = res + }) + } }, }; diff --git a/src/pageB/select_store/index.vue b/src/pageB/select_store/index.vue index 52c00c9..777be6d 100644 --- a/src/pageB/select_store/index.vue +++ b/src/pageB/select_store/index.vue @@ -5,7 +5,7 @@ 线上预约店 - + @@ -16,7 +16,7 @@