From 0120f3b3ac52f0f881fbabcf8000a264d058d66e Mon Sep 17 00:00:00 2001 From: wanghaohao Date: Thu, 4 Dec 2025 17:40:11 +0800 Subject: [PATCH] edit tag component data init --- .../src/views/scriptLibrary/form/editTag.vue | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/automation/web/src/views/scriptLibrary/form/editTag.vue b/automation/web/src/views/scriptLibrary/form/editTag.vue index f88588d7..285ee13a 100644 --- a/automation/web/src/views/scriptLibrary/form/editTag.vue +++ b/automation/web/src/views/scriptLibrary/form/editTag.vue @@ -22,6 +22,8 @@ import { ElMessage } from 'element-plus' const props = defineProps<{ scriptData: any }>() +const radioProps = { value: 'id', label: 'name' } + const emit = defineEmits<{ update: [] close: [] @@ -30,6 +32,37 @@ const emit = defineEmits<{ const checkedCities = ref('') const cities = ref([]) + +// 获取标签列表 +const getList = async () => { + try { + const res = await tagList() + if (res.data.code === 200 && res.data.data) { + cities.value = res.data.data + // 初始化已选标签 + initSelectedTags() + } + } catch (error) { + console.error('获取标签列表失败:', error) + } +} + +// 初始化已选标签 + const initSelectedTags = () => { + console.log('[ props.scriptData ] >', props.scriptData) + if (props.scriptData && props.scriptData.tag ) { + // 单选只取第一个标签的id + checkedCities.value = props.scriptData.tag.id + } + } + +// 监听脚本数据变化 +watch(() => props.scriptData, () => { + if (cities.value) { + initSelectedTags() + } +}, { deep: true }) + // 提交表单 const onSubmit = async() => { try { @@ -64,6 +97,9 @@ const onReset = () => { emit('close') } +onMounted(() => { + getList() +})