mirror of
https://github.com/continew-org/continew-admin-ui.git
synced 2025-09-09 20:57:17 +08:00
style: 优化代码生成预览样式
This commit is contained in:
@@ -1,18 +1,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-modal
|
<a-modal
|
||||||
v-model:visible="visible"
|
v-model:visible="visible"
|
||||||
:title="`生成 ${previewTableName} 表预览`"
|
|
||||||
:mask-closable="false"
|
|
||||||
:esc-to-close="false"
|
|
||||||
width="90%"
|
width="90%"
|
||||||
draggable
|
draggable
|
||||||
:footer="false"
|
:footer="false"
|
||||||
>
|
>
|
||||||
|
<template #title>
|
||||||
|
{{ `生成 ${previewTableName} 表预览` }}
|
||||||
|
<a-link style="margin-left: 10px" icon @click="gen">下载源码</a-link>
|
||||||
|
</template>
|
||||||
<div class="preview-content">
|
<div class="preview-content">
|
||||||
<a-layout :has-sider="true">
|
<a-layout :has-sider="true">
|
||||||
<a-layout-sider theme="dark" style="max-width:600px;height: 700px" :resize-directions="['right']" :width="500">
|
<a-layout-sider theme="dark" style="max-width:600px; height: 700px" :resize-directions="['right']" :width="370">
|
||||||
<a-tree ref="treeRef" class="selectPreview"
|
<a-tree
|
||||||
|
ref="treeRef" class="selectPreview"
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
|
:selectable="(node, info) => info.isLeaf"
|
||||||
default-expand-all
|
default-expand-all
|
||||||
@select="onSelectPreview"
|
@select="onSelectPreview"
|
||||||
>
|
>
|
||||||
@@ -21,33 +24,33 @@
|
|||||||
<GiSvgIcon v-if="!node.isLeaf && node.expanded" :size="16" name="directory-open-blue" />
|
<GiSvgIcon v-if="!node.isLeaf && node.expanded" :size="16" name="directory-open-blue" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.java')" :size="16" name="file-java" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.java')" :size="16" name="file-java" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.vue')" :size="16" name="file-vue" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.vue')" :size="16" name="file-vue" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.ts')" :size="16" name="file-typescript" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.ts')" :size="16"
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.js')" :size="16" name="file-javascript" />
|
name="file-typescript" />
|
||||||
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.js')" :size="16"
|
||||||
|
name="file-javascript" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.json')" :size="16" name="file-json" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.json')" :size="16" name="file-json" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, 'pom.xml')" :size="16" name="file-maven" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, 'pom.xml')" :size="16" name="file-maven" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.xml') && !checkFileType(node.node.title, 'pom.xml')" :size="16" name="file-xml" />
|
<GiSvgIcon
|
||||||
|
v-if="node.isLeaf && checkFileType(node.node.title, '.xml') && !checkFileType(node.node.title, 'pom.xml')"
|
||||||
|
:size="16" name="file-xml" />
|
||||||
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.sql')" :size="16" name="file-sql" />
|
<GiSvgIcon v-if="node.isLeaf && checkFileType(node.node.title, '.sql')" :size="16" name="file-sql" />
|
||||||
</template>
|
</template>
|
||||||
</a-tree>
|
</a-tree>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
<a-layout-content>
|
<a-layout-content>
|
||||||
<a-card :header-style="{ height: '50px' }">
|
<a-card>
|
||||||
<template #title> {{ currentPreview?.path }}\{{ currentPreview?.fileName }}</template>
|
<template #title>
|
||||||
<template #extra>
|
<a-typography-title :heading="6" ellipsis>
|
||||||
<a-button-group type="outline" size="small">
|
{{ currentPreview?.path }}{{ currentPreview?.path.indexOf('/') !== -1 ? '/' : '\\' }}{{ currentPreview?.fileName }}
|
||||||
<a-button @click="onCopy">
|
</a-typography-title>
|
||||||
<template #icon>
|
|
||||||
<icon-copy />
|
|
||||||
</template>
|
|
||||||
</a-button>
|
|
||||||
<a-button @click="gen">
|
|
||||||
<template #icon>
|
|
||||||
<icon-download />
|
|
||||||
</template>
|
|
||||||
</a-button>
|
|
||||||
</a-button-group>
|
|
||||||
</template>
|
</template>
|
||||||
<a-scrollbar style="height: 650px; overflow: auto">
|
<a-scrollbar style="height: 650px; overflow: auto">
|
||||||
|
<a-link style="position: absolute; right: 20px; z-index: 999" @click="onCopy">
|
||||||
|
<template #icon>
|
||||||
|
<icon-copy size="large" />
|
||||||
|
</template>
|
||||||
|
复制
|
||||||
|
</a-link>
|
||||||
<GiCodeView
|
<GiCodeView
|
||||||
:type="'vue' === currentPreview?.fileName.split('.')[1] ? 'vue' : 'javascript'"
|
:type="'vue' === currentPreview?.fileName.split('.')[1] ? 'vue' : 'javascript'"
|
||||||
:code-json="currentPreview?.content"
|
:code-json="currentPreview?.content"
|
||||||
@@ -75,7 +78,7 @@ const visible = ref(false)
|
|||||||
const treeData = ref<TreeNodeData[]>([])
|
const treeData = ref<TreeNodeData[]>([])
|
||||||
const previewTableName = ref<string>('')
|
const previewTableName = ref<string>('')
|
||||||
const treeRef = ref()
|
const treeRef = ref()
|
||||||
const mergeDir = async (parent: TreeNodeData) => {
|
const mergeDir = (parent: TreeNodeData) => {
|
||||||
// 合并目录
|
// 合并目录
|
||||||
if (parent.children?.length === 1 && typeof parent.children[0].key === 'number') {
|
if (parent.children?.length === 1 && typeof parent.children[0].key === 'number') {
|
||||||
const mergeTitle = mergeDir(parent.children[0])
|
const mergeTitle = mergeDir(parent.children[0])
|
||||||
@@ -92,7 +95,7 @@ const mergeDir = async (parent: TreeNodeData) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await nextTick(() => {
|
nextTick(() => {
|
||||||
treeRef.value?.expandAll(true)
|
treeRef.value?.expandAll(true)
|
||||||
})
|
})
|
||||||
return ''
|
return ''
|
||||||
|
Reference in New Issue
Block a user