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