From f0451376f970a57d36f86f9a19e1cd8478c96083 Mon Sep 17 00:00:00 2001 From: damonyuan <404054358@qq.com> Date: Sat, 19 Oct 2024 23:43:19 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E8=BF=98=E5=8E=9F=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=E7=9A=84UI=20=E5=92=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/api/tools/code.ts | 48 +- admin/src/utils/file.ts | 16 + admin/src/views/dev_tools/code/edit.vue | 589 ++++++++---------- admin/src/views/dev_tools/code/index.vue | 103 +-- .../dev_tools/components/code-preview.vue | 15 +- .../views/dev_tools/components/data-table.vue | 26 +- .../generator/controller/GenController.java | 2 +- .../java/com/mdd/generator/vo/DbColumnVo.java | 4 + .../java/com/mdd/generator/vo/DbTableVo.java | 6 + .../com/mdd/generator/vo/GenColumnVo.java | 17 + .../java/com/mdd/generator/vo/GenTableVo.java | 6 + sql/install_v1.9.0.sql | 4 +- 12 files changed, 439 insertions(+), 397 deletions(-) create mode 100644 admin/src/utils/file.ts diff --git a/admin/src/api/tools/code.ts b/admin/src/api/tools/code.ts index 69056dea..36cc1834 100644 --- a/admin/src/api/tools/code.ts +++ b/admin/src/api/tools/code.ts @@ -2,50 +2,74 @@ import request from '@/utils/request' // 代码生成已选数据表列表接口 export function generateTable(params: any) { - return request.get({ url: '/tools.generator/generateTable', params }) + return request.get({ url: '/gen/list', params }) } // 数据表列表接口 export function dataTable(params: any) { - return request.get({ url: '/tools.generator/dataTable', params }) + return request.get({ url: '/gen/db', params }) } +// 数据表所有列表接口 +export function dataTableAll() { + return request.get({ url: '/gen/dbAll' }) +} + +//表名查字段 +export function dataTableToColumn(params: any) { + return request.get({ url: '/gen/dbColumn', params }) +} //选择要生成代码的数据表 export function selectTable(params: any) { - return request.post({ url: '/tools.generator/selectTable', params }) + return request.post( + { url: '/gen/importTable', params }, + { + isParamsToData: false + } + ) } // 已选择的数据表详情 export function tableDetail(params: any) { - return request.get({ url: '/tools.generator/detail', params }) + return request.get({ url: '/gen/detail', params }) } //同步字段 export function syncColumn(params: any) { - return request.post({ url: '/tools.generator/syncColumn', params }) + return request.post( + { url: '/gen/syncTable', params }, + { + isParamsToData: false + } + ) } //删除已选择的数据表 export function generateDelete(params: any) { - return request.post({ url: '/tools.generator/delete', params }) + return request.post({ url: '/gen/delTable', params }) } //编辑已选表字段 export function generateEdit(params: any) { - return request.post({ url: '/tools.generator/edit', params }) + return request.post({ url: '/gen/editTable', params }) } //预览代码 export function generatePreview(params: any) { - return request.post({ url: '/tools.generator/preview', params }) + return request.get({ url: '/gen/previewCode', params }) } //生成代码 export function generateCode(params: any) { - return request.post({ url: '/tools.generator/generate', params }) + return request.get({ url: '/gen/genCode', params }) } -//获取模型 -export function getModels() { - return request.get({ url: '/tools.generator/getModels' }) +//下载代码 +export function downloadCode(params: any) { + return request.get( + { responseType: 'blob', url: '/gen/downloadCode', params }, + { + isTransformResponse: false + } + ) } diff --git a/admin/src/utils/file.ts b/admin/src/utils/file.ts new file mode 100644 index 00000000..a33a0f34 --- /dev/null +++ b/admin/src/utils/file.ts @@ -0,0 +1,16 @@ +/** + * @description + * @param file + */ +export function streamFileDownload(file: any, fileName = '文件名称.zip') { + const blob = new Blob([file], { type: 'application/octet-stream;charset=UTF-8' }) + const url = window.URL.createObjectURL(blob) + const link = document.createElement('a') + link.style.display = 'none' + link.href = url + link.setAttribute('download', fileName) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) // 下载完成移除元素 + window.URL.revokeObjectURL(url) +} diff --git a/admin/src/views/dev_tools/code/edit.vue b/admin/src/views/dev_tools/code/edit.vue index 14a65a6d..1e415794 100644 --- a/admin/src/views/dev_tools/code/edit.vue +++ b/admin/src/views/dev_tools/code/edit.vue @@ -8,38 +8,52 @@ ref="formRef" class="ls-form" :model="formData" - label-width="100px" + label-width="130px" :rules="rules" > - +
- +
- +
- + +
+
+ + +
+
- - - + + + + + + + + + + -