增加可选套餐的取消选择逻辑

main
RogerWork 1 week ago
parent edec8eafd2
commit 1061fbbfd9
  1. 43
      src/components/ec_api/CinemaGoods.vue
  2. 5
      src/components/ec_api/PackageSelector.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, () => {
</el-checkbox-group>
</el-form-item>
</el-form>
<PackageSelector v-if="goodsDialogVisible" @get_detail="getOptionalPackageDetail" :is_show="goodsDialogVisible"
<PackageSelector v-if="goodsDialogVisible" @get_detail="getOptionalPackageDetail"
@remove_package="removeOptionalPackage" :is_show="goodsDialogVisible"
:package="optionalPackageInfo"></PackageSelector>
<GoodsDiscount v-if="discountDialogVisible" @get_discount="getDiscountDetail" :is_show="discountDialogVisible"
:goods_array="selectGoods"></GoodsDiscount>

@ -53,6 +53,10 @@ function finish() {
}
}
function cancel() {
emit('remove_package', props.package)
}
//
function beforeClose(done) {
if (!checkResult()) {
@ -106,6 +110,7 @@ onBeforeMount(() => {
</el-tabs>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="finish">完成</el-button>
</div>
</template>

Loading…
Cancel
Save