优化代码生成

This commit is contained in:
不做码农 2022-09-20 21:14:28 +08:00
parent 9c5156c8ad
commit 1ec0d42e33
3 changed files with 38 additions and 26 deletions

View File

@ -190,6 +190,7 @@ function submitForm() {
checkedBtn: info.value.checkedBtn, checkedBtn: info.value.checkedBtn,
permissionPrefix: info.value.permissionPrefix, permissionPrefix: info.value.permissionPrefix,
colNum: info.value.colNum, colNum: info.value.colNum,
generateRepo: info.value.generateRepo
} }
console.log('genForm', genTable) console.log('genForm', genTable)
@ -221,7 +222,7 @@ listType({ pageSize: 100 }).then((response) => {
function close() { function close() {
const obj = { const obj = {
path: '/tool/gen', path: '/tool/gen',
query: { t: Date.now(), pageNum: route.query.pageNum }, query: { t: Date.now(), pageNum: route.query.pageNum }
} }
proxy.$tab.closeOpenPage(obj) proxy.$tab.closeOpenPage(obj)
} }
@ -262,7 +263,7 @@ const tableSort = () => {
nextTick(() => { nextTick(() => {
console.log(columns.value) console.log(columns.value)
}) })
}, }
}) })
} }

View File

@ -133,7 +133,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="24" v-if="info.genType == '1'"> <el-col :lg="12" v-if="info.genType == '1'">
<el-form-item prop="genPath"> <el-form-item prop="genPath">
<template #label> <template #label>
自定义路径 自定义路径
@ -146,7 +146,7 @@
<el-input v-model="info.genPath"></el-input> <el-input v-model="info.genPath"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12"> <el-col :lg="24">
<el-form-item prop="colNum" label="一行显示列"> <el-form-item prop="colNum" label="一行显示列">
<el-radio v-model="info.colNum" :label="12">2列</el-radio> <el-radio v-model="info.colNum" :label="12">2列</el-radio>
<el-radio v-model="info.colNum" :label="24">1列</el-radio> <el-radio v-model="info.colNum" :label="24">1列</el-radio>
@ -173,6 +173,14 @@
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="24">
<el-form-item label="是否生成仓储层">
<el-radio-group v-model="info.generateRepo">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row v-show="info.tplCategory == 'tree'"> <el-row v-show="info.tplCategory == 'tree'">
@ -288,18 +296,18 @@ const menuOptions = ref([])
const props = defineProps({ const props = defineProps({
info: { info: {
type: Object, type: Object,
default: null, default: null
}, },
// //
tables: { tables: {
type: Array, type: Array,
default: null, default: null
}, },
// //
columns: { columns: {
type: Array, type: Array,
default: [], default: []
}, }
}) })
// //
const rules = ref({ const rules = ref({
@ -309,23 +317,23 @@ const rules = ref({
required: true, required: true,
message: '请输入生成模块名', message: '请输入生成模块名',
trigger: 'blur', trigger: 'blur',
pattern: /^[A-Za-z]+$/, pattern: /^[A-Za-z]+$/
}, }
], ],
businessName: [ businessName: [
{ {
required: true, required: true,
message: '请输入生成业务名', message: '请输入生成业务名',
trigger: 'blur', trigger: 'blur',
pattern: /^[A-Za-z]+$/, pattern: /^[A-Za-z]+$/
}, }
], ],
functionName: [{ required: true, message: '请输入生成功能名', trigger: 'blur' }], functionName: [{ required: true, message: '请输入生成功能名', trigger: 'blur' }],
permissionPrefix: { permissionPrefix: {
required: true, required: true,
message: '请输入权限前缀', message: '请输入权限前缀',
trigger: 'blur', trigger: 'blur'
}, }
}) })
function subSelectChange(value) { function subSelectChange(value) {
props.info.subTableFkName = '' props.info.subTableFkName = ''
@ -366,7 +374,7 @@ watch(
() => props.info.subTableName, () => props.info.subTableName,
(val) => { (val) => {
setSubTableColumns(val) setSubTableColumns(val)
}, }
) )
getMenuTreeselect() getMenuTreeselect()

View File

@ -15,19 +15,22 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row> <el-row>
<el-table ref="table" @row-click="clickRow" :data="dbTableList" highlight-current-row height="300px" @selection-change="handleSelectionChange"> <el-table
ref="table"
@row-click="clickRow"
:data="dbTableList"
highlight-current-row
height="300px"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="表名" sortable="custom" width="380" /> <el-table-column prop="name" label="表名" sortable="custom" width="380" />
<el-table-column prop="description" label="表描述" /> <el-table-column prop="description" label="表描述" />
</el-table> </el-table>
<pagination v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" v-model:total="total" @pagination="getList" /> <pagination v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" v-model:total="total" @pagination="getList" />
</el-row> </el-row>
<template #footer> <template #footer>
<div class="dialog-footer"> <el-button text @click="visible = false"> </el-button>
<el-button type="primary" @click="handleImportTable"> </el-button> <el-button type="primary" @click="handleImportTable"> </el-button>
<el-button @click="visible = false"> </el-button>
</div>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
@ -46,10 +49,10 @@ const queryParams = reactive({
dbName: '', dbName: '',
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
tableName: undefined, tableName: undefined
}) })
const rules = reactive({ const rules = reactive({
dbName: [{ required: true, message: '请选择数据库名称', trigger: 'blur' }], dbName: [{ required: true, message: '请选择数据库名称', trigger: 'blur' }]
}) })
const emit = defineEmits(['ok']) const emit = defineEmits(['ok'])
@ -65,7 +68,7 @@ function clickRow(row) {
/** 多选框选中数据 */ /** 多选框选中数据 */
function handleSelectionChange(selection) { function handleSelectionChange(selection) {
tables.value = selection.map((item) => item.name) tables.value = selection.map((item) => item.name)
console.log(tables.value) console.log(tables.value)
} }
/** 查询表数据 */ /** 查询表数据 */
function getList() { function getList() {
@ -93,7 +96,7 @@ function resetQuery() {
function handleImportTable() { function handleImportTable() {
importTable({ importTable({
tables: tables.value.join(','), tables: tables.value.join(','),
dbName: queryParams.dbName, dbName: queryParams.dbName
}).then((res) => { }).then((res) => {
proxy.$modal.msgSuccess(res.msg) proxy.$modal.msgSuccess(res.msg)
if (res.code === 200) { if (res.code === 200) {
@ -104,6 +107,6 @@ function handleImportTable() {
} }
defineExpose({ defineExpose({
show, show
}) })
</script> </script>