mirror of
https://gitee.com/ssssssss-team/magic-boot.git
synced 2025-04-02 11:22:40 +08:00
代码生成优化 其他一些小优化
This commit is contained in:
parent
b91328dcc7
commit
df0bb5c38f
@ -1,10 +1,10 @@
|
||||
{
|
||||
"properties" : { },
|
||||
"id" : "46a5f8f41666462987ae042469b99ff4",
|
||||
"id" : "ae425d18ae6f44c9adc25028eb891d15",
|
||||
"script" : null,
|
||||
"groupId" : "7bdcc43555b9419caba2ee722e1aa2d3",
|
||||
"name" : "保存",
|
||||
"createTime" : 1648655132918,
|
||||
"createTime" : 1648780777664,
|
||||
"updateTime" : null,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
@ -24,6 +24,18 @@
|
||||
"error" : null,
|
||||
"expression" : null,
|
||||
"children" : null
|
||||
}, {
|
||||
"name" : "permission",
|
||||
"value" : "data:test:save",
|
||||
"description" : "允许拥有该权限的访问",
|
||||
"required" : false,
|
||||
"dataType" : "String",
|
||||
"type" : null,
|
||||
"defaultValue" : null,
|
||||
"validateType" : null,
|
||||
"error" : null,
|
||||
"expression" : null,
|
||||
"children" : null
|
||||
} ],
|
||||
"requestBody" : null,
|
||||
"headers" : [ ],
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"properties" : { },
|
||||
"id" : "d94a4788e17a4e0f9b67ca86b171e231",
|
||||
"id" : "33639781fde24f32902b486bd0edd6ca",
|
||||
"script" : null,
|
||||
"groupId" : "7bdcc43555b9419caba2ee722e1aa2d3",
|
||||
"name" : "列表",
|
||||
"createTime" : 1648655132912,
|
||||
"createTime" : 1648780777658,
|
||||
"updateTime" : null,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
@ -12,7 +12,19 @@
|
||||
"path" : "/list",
|
||||
"method" : "POST",
|
||||
"parameters" : [ ],
|
||||
"options" : [ ],
|
||||
"options" : [ {
|
||||
"name" : "permission",
|
||||
"value" : "data:test:view",
|
||||
"description" : "允许拥有该权限的访问",
|
||||
"required" : false,
|
||||
"dataType" : "String",
|
||||
"type" : null,
|
||||
"defaultValue" : null,
|
||||
"validateType" : null,
|
||||
"error" : null,
|
||||
"expression" : null,
|
||||
"children" : null
|
||||
} ],
|
||||
"requestBody" : null,
|
||||
"headers" : [ ],
|
||||
"paths" : [ ],
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"properties" : { },
|
||||
"id" : "e1df886fe7604810b495d555abaa6200",
|
||||
"id" : "5019707e422245b89e0b2bf00f9a2ec8",
|
||||
"script" : null,
|
||||
"groupId" : "7bdcc43555b9419caba2ee722e1aa2d3",
|
||||
"name" : "删除",
|
||||
"createTime" : 1648655132924,
|
||||
"createTime" : 1648780777671,
|
||||
"updateTime" : null,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
@ -12,7 +12,19 @@
|
||||
"path" : "/delete",
|
||||
"method" : "DELETE",
|
||||
"parameters" : [ ],
|
||||
"options" : [ ],
|
||||
"options" : [ {
|
||||
"name" : "permission",
|
||||
"value" : "data:test:delete",
|
||||
"description" : "允许拥有该权限的访问",
|
||||
"required" : false,
|
||||
"dataType" : "String",
|
||||
"type" : null,
|
||||
"defaultValue" : null,
|
||||
"validateType" : null,
|
||||
"error" : null,
|
||||
"expression" : null,
|
||||
"children" : null
|
||||
} ],
|
||||
"requestBody" : null,
|
||||
"headers" : [ ],
|
||||
"paths" : [ ],
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"properties" : { },
|
||||
"id" : "c999de118aa04594bc14c0e3f5ade568",
|
||||
"id" : "ad14a4bc8cf54fc792125a59bc2d34ad",
|
||||
"script" : null,
|
||||
"groupId" : "7bdcc43555b9419caba2ee722e1aa2d3",
|
||||
"name" : "详情",
|
||||
"createTime" : 1648655132931,
|
||||
"createTime" : 1648780777677,
|
||||
"updateTime" : null,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
@ -12,7 +12,19 @@
|
||||
"path" : "/get",
|
||||
"method" : "GET",
|
||||
"parameters" : [ ],
|
||||
"options" : [ ],
|
||||
"options" : [ {
|
||||
"name" : "permission",
|
||||
"value" : "data:test:view",
|
||||
"description" : "允许拥有该权限的访问",
|
||||
"required" : false,
|
||||
"dataType" : "String",
|
||||
"type" : null,
|
||||
"defaultValue" : null,
|
||||
"validateType" : null,
|
||||
"error" : null,
|
||||
"expression" : null,
|
||||
"children" : null
|
||||
} ],
|
||||
"requestBody" : null,
|
||||
"headers" : [ ],
|
||||
"paths" : [ ],
|
||||
|
@ -5,7 +5,7 @@
|
||||
"groupId" : "f2538e0f370a4cabab0ae920f5e77ae7",
|
||||
"name" : "执行生成",
|
||||
"createTime" : null,
|
||||
"updateTime" : 1648651494341,
|
||||
"updateTime" : 1648780783577,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
"updateBy" : null,
|
||||
@ -308,7 +308,7 @@ if(commonField.contains('is_del')){
|
||||
wheres += ` and is_del = 0\n`
|
||||
}
|
||||
wheres = wheres.substring(0,wheres.length() - 1)
|
||||
|
||||
var permissionPrefix = (info.modulePath + info.businessPath).replace(/^\//,'').replace(/\/\//, '/').replace('/', ':')
|
||||
ApiInfo listApi = new ApiInfo()
|
||||
listApi.setName("列表")
|
||||
listApi.setPath("/list")
|
||||
@ -318,6 +318,7 @@ listApi.setScript(`return db.page("""
|
||||
select ${primary},${listFields} from ${tableName} where 1=1
|
||||
${wheres}
|
||||
""")`)
|
||||
listApi.setOption([new Option('permission', `${permissionPrefix}:view`, '允许拥有该权限的访问')])
|
||||
MagicResourceService.saveFile(listApi)
|
||||
|
||||
var saveMethod = 'save(data)'
|
||||
@ -331,7 +332,7 @@ saveApi.setPath("/save")
|
||||
saveApi.setMethod("POST")
|
||||
saveApi.setGroupId(businessGroup.getId())
|
||||
saveApi.setScript(`return db.table('${tableName}').primary('${primary}').${saveMethod}`)
|
||||
saveApi.setOption([new Option('wrap_request_parameter', 'data')])
|
||||
saveApi.setOption([new Option('wrap_request_parameter', 'data'), new Option('permission', `${permissionPrefix}:save`, '允许拥有该权限的访问')])
|
||||
MagicResourceService.saveFile(saveApi)
|
||||
|
||||
ApiInfo deleteApi = new ApiInfo()
|
||||
@ -340,6 +341,7 @@ deleteApi.setPath("/delete")
|
||||
deleteApi.setMethod("DELETE")
|
||||
deleteApi.setGroupId(businessGroup.getId())
|
||||
deleteApi.setScript(`return db.table('${tableName}')${logic}.where().eq('${primary}', ${primaryLowerCamelCase}).delete()`)
|
||||
deleteApi.setOption([new Option('permission', `${permissionPrefix}:delete`, '允许拥有该权限的访问')])
|
||||
MagicResourceService.saveFile(deleteApi)
|
||||
|
||||
var saveFields = columns.filter(it => it.save).map(it => it.columnName.replace(/([A-Z])/g,"_$1").toLowerCase()).join(',')
|
||||
@ -352,6 +354,7 @@ getApi.setGroupId(businessGroup.getId())
|
||||
getApi.setScript(`return db.selectOne("""
|
||||
select ${primary},${saveFields} from ${tableName} where ${primary} = #{${primaryLowerCamelCase}}
|
||||
""")`)
|
||||
getApi.setOption([new Option('permission', `${permissionPrefix}:view`, '允许拥有该权限的访问')])
|
||||
MagicResourceService.saveFile(getApi)
|
||||
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"properties" : { },
|
||||
"id" : "f4ebe91beaef452498879a98556481eb",
|
||||
"id" : "64c78249fafd4ddcbcac12d734645b67",
|
||||
"script" : null,
|
||||
"groupId" : "eb5dbed949de4f50ba4bf59f483252a5",
|
||||
"name" : "列表",
|
||||
"createTime" : 1648655132940,
|
||||
"createTime" : 1648780777685,
|
||||
"updateTime" : null,
|
||||
"lock" : null,
|
||||
"createBy" : null,
|
||||
@ -55,22 +55,20 @@
|
||||
},
|
||||
cols: [
|
||||
{
|
||||
|
||||
field: 'name',
|
||||
label: '名字'
|
||||
},
|
||||
{
|
||||
dictType: 'sex',
|
||||
field: 'sex',
|
||||
label: '性别'
|
||||
label: '性别',
|
||||
dictType: 'sex'
|
||||
},
|
||||
{
|
||||
|
||||
field: 'headPortrait',
|
||||
label: '头像'
|
||||
label: '头像',
|
||||
type: 'image'
|
||||
},
|
||||
{
|
||||
|
||||
field: 'remarks',
|
||||
label: '备注'
|
||||
},{
|
||||
@ -124,7 +122,7 @@
|
||||
name: 'name',
|
||||
label: '名字',
|
||||
component: 'input',
|
||||
|
||||
rules: [{ required: true, message: '请输入名字', trigger: 'change' }]
|
||||
},{
|
||||
span: 12,
|
||||
name: 'sex',
|
||||
@ -138,7 +136,7 @@
|
||||
name: 'headPortrait',
|
||||
label: '头像',
|
||||
component: 'upload-image',
|
||||
|
||||
rules: [{ required: true, message: '请选择头像', trigger: 'change' }]
|
||||
},{
|
||||
span: 12,
|
||||
name: 'remarks',
|
||||
@ -147,8 +145,7 @@
|
||||
props: {
|
||||
type: 'textarea'
|
||||
}
|
||||
,
|
||||
|
||||
|
||||
}]
|
||||
}]
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
@close="$emit('close')"
|
||||
>
|
||||
<slot name="content" />
|
||||
<template #footer>
|
||||
<template v-if="showFooter" #footer>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<slot name="btns">
|
||||
<el-button @click="hide">
|
||||
@ -48,6 +48,10 @@ export default {
|
||||
destroyOnClose: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
showFooter: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -31,7 +31,11 @@
|
||||
</el-button>
|
||||
</template>
|
||||
</div>
|
||||
<el-image v-else-if="col.type === 'image'" :src="scope.row[col.field]" :preview-src-list="[scope.row[col.field]]" />
|
||||
<el-image
|
||||
v-else-if="col.type === 'image'"
|
||||
:src="scope.row[col.field].startsWith('http') ? scope.row[col.field] : $global.baseApi + scope.row[col.field]"
|
||||
:preview-src-list="[scope.row[col.field].startsWith('http') ? scope.row[col.field] : $global.baseApi + scope.row[col.field]]"
|
||||
/>
|
||||
<span v-else-if="col.type === 'html'" v-html="scope.row[col.field]"></span>
|
||||
<span v-else-if="col.click">
|
||||
<a style="color: blue" @click="col.click(scope.row)">{{ scope.row[col.field] }}</a>
|
||||
|
@ -6,14 +6,18 @@
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="avatar">
|
||||
<el-avatar :size="40" fit="contain" :src="$global.baseApi + $global.user.info.headPortrait">
|
||||
{{ !$global.user.info.headPortrait ? $global.user.info.name.substring(0,1) : '' }}
|
||||
</el-avatar>
|
||||
<el-dropdown>
|
||||
<span class="username">{{ $global.user.info.username }}</span>
|
||||
<el-icon class="el-icon--right" color="white">
|
||||
<arrow-down />
|
||||
</el-icon>
|
||||
<el-col>
|
||||
<el-avatar :size="40" fit="contain" :src="$global.baseApi + $global.user.info.headPortrait">
|
||||
{{ !$global.user.info.headPortrait ? $global.user.info.name.substring(0,1) : '' }}
|
||||
</el-avatar>
|
||||
</el-col>
|
||||
<el-col style="line-height: 40px;">
|
||||
<span class="username">{{ $global.user.info.username }}</span>
|
||||
<el-icon class="el-icon--right" color="white">
|
||||
<arrow-down />
|
||||
</el-icon>
|
||||
</el-col>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<router-link to="/user-center">
|
||||
|
@ -43,18 +43,22 @@ function gen(groupPath, data){
|
||||
for(var i in data){
|
||||
var d = data[i]
|
||||
if(d.list){
|
||||
var type = ''
|
||||
if(d.component){
|
||||
if(d.component.indexOf('upload-image') != -1){
|
||||
type = `,
|
||||
type: 'image'`
|
||||
}
|
||||
}
|
||||
var dictType = ''
|
||||
if(d.dictType){
|
||||
html += `
|
||||
{
|
||||
dictType: '${d.dictType}',`
|
||||
}else{
|
||||
html += `
|
||||
{
|
||||
`
|
||||
dictType = `,
|
||||
dictType: '${d.dictType}'`
|
||||
}
|
||||
html += `
|
||||
{
|
||||
field: '${d.columnName}',
|
||||
label: '${d.columnComment}'
|
||||
label: '${d.columnComment}'${type}${dictType}
|
||||
},`
|
||||
}
|
||||
}
|
||||
@ -111,16 +115,25 @@ function gen(groupPath, data){
|
||||
if(d.save){
|
||||
var props = ''
|
||||
if(d.dictType){
|
||||
props = `props: {
|
||||
props = `,
|
||||
props: {
|
||||
type: '${d.dictType}'
|
||||
}`
|
||||
}
|
||||
var rules = ''
|
||||
if(d.required){
|
||||
var messagePrefix = '请选择'
|
||||
if(d.component.indexOf('input') != -1){
|
||||
messagePrefix = '请输入'
|
||||
}
|
||||
rules = `,
|
||||
rules: [{ required: true, message: '${messagePrefix}${d.columnComment}', trigger: 'change' }]`
|
||||
}
|
||||
html += `{
|
||||
span: 12,
|
||||
name: '${d.columnName}',
|
||||
label: '${d.columnComment}',
|
||||
${d.component},
|
||||
${props}
|
||||
${d.component}${props}${rules}
|
||||
},`
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,7 @@
|
||||
</template>
|
||||
</mb-dialog>
|
||||
|
||||
<mb-dialog ref="dictItemsDialog" title="字典项" width="1400px">
|
||||
<mb-dialog ref="dictItemsDialog" title="字典项" width="1400px" :show-footer="false">
|
||||
<template #content>
|
||||
<dict-items :key="Math.random()" v-model:dict-id="dictId" />
|
||||
</template>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="80px" v-if="isForm">
|
||||
<el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="90px" v-if="isForm">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="登录名称" prop="username">
|
||||
|
Loading…
x
Reference in New Issue
Block a user