代码生成器优化完成,剩余:预览,打包下载,关联实体未完成
This commit is contained in:
@@ -1,17 +1,15 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
// export function getAllTable() {
|
export function getAllTable() {
|
||||||
// return request({
|
|
||||||
// url: 'api/generator?tableName=' + tableName,
|
|
||||||
// data,
|
|
||||||
// method: 'post'
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
export function generator(data, tableName) {
|
|
||||||
return request({
|
return request({
|
||||||
url: 'api/generator?tableName=' + tableName,
|
url: 'api/generator/tables/all',
|
||||||
data,
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function generator(tableName, type) {
|
||||||
|
return request({
|
||||||
|
url: 'api/generator/' + tableName + '/' + type,
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<el-col style="margin-bottom: 10px">
|
<el-col style="margin-bottom: 10px">
|
||||||
<el-card class="box-card" shadow="never">
|
<el-card class="box-card" shadow="never">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span class="role-span">字段配置</span>
|
<span class="role-span">字段配置:{{ tableName }}</span>
|
||||||
<el-button
|
<el-button
|
||||||
:loading="columnLoading"
|
:loading="columnLoading"
|
||||||
icon="el-icon-check"
|
icon="el-icon-check"
|
||||||
@@ -16,7 +16,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-form size="small" label-width="90px">
|
<el-form size="small" label-width="90px">
|
||||||
<el-table v-loading="loading" :data="data" :max-height="tableHeight" size="small" style="width: 100%;margin-bottom: 15px">
|
<el-table v-loading="loading" :data="data" :max-height="tableHeight" size="small" style="width: 100%;margin-bottom: 15px">
|
||||||
<el-table-column prop="tableName" label="表名"/>
|
|
||||||
<el-table-column prop="columnName" label="字段名称"/>
|
<el-table-column prop="columnName" label="字段名称"/>
|
||||||
<el-table-column prop="columnType" label="字段类型"/>
|
<el-table-column prop="columnType" label="字段类型"/>
|
||||||
<el-table-column prop="remark" label="字段描述">
|
<el-table-column prop="remark" label="字段描述">
|
||||||
@@ -24,17 +23,17 @@
|
|||||||
<el-input v-model="data[scope.$index].remark" size="mini" class="edit-input"/>
|
<el-input v-model="data[scope.$index].remark" size="mini" class="edit-input"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="必填">
|
<el-table-column align="center" label="必填" width="70px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-checkbox v-model="data[scope.$index].notNull"/>
|
<el-checkbox v-model="data[scope.$index].notNull"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="列表">
|
<el-table-column align="center" label="列表" width="70px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-checkbox v-model="data[scope.$index].listShow"/>
|
<el-checkbox v-model="data[scope.$index].listShow"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="表单">
|
<el-table-column align="center" label="表单" width="70px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-checkbox v-model="data[scope.$index].formShow"/>
|
<el-checkbox v-model="data[scope.$index].formShow"/>
|
||||||
</template>
|
</template>
|
||||||
@@ -54,9 +53,6 @@
|
|||||||
<el-option
|
<el-option
|
||||||
label="下拉框"
|
label="下拉框"
|
||||||
value="Select"/>
|
value="Select"/>
|
||||||
<el-option
|
|
||||||
label="复选框"
|
|
||||||
value="Checkbox"/>
|
|
||||||
<el-option
|
<el-option
|
||||||
label="日期框"
|
label="日期框"
|
||||||
value="Date"/>
|
value="Date"/>
|
||||||
@@ -81,6 +77,21 @@
|
|||||||
<el-option
|
<el-option
|
||||||
label="Like"
|
label="Like"
|
||||||
value="Like"/>
|
value="Like"/>
|
||||||
|
<el-option
|
||||||
|
label="DateRange"
|
||||||
|
value="DateRange"/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="日期注解">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select v-model="data[scope.$index].dateAnnotation" filterable class="edit-input" clearable size="mini" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
label="自动创建时间"
|
||||||
|
value="CreationTimestamp"/>
|
||||||
|
<el-option
|
||||||
|
label="自动更新时间"
|
||||||
|
value="UpdateTimestamp"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -93,13 +104,8 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="实体关联">
|
<el-table-column label="实体关联">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-select v-model="data[scope.$index].joinName" filterable class="edit-input" clearable size="mini" placeholder="请选择">
|
<el-select v-model="data[scope.$index].joinName" filterable class="edit-input" clearable size="mini" placeholder="请选择" @change="toConfig">
|
||||||
<el-option
|
<el-option v-for="item in tables" :key="item[0]" :label="item[0]" :value="item[0]"/>
|
||||||
label="模糊查询"
|
|
||||||
value="1"/>
|
|
||||||
<el-option
|
|
||||||
label="精确查询"
|
|
||||||
value="2"/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -149,7 +155,7 @@
|
|||||||
<el-radio-button label="true">是</el-radio-button>
|
<el-radio-button label="true">是</el-radio-button>
|
||||||
<el-radio-button label="false">否</el-radio-button>
|
<el-radio-button label="false">否</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<span style="color: #C0C0C0;margin-left: 10px;">危险选型,请考虑后选择</span>
|
<span style="color: #C0C0C0;margin-left: 10px;">谨防误操作,请慎重选择</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -161,7 +167,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import initData from '@/mixins/initData'
|
import initData from '@/mixins/initData'
|
||||||
import { update, get } from '@/api/genConfig'
|
import { update, get } from '@/api/genConfig'
|
||||||
import { save } from '@/api/generator'
|
import { save, getAllTable } from '@/api/generator'
|
||||||
import { getDicts } from '@/api/dict'
|
import { getDicts } from '@/api/dict'
|
||||||
export default {
|
export default {
|
||||||
name: 'GeneratorConfig',
|
name: 'GeneratorConfig',
|
||||||
@@ -169,7 +175,7 @@ export default {
|
|||||||
mixins: [initData],
|
mixins: [initData],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeName: 'first', tableName: '', tableHeight: 550, columnLoading: false, configLoading: false, dicts: [],
|
activeName: 'first', tableName: '', tableHeight: 550, columnLoading: false, configLoading: false, dicts: [], tables: [],
|
||||||
form: { id: null, tableName: '', author: '', pack: '', path: '', moduleName: '', cover: 'false', apiPath: '', prefix: '' },
|
form: { id: null, tableName: '', author: '', pack: '', path: '', moduleName: '', cover: 'false', apiPath: '', prefix: '' },
|
||||||
rules: {
|
rules: {
|
||||||
author: [
|
author: [
|
||||||
@@ -202,6 +208,9 @@ export default {
|
|||||||
getDicts().then(data => {
|
getDicts().then(data => {
|
||||||
this.dicts = data
|
this.dicts = data
|
||||||
})
|
})
|
||||||
|
getAllTable().then(data => {
|
||||||
|
this.tables = data
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -244,6 +253,11 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
toConfig(tableName) {
|
||||||
|
if (tableName) {
|
||||||
|
this.$router.push('/sys-tools/generator/config/' + tableName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
编辑
|
编辑
|
||||||
</router-link>
|
</router-link>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" style="margin-left: -1px" size="mini">生成</el-button>
|
<el-button type="text" style="margin-left: -1px" size="mini" @click="toGen(scope.row.tableName)">生成</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import initData from '@/mixins/initData'
|
import initData from '@/mixins/initData'
|
||||||
import { parseTime } from '@/utils/index'
|
import { parseTime } from '@/utils/index'
|
||||||
|
import { generator } from '@/api/generator'
|
||||||
export default {
|
export default {
|
||||||
name: 'GeneratorIndex',
|
name: 'GeneratorIndex',
|
||||||
mixins: [initData],
|
mixins: [initData],
|
||||||
@@ -91,17 +92,14 @@ export default {
|
|||||||
if (name) { this.params['name'] = name }
|
if (name) { this.params['name'] = name }
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
cancel() {
|
toGen(tableName) {
|
||||||
this.resetForm()
|
// 生成代码
|
||||||
},
|
generator(tableName, 0).then(data => {
|
||||||
doSubmit() {
|
this.$notify({
|
||||||
this.$refs['form'].validate((valid) => {
|
title: '生成成功',
|
||||||
if (valid) {
|
type: 'success',
|
||||||
this.loading = true
|
duration: 2500
|
||||||
this.doUpdate()
|
})
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user