套餐优化

This commit is contained in:
duan
2024-12-05 11:23:39 +08:00
parent 9df5bc0e46
commit de90f1249e

View File

@@ -8,7 +8,7 @@
style="color:#999">({{item.count}}{{item.number}})</text> </view> style="color:#999">({{item.count}}{{item.number}})</text> </view>
</view> </view>
<view class="u-flex u-m-t-20 u-flex-wrap"> <view class="u-flex u-m-t-20 u-flex-wrap">
<view class="item" @tap="chooseSkd(skd,item.number)" :class="{active:skd.select==true}" <view class="item" @tap="chooseSkd(skd,item)" :class="{active:skd.select==true}"
v-for="(skd,skdIndex) in item.goods" :key="skdIndex"> v-for="(skd,skdIndex) in item.goods" :key="skdIndex">
{{skd.proName}} {{skd.proName}}
</view> </view>
@@ -62,7 +62,6 @@
title: "", title: "",
price: "", price: "",
skus: [], skus: [],
selectData: [],
// 几选几,的和 // 几选几,的和
selectNumber: 0, selectNumber: 0,
}) })
@@ -80,6 +79,9 @@
// return props.skuMap[selSku.value] // return props.skuMap[selSku.value]
// }) // })
watch(() => props.goodsData, (newval) => { watch(() => props.goodsData, (newval) => {
newval.proGroupVo.forEach(ele => {
ele.selectData = []
})
datas.item = newval datas.item = newval
datas.title = newval.name datas.title = newval.name
datas.price = newval.price datas.price = newval.price
@@ -90,22 +92,23 @@
}) })
const emits = defineEmits(['confirm', 'updateSku']) const emits = defineEmits(['confirm', 'updateSku'])
let number = ref(1)
function chooseSkd(skd, number) { function chooseSkd(skd, item) {
if (datas.selectData.includes(skd.proId)) { if (item.selectData.includes(skd.proId)) {
skd.select = false skd.select = false
let indexs = datas.selectData.indexOf(skd.proId) let indexs = item.selectData.indexOf(skd.proId)
datas.selectData.splice(indexs, 1) item.selectData.splice(indexs, 1)
} else { } else {
if (datas.selectData.length < number) { if (item.selectData.length < item.number) {
skd.select = true skd.select = true
datas.selectData.push(skd.proId) item.selectData.push(skd.proId)
} }
} }
} }
const model = ref(null) const model = ref(null)
function open() { function open() {
@@ -118,10 +121,13 @@
const instance = getCurrentInstance(); const instance = getCurrentInstance();
function confirm() { function confirm() {
console.log(datas.selectData.length) // 将数据保存进对应的值
console.log(datas.selectNumber,'调试1111') let arr = []
if (datas.selectData.length == datas.selectNumber) { datas.item.proGroupVo.forEach(ele => {
emits('confirm', datas.selectData,datas.item) arr.push(...ele.selectData)
})
if (arr.length == datas.selectNumber) {
emits('confirm', arr, datas.item)
close() close()
} else { } else {
instance.ctx.$refs.popup.open() instance.ctx.$refs.popup.open()