显示信息

This commit is contained in:
lq
2025-09-25 14:56:24 +08:00
parent 00a99b6512
commit a6de1defad
2 changed files with 70 additions and 2 deletions

View File

@ -117,7 +117,10 @@
@click="handleDelte" @click="handleDelte"
/> />
</div> </div>
<div class="mb-12px">{{ selectedProducts.data[0].title }}</div> <div class="mb-12px" v-if="selectedProducts.data.length > 0">{{ selectedProducts.data[0].title }}</div>
<div class="mb-12px color-#939499" v-if="selectedProducts.data.length > 0">
{{ selectedProducts.data[0].content }}
</div>
<div v-for="item in selectedProducts.images" :key="item.id"> <div v-for="item in selectedProducts.images" :key="item.id">
<img v-if="item.cover" :src="item.cover" class="w-88 h-88 mr-8px border-rounded-8px mb-12px" /> <img v-if="item.cover" :src="item.cover" class="w-88 h-88 mr-8px border-rounded-8px mb-12px" />
</div> </div>
@ -385,6 +388,7 @@ const handleMaterialCancel = () => {
// 处理成品库选择确认 // 处理成品库选择确认
const handleProductConfirm = (result) => { const handleProductConfirm = (result) => {
console.log('handleProductConfirm', result);
selectedProducts.value = { selectedProducts.value = {
keys: result.selectedKeys, keys: result.selectedKeys,
data: result.selectedData, data: result.selectedData,
@ -448,7 +452,6 @@ const handleCreateTask = () => {
message.error('请选择发布内容'); message.error('请选择发布内容');
return; return;
} }
console.log('有问题已返回');
// 准备提交的数据 // 准备提交的数据
const taskData = { const taskData = {
media_account_id: localQuery.value.ids[0], media_account_id: localQuery.value.ids[0],
@ -484,12 +487,69 @@ const showDrawer = (accountInfo = null, selectedDate = null) => {
} }
}; };
// 新增:编辑任务时的数据回填方法
const fillTaskData = (taskData) => {
// 设置账号信息
if (taskData.media_account) {
nextTick(() => {
localQuery.value.accounts = [taskData.media_account.name];
localQuery.value.ids = [taskData.media_account.id];
});
}
// 设置AI生成或成品库选择
isActive.value = taskData.is_ai_generate ? 'ai' : 'chose';
// 设置任务描述AI生成时
if (taskData.is_ai_generate && taskData.ai_prompt) {
taskDescription.value = taskData.ai_prompt;
}
// 设置发布时间
if (taskData.publish_type === 1 && taskData.execution_time) {
// 定时发布
publishType.value = 'timing';
const execTime = new Date(taskData.execution_time * 1000);
currentDate.value = execTime;
strValue.value = dayjs(execTime).format('HH:mm');
} else {
// 立即发布
publishType.value = 'immediate';
}
// 设置选中的素材AI生成时
if (taskData.is_ai_generate && taskData.raw_materials && taskData.raw_materials.length > 0) {
const materials = taskData.raw_materials;
selectedMaterials.value = {
keys: materials.map((m) => m.id),
data: materials,
text: '',
images: materials.filter((m) => m.type === 0), // 图片
texts: materials.filter((m) => m.type === 2), // 文本
};
hasChoseMaterial.value = materials.length > 0;
}
// 设置选中的成品(成品库选择时)
if (!taskData.is_ai_generate && taskData.work) {
const work = taskData.work;
selectedProducts.value = {
keys: [work.id],
data: [work],
text: work.title || '1个稿件',
images: work.files ? work.files.filter((f) => f.type === 0) : [], // 图片文件
};
hasChoseFinishedProducts.value = true;
}
};
// 定义事件发射器 // 定义事件发射器
const emit = defineEmits(['filter-change', 'create-task']); const emit = defineEmits(['filter-change', 'create-task']);
// 暴露方法 // 暴露方法
defineExpose({ defineExpose({
showDrawer, showDrawer,
fillTaskData, // 暴露新的数据回填方法
}); });
</script> </script>

View File

@ -513,7 +513,15 @@ const handleTaskAction = async (action: string, task: any, ...args: any[]) => {
}; };
const selectedDate = task.execution_time; const selectedDate = task.execution_time;
const date = new Date(selectedDate); const date = new Date(selectedDate);
// 显示抽屉
drawerPopupRef.value.showDrawer(accountInfo, date); drawerPopupRef.value.showDrawer(accountInfo, date);
// 等待抽屉打开后再填充数据
nextTick(() => {
// 直接使用传入的task数据填充表单
drawerPopupRef.value.fillTaskData(task);
});
break; break;
} }
}; };