diff --git a/src/views/property-marketing/assignment-management/components/draw-popup.vue b/src/views/property-marketing/assignment-management/components/draw-popup.vue index 8f20763..e55ae2d 100644 --- a/src/views/property-marketing/assignment-management/components/draw-popup.vue +++ b/src/views/property-marketing/assignment-management/components/draw-popup.vue @@ -73,14 +73,36 @@
- {{ item }} + {{ item.name || item.title || item }} +
-
+
+
@@ -199,7 +221,7 @@ import { getWorksPage } from '@/api/all/generationWorkshop.ts'; import { ref, reactive, watch, nextTick } from 'vue'; import aiIcon from '@/assets/img/media-account/icon-AI.png'; -import { SwapOutlined, DeleteOutlined } from '@ant-design/icons-vue'; +import { SwapOutlined, DeleteOutlined, CloseOutlined } from '@ant-design/icons-vue'; import { Button, DatePicker, TimePicker } from 'ant-design-vue'; import { TABS_LIST, ORIGIN_LIST, RawMaterialType } from '@/views/material-center/components/raw-material/constants'; import dayjs from 'dayjs'; @@ -368,6 +390,30 @@ const handleDelte = () => { images: [], }; }; + +// 删除文本项 +const handleDeleteText = (id) => { + selectedMaterials.value.texts = selectedMaterials.value.texts.filter((item) => item !== id); + selectedMaterials.value.keys = selectedMaterials.value.keys.filter((key) => key !== id); + + // 更新hasChoseMaterial状态 + updateHasChoseMaterial(); +}; + +// 删除图片项 +const handleDeleteImage = (id) => { + selectedMaterials.value.images = selectedMaterials.value.images.filter((item) => item.id !== id); + selectedMaterials.value.keys = selectedMaterials.value.keys.filter((key) => key !== id); + + // 更新hasChoseMaterial状态 + updateHasChoseMaterial(); +}; + +// 更新hasChoseMaterial状态 +const updateHasChoseMaterial = () => { + hasChoseMaterial.value = selectedMaterials.value.texts.length > 0 || selectedMaterials.value.images.length > 0; +}; + // 处理原料库选择确认 const handleMaterialConfirm = (result) => { console.log('handleMaterialConfirm', result); @@ -378,6 +424,28 @@ const handleMaterialConfirm = (result) => { images: result.choseImgArray, texts: result.selectedTexts || [], }; + + // 为每个文本项添加showDelete属性(如果它们是对象) + if (selectedMaterials.value.texts.length > 0 && typeof selectedMaterials.value.texts[0] === 'object') { + selectedMaterials.value.texts = selectedMaterials.value.texts.map((text) => ({ + ...text, + showDelete: false, + })); + } else { + // 如果是字符串,则包装成对象 + selectedMaterials.value.texts = selectedMaterials.value.texts.map((text, index) => ({ + id: `text_${index}`, + name: text, + showDelete: false, + })); + } + + // 为每个图片项添加showDelete属性 + selectedMaterials.value.images = selectedMaterials.value.images.map((image) => ({ + ...image, + showDelete: false, + })); + hasChoseMaterial.value = result.selectedKeys.length > 0; };