feat: design界面printboard选择generate时可从Library选择图片

This commit is contained in:
zhangyh
2025-09-23 13:41:07 +08:00
parent 21f569a0ac
commit 12ca8f0eb0
2 changed files with 108 additions and 25 deletions

View File

@@ -102,6 +102,14 @@ const props = defineProps({
isLibrary: {
type: Boolean,
default: false
},
radio: {
type: Boolean,
default: false
},
fullData: {
type: Boolean,
default: false
}
})
@@ -236,11 +244,18 @@ watch(
// 处理图片点击
const handleImageClick = item => {
// 已选中,取消选中
if (selectList.value.includes(item.url)) {
selectList.value = selectList.value.filter(url => url !== item.url)
const isSelected = selectList.value.includes(item.url)
if (props.radio) {
// 单选模式:选中当前图片或取消选中
selectList.value = isSelected ? [] : [item.url]
} else {
selectList.value.push(item.url)
// 多选模式:切换选中状态
if (isSelected) {
selectList.value = selectList.value.filter(url => url !== item.url)
} else {
selectList.value.push(item.url)
}
}
}
@@ -262,7 +277,15 @@ const handleImageError = event => {
}
const confirm = () => {
emits('select', selectList.value)
// console.log('selectList.value',selectList.value,'list.value',list.value)
let emitData = null
if (props.fullData) {
const selected = list.value.filter(item => selectList.value.includes(item.url))
emitData = props.radio ? selected[0] : selected
} else {
emitData = selectList.value
}
emits('select', emitData)
showPanel.value = false
}