From d98bcd875efba625617e9218893bd648a14e101c Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Fri, 19 Jul 2024 08:29:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20:sparkles:=20=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=B7=A6=E4=BE=A7=E8=8F=9C=E5=8D=95=E6=A0=91?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/generator/index.vue | 66 ++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/src/views/generator/index.vue b/src/views/generator/index.vue index 84e29f03..78fc41a3 100644 --- a/src/views/generator/index.vue +++ b/src/views/generator/index.vue @@ -87,7 +87,7 @@
- +
@@ -258,25 +258,6 @@ const cmOptions: EditorConfiguration = { mode: "text/javascript", }; -onMounted(() => { - setTimeout(() => { - cmRef.value?.refresh(); - }, 1000); - - setTimeout(() => { - cmRef.value?.resize(300, 200); - }, 2000); - - setTimeout(() => { - cmRef.value?.cminstance.isClean(); - }, 3000); -}); - -onUnmounted(() => { - handleQuery(); - cmRef.value?.destroy(); -}); - import DatabaseAPI, { TablePageVO, TableColumnVO, @@ -298,12 +279,12 @@ const pageData = ref([]); const tableColumns = ref([]); -interface Tree { +interface TreeNode { label: string; - children?: Tree[]; + children?: TreeNode[]; } -const treeData = ref([ +const treeData = ref([ { label: "Level one 1", children: [ @@ -353,9 +334,14 @@ function handleOpenDialog(type: string, tableName: string) { dialog.visible = true; dialog.type = type; if (type === "preview") { + treeData.value = []; DatabaseAPI.getPreviewData(tableName).then((data) => { dialog.title = `预览 ${tableName}`; code.value = data[0].content; + + for (let i = 0; i < data.length; i++) { + assembleTree(data[i]); + } }); } else if (type === "config") { DatabaseAPI.getTableColumns(tableName).then((data) => { @@ -365,11 +351,41 @@ function handleOpenDialog(type: string, tableName: string) { } } +let autoIncrementKey = 0; +function assembleTree(data: GeneratorPreviewVO) { + const paths: string[] = data.path.split("/"); + let tempChildren: TreeNode[] | undefined = treeData.value; + + for (const path of paths) { + tempChildren = pushDir(tempChildren, { + label: path, + //key: autoIncrementKey++, + children: new Array(), + }); + } + + tempChildren?.push({ + label: data.fileName, + children: new Array(), + }); +} + +const pushDir = (children: TreeNode[] | undefined, treeNode: TreeNode) => { + if (children) { + for (const child of children) { + if (child.label === treeNode.label) { + return child.children; + } + } + } + children?.push(treeNode); + return treeNode.children; +}; + function handleSubmit() {} onMounted(() => { handleQuery(); + cmRef.value?.destroy(); }); - -