update:字典优化

This commit is contained in:
2025-12-04 16:06:14 +08:00
parent 2382198ad1
commit 85e534c495
4 changed files with 86 additions and 46 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="comp-content">
<TreeTable :tableName="tableName" :data="treeData" v-bind="$attrs" >
<TreeTable :tableName="tableName" :data="treeData" v-bind="$attrs">
<template #nodeType="{ row }">
{{ allNodeTypeMap[row.nodeType] }}
</template>
@@ -9,13 +9,17 @@
</template>
<template #nodeName="{ row }">
<div class="node-name">
<el-icon v-if="row.nodeType === NODE_TYPE.TASK" :size="16" class="blue"><Document /></el-icon>
<el-icon v-else-if="row.nodeType === NODE_TYPE.PERFORMANCE" :size="16" class="blue"><Operation /></el-icon>
<el-icon v-if="row.nodeType === NODE_TYPE.TASK" :size="16" class="blue">
<Document />
</el-icon>
<el-icon v-else-if="row.nodeType === NODE_TYPE.PERFORMANCE" :size="16" class="blue">
<Operation />
</el-icon>
<el-icon v-else :size="16" class="blue"><Folder /></el-icon>
<span class="name">{{ row.nodeName }}</span>
</div>
</template>
<template v-for="(name) in Object.keys($slots)" :key="name" #[name]="scope">
<template v-for="name in Object.keys($slots)" :key="name" #[name]="scope">
<slot :name="name" v-bind="scope" />
</template>
</TreeTable>
@@ -44,9 +48,12 @@ const props = withDefaults(defineProps<Props>(), {
const treeData = ref<any>([]);
watch(() => props.data, (val: any) => {
treeData.value = treeDataFormatFun(val, [], '0');
});
watch(
() => props.data,
(val: any) => {
treeData.value = treeDataFormatFun(val, [], '0');
}
);
const treeDataFormatFun = (data: any, build: any, pId: any) => {
data.forEach((item: any) => {