From 09909552bc158a3677410a5cc0592d1239f1686b Mon Sep 17 00:00:00 2001 From: "X1627315083@163.com" <1627315083@qq.com> Date: Tue, 12 May 2026 13:27:30 +0800 Subject: [PATCH] =?UTF-8?q?digital=20=E8=BF=87=E6=BB=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/digital/pullIcon.svg | 5 ++ src/components/checked.vue | 29 +++++++- src/views/digitalItem/commodity-list.vue | 40 +++-------- src/views/digitalItem/index.vue | 89 +++++++++++++++++++++++- src/views/digitalItem/merchant-info.vue | 16 ++--- 5 files changed, 133 insertions(+), 46 deletions(-) create mode 100644 src/assets/icons/digital/pullIcon.svg diff --git a/src/assets/icons/digital/pullIcon.svg b/src/assets/icons/digital/pullIcon.svg new file mode 100644 index 0000000..8275dbf --- /dev/null +++ b/src/assets/icons/digital/pullIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/checked.vue b/src/components/checked.vue index 4954620..e55331f 100644 --- a/src/components/checked.vue +++ b/src/components/checked.vue @@ -14,11 +14,23 @@ const emit = defineEmits([ 'update:selected' ]) const checkList = computed(()=>{ - return [props.selected] + if(props.selected[0] === ''){ + return props.list.map(item => item.value) + }else{ + return [...props.selected] + } }) const handleChange = (val) => { - if (val.length > 1) { - emit('update:selected', val[val.length - 1]) + emit('update:selected', val) +} +const checkAll = computed(()=>{ + return checkList.value.length === props.list.length +}) +const handleCheckAllChange = (val) => { + if(val){ + emit('update:selected', props.list.map(item => item.value)) + }else{ + emit('update:selected', []) } } let data = reactive({ @@ -31,6 +43,14 @@ defineExpose({}) const {} = toRefs(data);