From 1061fbbfd92ecc0abc3f3177eb654303a6baaca5 Mon Sep 17 00:00:00 2001 From: RogerWork Date: Thu, 13 Feb 2025 18:36:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=AF=E9=80=89=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E7=9A=84=E5=8F=96=E6=B6=88=E9=80=89=E6=8B=A9=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ec_api/CinemaGoods.vue | 43 ++++++++++++++++++----- src/components/ec_api/PackageSelector.vue | 5 +++ 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/components/ec_api/CinemaGoods.vue b/src/components/ec_api/CinemaGoods.vue index ccad5fb..d476280 100644 --- a/src/components/ec_api/CinemaGoods.vue +++ b/src/components/ec_api/CinemaGoods.vue @@ -95,11 +95,24 @@ function openOptionalPackageDialog(goods_type, goods_info) { // 调整卖品数量 function numChange(goods_id, goods_num) { + let find_in_select = false selectGoods.value.forEach((goods) => { if (goods.id === goods_id) { + find_in_select = true goods['buy_num'] = goods_num } }) + if (find_in_select === false) { + goodsList.forEach((item) => { + if (item['id'] === goods_id) { + selectGoods.value.push(item) + console.log('可选套餐', item) + if (item['show_type'] === '可选套餐') { + openOptionalPackageDialog(item['show_type'], item) + } + } + }) + } handle_set_user_data() } @@ -119,18 +132,31 @@ const getOptionalPackageDetail = (select) => { handle_set_user_data() } +// 子组件给父组件传参的回调函数 +const removeOptionalPackage = (select) => { + console.log('getOptionalPackageDetail', select) + goodsDialogVisible.value = false + + const g_index = selectGoods.value.indexOf(select) + console.log('g_index', g_index) + selectGoods.value.splice(g_index,1) + console.log('select', select) + console.log('removeOptionalPackage', selectGoods.value) + handle_set_user_data() +} + // 获取卖品折扣子组件的函数 const getDiscountDetail = (discount) => { console.log('getDiscountDetail', discount) discountDialogVisible.value = false discount.forEach((item) => { - selectGoods.value.forEach((select) => { - if (select.id === discount.id) { - select.discount1 = item.discount1 - select.discount2 = item.discount2 - } - }) - }) + selectGoods.value.forEach((select) => { + if (select.id === discount.id) { + select.discount1 = item.discount1 + select.discount2 = item.discount2 + } + }) + }) console.log('getDiscountDetail-selectGoods.value', selectGoods.value) handle_set_user_data() } @@ -210,7 +236,8 @@ watch(() => selectGoods.value, () => { - diff --git a/src/components/ec_api/PackageSelector.vue b/src/components/ec_api/PackageSelector.vue index 1aaba92..35b5101 100644 --- a/src/components/ec_api/PackageSelector.vue +++ b/src/components/ec_api/PackageSelector.vue @@ -53,6 +53,10 @@ function finish() { } } +function cancel() { + emit('remove_package', props.package) +} + // 点击关闭按键前的处理 function beforeClose(done) { if (!checkResult()) { @@ -106,6 +110,7 @@ onBeforeMount(() => {