Skip to content

Commit dce4fdd

Browse files
author
puhui999
committed
代码生成:适配树表和主子表
1 parent 61e719f commit dce4fdd

File tree

3 files changed

+174
-188
lines changed

3 files changed

+174
-188
lines changed

src/api/infra/codegen.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ export function getCodegenTablePage(query) {
99
})
1010
}
1111

12+
// 查询列表代码生成表定义
13+
export const getCodegenTableList = (dataSourceConfigId) => {
14+
return request({
15+
url: '/infra/codegen/table/list?dataSourceConfigId=' + dataSourceConfigId,
16+
method: 'get',
17+
})
18+
}
19+
1220
// 获得表和字段的明细
1321
export function getCodegenDetail(tableId) {
1422
return request({

src/views/infra/codegen/editTable.vue

Lines changed: 42 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
<el-card>
33
<el-tabs v-model="activeName">
44
<el-tab-pane label="基本信息" name="basic">
5-
<basic-info-form ref="basicInfo" :info="table" />
5+
<basic-info-form ref="basicInfo" :info="formData.table"/>
66
</el-tab-pane>
77
<el-tab-pane label="字段信息" name="cloum">
8-
<el-table ref="dragTable" :data="columns" row-key="columnId" :max-height="tableHeight">
8+
<el-table ref="dragTable" :data="formData.columns" row-key="columnId"
9+
:max-height="tableHeight">
910
<el-table-column
1011
label="字段列名"
1112
prop="columnName"
@@ -26,13 +27,13 @@
2627
<el-table-column label="Java类型" min-width="11%">
2728
<template v-slot="scope">
2829
<el-select v-model="scope.row.javaType">
29-
<el-option label="Long" value="Long" />
30-
<el-option label="String" value="String" />
31-
<el-option label="Integer" value="Integer" />
32-
<el-option label="Double" value="Double" />
33-
<el-option label="BigDecimal" value="BigDecimal" />
34-
<el-option label="LocalDateTime" value="LocalDateTime" />
35-
<el-option label="Boolean" value="Boolean" />
30+
<el-option label="Long" value="Long"/>
31+
<el-option label="String" value="String"/>
32+
<el-option label="Integer" value="Integer"/>
33+
<el-option label="Double" value="Double"/>
34+
<el-option label="BigDecimal" value="BigDecimal"/>
35+
<el-option label="LocalDateTime" value="LocalDateTime"/>
36+
<el-option label="Boolean" value="Boolean"/>
3637
</el-select>
3738
</template>
3839
</el-table-column>
@@ -64,14 +65,14 @@
6465
<el-table-column label="查询方式" min-width="10%">
6566
<template v-slot="scope">
6667
<el-select v-model="scope.row.listOperationCondition">
67-
<el-option label="=" value="=" />
68-
<el-option label="!=" value="!=" />
69-
<el-option label=">" value=">" />
70-
<el-option label=">=" value=">=" />
71-
<el-option label="<" value="<>" />
72-
<el-option label="<=" value="<=" />
73-
<el-option label="LIKE" value="LIKE" />
74-
<el-option label="BETWEEN" value="BETWEEN" />
68+
<el-option label="=" value="="/>
69+
<el-option label="!=" value="!="/>
70+
<el-option label=">" value=">"/>
71+
<el-option label=">=" value=">="/>
72+
<el-option label="<" value="<>"/>
73+
<el-option label="<=" value="<="/>
74+
<el-option label="LIKE" value="LIKE"/>
75+
<el-option label="BETWEEN" value="BETWEEN"/>
7576
</el-select>
7677
</template>
7778
</el-table-column>
@@ -83,26 +84,26 @@
8384
<el-table-column label="显示类型" min-width="12%">
8485
<template v-slot="scope">
8586
<el-select v-model="scope.row.htmlType">
86-
<el-option label="文本框" value="input" />
87-
<el-option label="文本域" value="textarea" />
88-
<el-option label="下拉框" value="select" />
89-
<el-option label="单选框" value="radio" />
90-
<el-option label="复选框" value="checkbox" />
91-
<el-option label="日期控件" value="datetime" />
92-
<el-option label="图片上传" value="imageUpload" />
93-
<el-option label="文件上传" value="fileUpload" />
94-
<el-option label="富文本控件" value="editor" />
87+
<el-option label="文本框" value="input"/>
88+
<el-option label="文本域" value="textarea"/>
89+
<el-option label="下拉框" value="select"/>
90+
<el-option label="单选框" value="radio"/>
91+
<el-option label="复选框" value="checkbox"/>
92+
<el-option label="日期控件" value="datetime"/>
93+
<el-option label="图片上传" value="imageUpload"/>
94+
<el-option label="文件上传" value="fileUpload"/>
95+
<el-option label="富文本控件" value="editor"/>
9596
</el-select>
9697
</template>
9798
</el-table-column>
9899
<el-table-column label="字典类型" min-width="12%">
99100
<template v-slot="scope">
100101
<el-select v-model="scope.row.dictType" clearable filterable placeholder="请选择">
101102
<el-option
102-
v-for="dict in dictOptions"
103-
:key="dict.id"
104-
:label="dict.name"
105-
:value="dict.type"
103+
v-for="dict in dictOptions"
104+
:key="dict.id"
105+
:label="dict.name"
106+
:value="dict.type"
106107
/>
107108
</el-select>
108109
</template>
@@ -115,7 +116,7 @@
115116
</el-table>
116117
</el-tab-pane>
117118
<el-tab-pane label="生成信息" name="genInfo">
118-
<gen-info-form ref="genInfo" :info="table" :tables="tables" :menus="menus"/>
119+
<gen-info-form ref="genInfo" :form-data="formData.table" :columns="formData.columns" :menus="menus"/>
119120
</el-tab-pane>
120121
</el-tabs>
121122
<el-form label-width="100px">
@@ -127,9 +128,9 @@
127128
</el-card>
128129
</template>
129130
<script>
130-
import { getCodegenDetail, updateCodegen } from "@/api/infra/codegen";
131-
import { listAllSimple as listAllSimpleDictType } from "@/api/system/dict/type";
132-
import { listSimpleMenus } from "@/api/system/menu";
131+
import {getCodegenDetail, updateCodegen} from "@/api/infra/codegen";
132+
import {listAllSimple as listAllSimpleDictType} from "@/api/system/dict/type";
133+
import {listSimpleMenus} from "@/api/system/menu";
133134
import basicInfoForm from "./basicInfoForm";
134135
import genInfoForm from "./genInfoForm";
135136
import Sortable from 'sortablejs'
@@ -146,25 +147,19 @@ export default {
146147
activeName: "cloum",
147148
// 表格的高度
148149
tableHeight: document.documentElement.scrollHeight - 245 + "px",
149-
// 表信息
150-
tables: [],
151-
// 表列信息
152-
columns: [],
153150
// 字典信息
154151
dictOptions: [],
152+
formData: {},
155153
// 菜单信息
156-
menus: [],
157-
// 表详细信息
158-
table: {}
154+
menus: []
159155
};
160156
},
161157
created() {
162158
const tableId = this.$route.params && this.$route.params.tableId;
163159
if (tableId) {
164160
// 获取表详细信息
165161
getCodegenDetail(tableId).then(res => {
166-
this.table = res.data.table;
167-
this.columns = res.data.columns;
162+
this.formData = res.data;
168163
});
169164
/** 查询字典下拉列表 */
170165
listAllSimpleDictType().then(response => {
@@ -187,7 +182,7 @@ export default {
187182
if (validateResult) {
188183
const genTable = {};
189184
genTable.table = Object.assign({}, basicForm.model, genForm.model);
190-
genTable.columns = this.columns;
185+
genTable.columns = this.formData.columns;
191186
genTable.params = {
192187
treeCode: genTable.treeCode,
193188
treeName: genTable.treeName,
@@ -213,8 +208,9 @@ export default {
213208
/** 关闭按钮 */
214209
close() {
215210
this.$tab.closeOpenPage({
216-
path: "/infra/codegen",
217-
query: { t: Date.now(), pageNum: this.$route.query.pageNum } }
211+
path: "/infra/codegen",
212+
query: {t: Date.now(), pageNum: this.$route.query.pageNum}
213+
}
218214
);
219215
}
220216
},

0 commit comments

Comments
 (0)