套餐优化
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user