diff --git a/apps/web-ele/src/views/mall/promotion/components/diy-editor/index.vue b/apps/web-ele/src/views/mall/promotion/components/diy-editor/index.vue index 0995bd5b5..ef117cff8 100644 --- a/apps/web-ele/src/views/mall/promotion/components/diy-editor/index.vue +++ b/apps/web-ele/src/views/mall/promotion/components/diy-editor/index.vue @@ -3,7 +3,7 @@ import type { DiyComponent, DiyComponentLibrary, PageConfig } from './util'; import { onMounted, ref, unref, watch } from 'vue'; -import { IFrame } from '@vben/common-ui'; +import { useVbenModal } from '@vben/common-ui'; import { IconifyIcon } from '@vben/icons'; import { cloneDeep, isEmpty, isString } from '@vben/utils'; @@ -12,8 +12,8 @@ import { ElAside, ElCard, ElContainer, - ElDialog, ElHeader, + ElImage, ElScrollbar, ElTag, ElText, @@ -46,7 +46,7 @@ const props = defineProps({ previewUrl: { type: String, default: '' }, // 预览地址:提供了预览地址,才会显示预览按钮 }); -const emits = defineEmits(['reset', 'preview', 'save', 'update:modelValue']); // 工具栏操作 +const emits = defineEmits(['reset', 'save', 'update:modelValue']); // 工具栏操作 const qrcode = useQRCode(props.previewUrl, { errorCorrectionLevel: 'H', @@ -260,12 +260,17 @@ function handleReset() { emits('reset'); } -// TODO @AI:搞成 modal 来? +const [PreviewModal, previewModalApi] = useVbenModal({ + showConfirmButton: false, + showCancelButton: false, + onCancel() { + previewModalApi.close(); + }, +}); + /** 预览 */ -const previewDialogVisible = ref(false); function handlePreview() { - previewDialogVisible.value = true; - emits('preview'); + previewModalApi.open(); } /** 设置默认选中的组件 */ @@ -302,6 +307,7 @@ onMounted(() => {