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

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) { function numChange(goods_id, goods_num) {
let find_in_select = false
selectGoods.value.forEach((goods) => { selectGoods.value.forEach((goods) => {
if (goods.id === goods_id) { if (goods.id === goods_id) {
find_in_select = true
goods['buy_num'] = goods_num 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() handle_set_user_data()
} }
@ -119,18 +132,31 @@ const getOptionalPackageDetail = (select) => {
handle_set_user_data() 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) => { const getDiscountDetail = (discount) => {
console.log('getDiscountDetail', discount) console.log('getDiscountDetail', discount)
discountDialogVisible.value = false discountDialogVisible.value = false
discount.forEach((item) => { discount.forEach((item) => {
selectGoods.value.forEach((select) => { selectGoods.value.forEach((select) => {
if (select.id === discount.id) { if (select.id === discount.id) {
select.discount1 = item.discount1 select.discount1 = item.discount1
select.discount2 = item.discount2 select.discount2 = item.discount2
} }
}) })
}) })
console.log('getDiscountDetail-selectGoods.value', selectGoods.value) console.log('getDiscountDetail-selectGoods.value', selectGoods.value)
handle_set_user_data() handle_set_user_data()
} }
@ -210,7 +236,8 @@ watch(() => selectGoods.value, () => {
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-form> </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> :package="optionalPackageInfo"></PackageSelector>
<GoodsDiscount v-if="discountDialogVisible" @get_discount="getDiscountDetail" :is_show="discountDialogVisible" <GoodsDiscount v-if="discountDialogVisible" @get_discount="getDiscountDetail" :is_show="discountDialogVisible"
:goods_array="selectGoods"></GoodsDiscount> :goods_array="selectGoods"></GoodsDiscount>

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

Loading…
Cancel
Save