代码生成器调整
This commit is contained in:
parent
42892bcb8b
commit
8d37e36395
|
|
@ -10,11 +10,15 @@ export function dataTable(params: any) {
|
||||||
return request.get({ url: '/gen/db', params })
|
return request.get({ url: '/gen/db', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据表列表接口
|
// 数据表所有列表接口
|
||||||
export function dataTableAll() {
|
export function dataTableAll() {
|
||||||
return request.get({ url: '/gen/dbAll' })
|
return request.get({ url: '/gen/dbAll' })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//表名查字段
|
||||||
|
export function dataTableToColumn(params: any) {
|
||||||
|
return request.get({ url: '/gen/dbColumn', params })
|
||||||
|
}
|
||||||
//选择要生成代码的数据表
|
//选择要生成代码的数据表
|
||||||
export function selectTable(params: any) {
|
export function selectTable(params: any) {
|
||||||
return request.post(
|
return request.post(
|
||||||
|
|
|
||||||
|
|
@ -275,7 +275,12 @@
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="关联配置" name="relation">
|
<el-tab-pane label="关联配置" name="relation">
|
||||||
<el-form-item label="关联子表的表名" prop="gen.subTableName">
|
<el-form-item label="关联子表的表名" prop="gen.subTableName">
|
||||||
<el-select class="w-80" v-model="formData.gen.subTableName" clearable>
|
<el-select
|
||||||
|
class="w-80"
|
||||||
|
v-model="formData.gen.subTableName"
|
||||||
|
clearable
|
||||||
|
@change="handleTableChange"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionsData.dataTable"
|
v-for="item in optionsData.dataTable"
|
||||||
:key="item.tableName"
|
:key="item.tableName"
|
||||||
|
|
@ -285,9 +290,14 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="子表关联的外键名 " prop="gen.subTableFk">
|
<el-form-item label="子表关联的外键名 " prop="gen.subTableFk">
|
||||||
<el-select class="w-80" v-model="formData.gen.subTableFk" clearable>
|
<el-select
|
||||||
|
class="w-80"
|
||||||
|
v-model="formData.gen.subTableFk"
|
||||||
|
clearable
|
||||||
|
:loading="columnLoading"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in formData.column"
|
v-for="item in tableColumn"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:value="item.columnName"
|
:value="item.columnName"
|
||||||
:label="`${item.columnName}:${item.columnComment}`"
|
:label="`${item.columnName}:${item.columnComment}`"
|
||||||
|
|
@ -295,13 +305,14 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="关联表主键 " prop="gen.subTableFr">
|
<el-form-item label="关联表主键 " prop="gen.subTableFr">
|
||||||
<div class="w-80">
|
<el-select class="w-80" v-model="formData.gen.subTableFr" clearable>
|
||||||
<el-input
|
<el-option
|
||||||
v-model="formData.gen.subTableFr"
|
v-for="item in formData.column"
|
||||||
placeholder="请输入关联表主键"
|
:key="item.id"
|
||||||
clearable
|
:value="item.columnName"
|
||||||
|
:label="`${item.columnName}:${item.columnComment}`"
|
||||||
/>
|
/>
|
||||||
</div>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
@ -314,7 +325,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="tableEdit">
|
<script lang="ts" setup name="tableEdit">
|
||||||
import { dataTableAll, generateEdit, tableDetail } from '@/api/tools/code'
|
import { dataTableAll, generateEdit, tableDetail, dataTableToColumn } from '@/api/tools/code'
|
||||||
import { dictTypeAll } from '@/api/setting/dict'
|
import { dictTypeAll } from '@/api/setting/dict'
|
||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
|
|
@ -377,10 +388,12 @@ const getDetails = async () => {
|
||||||
const data = await tableDetail({
|
const data = await tableDetail({
|
||||||
id: route.query.id
|
id: route.query.id
|
||||||
})
|
})
|
||||||
|
|
||||||
Object.keys(formData).forEach((key) => {
|
Object.keys(formData).forEach((key) => {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
})
|
})
|
||||||
|
getTableColumn()
|
||||||
}
|
}
|
||||||
|
|
||||||
const { optionsData } = useDictOptions<{
|
const { optionsData } = useDictOptions<{
|
||||||
|
|
@ -404,6 +417,19 @@ const { optionsData } = useDictOptions<{
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const columnLoading = ref(false)
|
||||||
|
const tableColumn = ref<any[]>([])
|
||||||
|
const getTableColumn = async () => {
|
||||||
|
columnLoading.value = true
|
||||||
|
const res = await dataTableToColumn({ tableName: formData.gen.subTableName })
|
||||||
|
columnLoading.value = false
|
||||||
|
tableColumn.value = res
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleTableChange = () => {
|
||||||
|
formData.gen.subTableFk = ''
|
||||||
|
getTableColumn()
|
||||||
|
}
|
||||||
const handleSave = async () => {
|
const handleSave = async () => {
|
||||||
try {
|
try {
|
||||||
await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue