代码更新
This commit is contained in:
@@ -36,27 +36,18 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
computed,
|
||||
getCurrentInstance,
|
||||
reactive,
|
||||
ref,
|
||||
watch
|
||||
} from 'vue';
|
||||
import util from '../util.js';
|
||||
import { computed, getCurrentInstance, reactive, ref, watch } from 'vue';
|
||||
import infobox from '@/commons/utils/infoBox.js'
|
||||
import myModel from '@/components/my-components/my-model.vue'
|
||||
import myButton from '@/components/my-components/my-button.vue'
|
||||
import {
|
||||
onShow,
|
||||
} from '@dcloudio/uni-app';
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
const props = defineProps({
|
||||
goodsData: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
})
|
||||
|
||||
const model = ref(null)
|
||||
let datas = reactive({
|
||||
item: "",
|
||||
title: "",
|
||||
@@ -65,34 +56,60 @@
|
||||
// 几选几,的和
|
||||
selectNumber: 0,
|
||||
})
|
||||
|
||||
|
||||
// const selSku = computed(() => {
|
||||
// return props.skus.reduce((prve, cur) => {
|
||||
// prve.push(cur.sel)
|
||||
// return prve
|
||||
// }, []).join()
|
||||
// })
|
||||
|
||||
|
||||
// const goods = computed(() => {
|
||||
// return props.skuMap[selSku.value]
|
||||
// })
|
||||
|
||||
watch(() => props.goodsData, (newval) => {
|
||||
newval.proGroupVo.forEach(ele => {
|
||||
newval.groupSnap.forEach(ele => {
|
||||
ele.selectData = []
|
||||
})
|
||||
datas.item = newval
|
||||
datas.title = newval.name
|
||||
datas.price = newval.price
|
||||
datas.skus = newval.proGroupVo
|
||||
datas.skus.forEach(ele => {
|
||||
datas.skus = newval.groupSnap
|
||||
})
|
||||
|
||||
const selectNumber = computed(() => {
|
||||
return datas.skus.reduce((prve, cur) => {
|
||||
console.log(prve)
|
||||
return 0 + cur.number
|
||||
}, 0)
|
||||
})
|
||||
|
||||
const emits = defineEmits(['confirm', 'updateSku'])
|
||||
const instance = getCurrentInstance();
|
||||
|
||||
function confirm() {
|
||||
// 将数据保存进对应的值
|
||||
let arr = []
|
||||
let arrlength = 0
|
||||
datas.skus.map(ele => {
|
||||
let group = {
|
||||
...ele,
|
||||
goods: [],
|
||||
}
|
||||
if(ele.goods&&ele.goods.length>0){
|
||||
ele.goods.map(item=>{
|
||||
if(item.select){
|
||||
group.goods.push(item)
|
||||
arrlength++
|
||||
}
|
||||
})
|
||||
}
|
||||
arr.push(group)
|
||||
datas.selectNumber += ele.number
|
||||
})
|
||||
})
|
||||
|
||||
const emits = defineEmits(['confirm', 'updateSku'])
|
||||
|
||||
if (arrlength == datas.selectNumber) {
|
||||
emits('confirm', arr, datas.item)
|
||||
close()
|
||||
} else {
|
||||
instance.ctx.$refs.popup.open()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 套餐选择处理
|
||||
* @param {Object} skd
|
||||
* @param {Object} item
|
||||
*/
|
||||
function chooseSkd(skd, item) {
|
||||
if (item.selectData.includes(skd.proId)) {
|
||||
skd.select = false
|
||||
@@ -107,10 +124,6 @@
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
const model = ref(null)
|
||||
|
||||
function open() {
|
||||
model.value.open()
|
||||
}
|
||||
@@ -119,21 +132,7 @@
|
||||
datas.selectNumber = 0
|
||||
model.value.close()
|
||||
}
|
||||
const instance = getCurrentInstance();
|
||||
|
||||
function confirm() {
|
||||
// 将数据保存进对应的值
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
close
|
||||
|
||||
Reference in New Issue
Block a user