套餐优化

This commit is contained in:
duan 2024-12-05 11:23:39 +08:00
parent 9df5bc0e46
commit de90f1249e
1 changed files with 19 additions and 13 deletions

View File

@ -8,7 +8,7 @@
style="color:#999">({{item.count}}{{item.number}})</text> </view>
</view>
<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">
{{skd.proName}}
</view>
@ -62,7 +62,6 @@
title: "",
price: "",
skus: [],
selectData: [],
// ,
selectNumber: 0,
})
@ -80,6 +79,9 @@
// return props.skuMap[selSku.value]
// })
watch(() => props.goodsData, (newval) => {
newval.proGroupVo.forEach(ele => {
ele.selectData = []
})
datas.item = newval
datas.title = newval.name
datas.price = newval.price
@ -90,22 +92,23 @@
})
const emits = defineEmits(['confirm', 'updateSku'])
let number = ref(1)
function chooseSkd(skd, number) {
if (datas.selectData.includes(skd.proId)) {
function chooseSkd(skd, item) {
if (item.selectData.includes(skd.proId)) {
skd.select = false
let indexs = datas.selectData.indexOf(skd.proId)
datas.selectData.splice(indexs, 1)
let indexs = item.selectData.indexOf(skd.proId)
item.selectData.splice(indexs, 1)
} else {
if (datas.selectData.length < number) {
if (item.selectData.length < item.number) {
skd.select = true
datas.selectData.push(skd.proId)
item.selectData.push(skd.proId)
}
}
}
const model = ref(null)
function open() {
@ -118,10 +121,13 @@
const instance = getCurrentInstance();
function confirm() {
console.log(datas.selectData.length)
console.log(datas.selectNumber,'调试1111')
if (datas.selectData.length == datas.selectNumber) {
emits('confirm', datas.selectData,datas.item)
//
let arr = []
datas.item.proGroupVo.forEach(ele => {
arr.push(...ele.selectData)
})
if (arr.length == datas.selectNumber) {
emits('confirm', arr, datas.item)
close()
} else {
instance.ctx.$refs.popup.open()