Skip to content

Commit 26dba8b

Browse files
YunaiVgitee-org
authored andcommitted
!325 新增主子表、树表的代码生成
Merge pull request !325 from 芋道源码/feature/sub-table
2 parents 821c804 + a42d069 commit 26dba8b

31 files changed

+3035
-87
lines changed

.eslintrc.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module.exports = defineConfig({
2121
'plugin:vue/vue3-recommended',
2222
'plugin:@typescript-eslint/recommended',
2323
'prettier',
24-
'plugin:prettier/recommended',
24+
'plugin:prettier/recommended',
2525
'@unocss'
2626
],
2727
rules: {
@@ -67,6 +67,7 @@ module.exports = defineConfig({
6767
}
6868
],
6969
'vue/multi-word-component-names': 'off',
70-
'vue/no-v-html': 'off'
70+
'vue/no-v-html': 'off',
71+
'prettier/prettier': 'off' // 芋艿:默认关闭 prettier 的 ESLint 校验,因为我们使用的是 IDE 的 Prettier 插件
7172
}
7273
})

src/api/infra/codegen/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ export type CodegenCreateListReqVO = {
6767
tableNames: string[]
6868
}
6969

70+
// 查询列表代码生成表定义
71+
export const getCodegenTableList = (dataSourceConfigId: number) => {
72+
return request.get({ url: '/infra/codegen/table/list?dataSourceConfigId=' + dataSourceConfigId })
73+
}
74+
7075
// 查询列表代码生成表定义
7176
export const getCodegenTablePage = (params: PageParam) => {
7277
return request.get({ url: '/infra/codegen/table/page', params })
@@ -92,11 +97,6 @@ export const syncCodegenFromDB = (id: number) => {
9297
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
9398
}
9499

95-
// 基于 SQL 建表语句,同步数据库的表和字段定义
96-
export const syncCodegenFromSQL = (id: number, sql: string) => {
97-
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
98-
}
99-
100100
// 预览生成代码
101101
export const previewCodegen = (id: number) => {
102102
return request.get({ url: '/infra/codegen/preview?tableId=' + id })

src/api/infra/demo/demo01/index.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo01ContactVO {
4+
id: number
5+
name: string
6+
sex: number
7+
birthday: Date
8+
description: string
9+
avatar: string
10+
}
11+
12+
// 查询示例联系人分页
13+
export const getDemo01ContactPage = async (params) => {
14+
return await request.get({ url: `/infra/demo01-contact/page`, params })
15+
}
16+
17+
// 查询示例联系人详情
18+
export const getDemo01Contact = async (id: number) => {
19+
return await request.get({ url: `/infra/demo01-contact/get?id=` + id })
20+
}
21+
22+
// 新增示例联系人
23+
export const createDemo01Contact = async (data: Demo01ContactVO) => {
24+
return await request.post({ url: `/infra/demo01-contact/create`, data })
25+
}
26+
27+
// 修改示例联系人
28+
export const updateDemo01Contact = async (data: Demo01ContactVO) => {
29+
return await request.put({ url: `/infra/demo01-contact/update`, data })
30+
}
31+
32+
// 删除示例联系人
33+
export const deleteDemo01Contact = async (id: number) => {
34+
return await request.delete({ url: `/infra/demo01-contact/delete?id=` + id })
35+
}
36+
37+
// 导出示例联系人 Excel
38+
export const exportDemo01Contact = async (params) => {
39+
return await request.download({ url: `/infra/demo01-contact/export-excel`, params })
40+
}

src/api/infra/demo/demo02/index.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo02CategoryVO {
4+
id: number
5+
name: string
6+
parentId: number
7+
}
8+
9+
// 查询示例分类列表
10+
export const getDemo02CategoryList = async (params) => {
11+
return await request.get({ url: `/infra/demo02-category/list`, params })
12+
}
13+
14+
// 查询示例分类详情
15+
export const getDemo02Category = async (id: number) => {
16+
return await request.get({ url: `/infra/demo02-category/get?id=` + id })
17+
}
18+
19+
// 新增示例分类
20+
export const createDemo02Category = async (data: Demo02CategoryVO) => {
21+
return await request.post({ url: `/infra/demo02-category/create`, data })
22+
}
23+
24+
// 修改示例分类
25+
export const updateDemo02Category = async (data: Demo02CategoryVO) => {
26+
return await request.put({ url: `/infra/demo02-category/update`, data })
27+
}
28+
29+
// 删除示例分类
30+
export const deleteDemo02Category = async (id: number) => {
31+
return await request.delete({ url: `/infra/demo02-category/delete?id=` + id })
32+
}
33+
34+
// 导出示例分类 Excel
35+
export const exportDemo02Category = async (params) => {
36+
return await request.download({ url: `/infra/demo02-category/export-excel`, params })
37+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo03StudentVO {
4+
id: number
5+
name: string
6+
sex: number
7+
birthday: Date
8+
description: string
9+
}
10+
11+
// 查询学生分页
12+
export const getDemo03StudentPage = async (params) => {
13+
return await request.get({ url: `/infra/demo03-student/page`, params })
14+
}
15+
16+
// 查询学生详情
17+
export const getDemo03Student = async (id: number) => {
18+
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
19+
}
20+
21+
// 新增学生
22+
export const createDemo03Student = async (data: Demo03StudentVO) => {
23+
return await request.post({ url: `/infra/demo03-student/create`, data })
24+
}
25+
26+
// 修改学生
27+
export const updateDemo03Student = async (data: Demo03StudentVO) => {
28+
return await request.put({ url: `/infra/demo03-student/update`, data })
29+
}
30+
31+
// 删除学生
32+
export const deleteDemo03Student = async (id: number) => {
33+
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
34+
}
35+
36+
// 导出学生 Excel
37+
export const exportDemo03Student = async (params) => {
38+
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
39+
}
40+
41+
// ==================== 子表(学生课程) ====================
42+
43+
// 获得学生课程分页
44+
export const getDemo03CoursePage = async (params) => {
45+
return await request.get({ url: `/infra/demo03-student/demo03-course/page`, params })
46+
}
47+
// 新增学生课程
48+
export const createDemo03Course = async (data) => {
49+
return await request.post({ url: `/infra/demo03-student/demo03-course/create`, data })
50+
}
51+
52+
// 修改学生课程
53+
export const updateDemo03Course = async (data) => {
54+
return await request.put({ url: `/infra/demo03-student/demo03-course/update`, data })
55+
}
56+
57+
// 删除学生课程
58+
export const deleteDemo03Course = async (id: number) => {
59+
return await request.delete({ url: `/infra/demo03-student/demo03-course/delete?id=` + id })
60+
}
61+
62+
// 获得学生课程
63+
export const getDemo03Course = async (id: number) => {
64+
return await request.get({ url: `/infra/demo03-student/demo03-course/get?id=` + id })
65+
}
66+
67+
// ==================== 子表(学生班级) ====================
68+
69+
// 获得学生班级分页
70+
export const getDemo03GradePage = async (params) => {
71+
return await request.get({ url: `/infra/demo03-student/demo03-grade/page`, params })
72+
}
73+
// 新增学生班级
74+
export const createDemo03Grade = async (data) => {
75+
return await request.post({ url: `/infra/demo03-student/demo03-grade/create`, data })
76+
}
77+
78+
// 修改学生班级
79+
export const updateDemo03Grade = async (data) => {
80+
return await request.put({ url: `/infra/demo03-student/demo03-grade/update`, data })
81+
}
82+
83+
// 删除学生班级
84+
export const deleteDemo03Grade = async (id: number) => {
85+
return await request.delete({ url: `/infra/demo03-student/demo03-grade/delete?id=` + id })
86+
}
87+
88+
// 获得学生班级
89+
export const getDemo03Grade = async (id: number) => {
90+
return await request.get({ url: `/infra/demo03-student/demo03-grade/get?id=` + id })
91+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo03StudentVO {
4+
id: number
5+
name: string
6+
sex: number
7+
birthday: Date
8+
description: string
9+
}
10+
11+
// 查询学生分页
12+
export const getDemo03StudentPage = async (params) => {
13+
return await request.get({ url: `/infra/demo03-student/page`, params })
14+
}
15+
16+
// 查询学生详情
17+
export const getDemo03Student = async (id: number) => {
18+
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
19+
}
20+
21+
// 新增学生
22+
export const createDemo03Student = async (data: Demo03StudentVO) => {
23+
return await request.post({ url: `/infra/demo03-student/create`, data })
24+
}
25+
26+
// 修改学生
27+
export const updateDemo03Student = async (data: Demo03StudentVO) => {
28+
return await request.put({ url: `/infra/demo03-student/update`, data })
29+
}
30+
31+
// 删除学生
32+
export const deleteDemo03Student = async (id: number) => {
33+
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
34+
}
35+
36+
// 导出学生 Excel
37+
export const exportDemo03Student = async (params) => {
38+
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
39+
}
40+
41+
// ==================== 子表(学生课程) ====================
42+
43+
// 获得学生课程列表
44+
export const getDemo03CourseListByStudentId = async (studentId) => {
45+
return await request.get({ url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId })
46+
}
47+
48+
// ==================== 子表(学生班级) ====================
49+
50+
// 获得学生班级
51+
export const getDemo03GradeByStudentId = async (studentId) => {
52+
return await request.get({ url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId })
53+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo03StudentVO {
4+
id: number
5+
name: string
6+
sex: number
7+
birthday: Date
8+
description: string
9+
}
10+
11+
// 查询学生分页
12+
export const getDemo03StudentPage = async (params) => {
13+
return await request.get({ url: `/infra/demo03-student/page`, params })
14+
}
15+
16+
// 查询学生详情
17+
export const getDemo03Student = async (id: number) => {
18+
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
19+
}
20+
21+
// 新增学生
22+
export const createDemo03Student = async (data: Demo03StudentVO) => {
23+
return await request.post({ url: `/infra/demo03-student/create`, data })
24+
}
25+
26+
// 修改学生
27+
export const updateDemo03Student = async (data: Demo03StudentVO) => {
28+
return await request.put({ url: `/infra/demo03-student/update`, data })
29+
}
30+
31+
// 删除学生
32+
export const deleteDemo03Student = async (id: number) => {
33+
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
34+
}
35+
36+
// 导出学生 Excel
37+
export const exportDemo03Student = async (params) => {
38+
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
39+
}
40+
41+
// ==================== 子表(学生课程) ====================
42+
43+
// 获得学生课程列表
44+
export const getDemo03CourseListByStudentId = async (studentId) => {
45+
return await request.get({ url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId })
46+
}
47+
48+
// ==================== 子表(学生班级) ====================
49+
50+
// 获得学生班级
51+
export const getDemo03GradeByStudentId = async (studentId) => {
52+
return await request.get({ url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId })
53+
}

src/components/UploadFile/src/UploadFile.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ watch(
144144
} else if (isArray(props.modelValue)) {
145145
// 情况2:字符串
146146
files.concat(props.modelValue)
147+
} else if (props.modelValue == null) {
148+
// 情况3:undefined 不处理
147149
} else {
148150
throw new Error('不支持的 modelValue 类型')
149151
}

src/views/infra/codegen/EditTable.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<colum-info-form ref="columInfoRef" :columns="formData.columns" />
99
</el-tab-pane>
1010
<el-tab-pane label="生成信息" name="generateInfo">
11-
<generate-info-form ref="generateInfoRef" :table="formData.table" />
11+
<generate-info-form ref="generateInfoRef" :table="formData.table" :columns="formData.columns" />
1212
</el-tab-pane>
1313
</el-tabs>
1414
<el-form>

0 commit comments

Comments
 (0)