【更新】补充新版本升级内容
This commit is contained in:
parent
dab4b06dfc
commit
20f71f23f7
@ -79,6 +79,40 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="所属应用"
|
||||
has-feedback
|
||||
>
|
||||
<a-select style="width: 100%" placeholder="请选择应用分类" v-decorator="['appCode', {rules: [{ required: true, message: '请选择应用分类!' }]}]" >
|
||||
<a-select-option v-for="(item,index) in appData" :key="index" :value="item.code" @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="父级菜单"
|
||||
has-feedback
|
||||
>
|
||||
<a-tree-select
|
||||
v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
|
||||
style="width: 100%"
|
||||
:dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
|
||||
:treeData="menuTreeData"
|
||||
placeholder="请选择父级菜单"
|
||||
treeDefaultExpandAll
|
||||
>
|
||||
<span slot="title" slot-scope="{ id }">{{ id }}
|
||||
</span>
|
||||
</a-tree-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
@ -108,6 +142,8 @@
|
||||
|
||||
<script>
|
||||
import { codeGenerateInformationList, codeGenerateAdd } from '@/api/modular/gen/codeGenerateManage'
|
||||
import { getAppList } from '@/api/modular/system/appManage'
|
||||
import { getMenuTree } from '@/api/modular/system/menuManage'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
@ -127,6 +163,8 @@
|
||||
tablePrefixValue: 'N',
|
||||
tableNameValue: '',
|
||||
packageNameShow: true,
|
||||
appData: [],
|
||||
menuTreeData: [],
|
||||
form: this.$form.createForm(this)
|
||||
}
|
||||
},
|
||||
@ -137,6 +175,7 @@
|
||||
this.codeGenerateInformationList()
|
||||
this.dataTypeItem()
|
||||
this.selectedByDefault()
|
||||
this.getSysApplist()
|
||||
},
|
||||
/**
|
||||
* 默认选中项
|
||||
@ -145,6 +184,7 @@
|
||||
this.form.getFieldDecorator('packageName', { initialValue: 'vip.xiaonuo' })
|
||||
this.form.getFieldDecorator('tablePrefix', { valuePropName: 'checked', initialValue: 'N' })
|
||||
this.form.getFieldDecorator('generateType', { valuePropName: 'checked', initialValue: '1' })
|
||||
this.tablePrefixValue = 'N'
|
||||
},
|
||||
/**
|
||||
* 获得所有数据库的表
|
||||
@ -154,6 +194,38 @@
|
||||
this.tableNameData = res.data
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取应用列表
|
||||
*/
|
||||
getSysApplist () {
|
||||
return getAppList().then((res) => {
|
||||
if (res.success) {
|
||||
this.appData = res.data
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 通过应用获取菜单
|
||||
*/
|
||||
changeApplication (value) {
|
||||
this.form.resetFields(`menuPid`, [])
|
||||
getMenuTree({ 'application': value }).then((res) => {
|
||||
if (res.success) {
|
||||
this.menuTreeData = [{
|
||||
'id': '-1',
|
||||
'parentId': '0',
|
||||
'title': '顶级',
|
||||
'value': '0',
|
||||
'pid': '0',
|
||||
'children': res.data
|
||||
}]
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取字典数据
|
||||
*/
|
||||
|
@ -80,6 +80,40 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="所属应用"
|
||||
has-feedback
|
||||
>
|
||||
<a-select style="width: 100%" placeholder="请选择应用分类" v-decorator="['appCode', {rules: [{ required: true, message: '请选择应用分类!' }]}]" >
|
||||
<a-select-option v-for="(item,index) in appData" :key="index" :value="item.code" @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="父级菜单"
|
||||
has-feedback
|
||||
>
|
||||
<a-tree-select
|
||||
v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
|
||||
style="width: 100%"
|
||||
:dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
|
||||
:treeData="menuTreeData"
|
||||
placeholder="请选择父级菜单"
|
||||
treeDefaultExpandAll
|
||||
>
|
||||
<span slot="title" slot-scope="{ id }">{{ id }}
|
||||
</span>
|
||||
</a-tree-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-form-item
|
||||
@ -109,6 +143,8 @@
|
||||
|
||||
<script>
|
||||
import { codeGenerateInformationList, codeGenerateEdit } from '@/api/modular/gen/codeGenerateManage'
|
||||
import { getAppList } from '@/api/modular/system/appManage'
|
||||
import { getMenuTree } from '@/api/modular/system/menuManage'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
@ -128,6 +164,8 @@
|
||||
tablePrefixValue: 'N',
|
||||
tableNameValue: '',
|
||||
packageNameShow: true,
|
||||
appData: [],
|
||||
menuTreeData: [],
|
||||
form: this.$form.createForm(this)
|
||||
}
|
||||
},
|
||||
@ -137,6 +175,7 @@
|
||||
this.visible = true
|
||||
this.codeGenerateInformationList()
|
||||
this.dataTypeItem()
|
||||
this.getSysApplist()
|
||||
setTimeout(() => {
|
||||
this.form.setFieldsValue(
|
||||
{
|
||||
@ -148,10 +187,13 @@
|
||||
busName: record.busName,
|
||||
generateType: record.generateType,
|
||||
authorName: record.authorName,
|
||||
packageName: record.packageName
|
||||
packageName: record.packageName,
|
||||
appCode: record.appCode,
|
||||
menuPid: record.menuPid
|
||||
}
|
||||
)
|
||||
}, 100)
|
||||
this.changeApplication(record.appCode)
|
||||
this.tableNameValue = record.tableName
|
||||
this.tablePrefixValue = record.tablePrefix
|
||||
},
|
||||
@ -163,6 +205,38 @@
|
||||
this.tableNameData = res.data
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取应用列表
|
||||
*/
|
||||
getSysApplist () {
|
||||
return getAppList().then((res) => {
|
||||
if (res.success) {
|
||||
this.appData = res.data
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 通过应用获取菜单
|
||||
*/
|
||||
changeApplication (value) {
|
||||
this.form.resetFields(`menuPid`, [])
|
||||
getMenuTree({ 'application': value }).then((res) => {
|
||||
if (res.success) {
|
||||
this.menuTreeData = [{
|
||||
'id': '-1',
|
||||
'parentId': '0',
|
||||
'title': '顶级',
|
||||
'value': '0',
|
||||
'pid': '0',
|
||||
'children': res.data
|
||||
}]
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取字典数据
|
||||
*/
|
||||
|
@ -86,6 +86,10 @@ public class XnVelocityContext {
|
||||
});
|
||||
velocityContext.put("queryWhetherList", codeGenerateConfigList);
|
||||
|
||||
velocityContext.put("appCode", xnCodeGenParam.getAppCode());
|
||||
|
||||
velocityContext.put("menuPids", xnCodeGenParam.getMenuPids() + "[" + xnCodeGenParam.getMenuPid() + "],");
|
||||
|
||||
// sql中id的创建
|
||||
List<Long> idList = new ArrayList<>();
|
||||
for (int a = 0; a <= 7; a++) {
|
||||
|
@ -93,4 +93,19 @@ public class XnCodeGenParam {
|
||||
*/
|
||||
private String busName;
|
||||
|
||||
/**
|
||||
* 所属应用
|
||||
*/
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 菜单上级
|
||||
*/
|
||||
private String menuPid;
|
||||
|
||||
/**
|
||||
* 菜单上级父ids
|
||||
*/
|
||||
private String menuPids;
|
||||
|
||||
}
|
||||
|
@ -86,4 +86,15 @@ public class CodeGenerate extends BaseEntity {
|
||||
* 功能名(数据库表名称)
|
||||
*/
|
||||
private String tableComment;
|
||||
|
||||
/**
|
||||
* 所属应用
|
||||
*/
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 菜单上级
|
||||
*/
|
||||
private String menuPid;
|
||||
|
||||
}
|
||||
|
@ -96,4 +96,16 @@ public class CodeGenerateParam extends BaseParam {
|
||||
@NotBlank(message = "功能名不能为空,请检查tableComment参数", groups = {BaseParam.add.class, edit.class})
|
||||
private String tableComment;
|
||||
|
||||
/**
|
||||
* 所属应用
|
||||
*/
|
||||
@NotBlank(message = "所属应用不能为空,请检查appCode参数", groups = {BaseParam.add.class, edit.class})
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 菜单上级
|
||||
*/
|
||||
@NotBlank(message = "菜单上级不能为空,请检查menuPid参数", groups = {BaseParam.add.class, edit.class})
|
||||
private String menuPid;
|
||||
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.velocity.Template;
|
||||
import org.apache.velocity.VelocityContext;
|
||||
@ -57,6 +58,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
@ -80,6 +82,8 @@ public class CodeGenerateServiceImpl extends ServiceImpl<CodeGenerateMapper, Cod
|
||||
*/
|
||||
private static String ENCODED = "UTF-8";
|
||||
|
||||
private static String SELECT_SYS_MENU_SQL = "select * from sys_menu where id = {0}";
|
||||
|
||||
/**
|
||||
* 转换模板名称所需变量
|
||||
*/
|
||||
@ -234,6 +238,8 @@ public class CodeGenerateServiceImpl extends ServiceImpl<CodeGenerateMapper, Cod
|
||||
param.setFunctionName(codeGenerate.getTableComment());
|
||||
param.setConfigList(configList);
|
||||
param.setCreateTimeString(StringDateTool.getStringDate());
|
||||
Map<String, Object> map = SqlRunner.db().selectOne(SELECT_SYS_MENU_SQL, codeGenerate.getMenuPid());
|
||||
param.setMenuPids(map.get("pids").toString());
|
||||
return param;
|
||||
}
|
||||
|
||||
|
@ -4,35 +4,35 @@
|
||||
#foreach ($id in $sqlMenuId)
|
||||
#if($foreach.count == 1)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '0', '[0],', '${functionName}', '${busName}_index', '1', null, '/${className}', 'main/${busName}/index', null, 'system_tool', '1', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '0', '${menuPids}', '${functionName}', '${busName}_index', '1', null, '/${className}', 'main/${busName}/index', null, '${appCode}', '1', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
#set ($pid=$id)
|
||||
|
||||
#elseif($foreach.count == 2)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}查询', '${busName}_index_page', '2', null, null, null, '${className}:page', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}查询', '${busName}_index_page', '2', null, null, null, '${className}:page', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 3)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}新增', '${busName}_index_add', '2', null, null, null, '${className}:add', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}新增', '${busName}_index_add', '2', null, null, null, '${className}:add', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 4)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}编辑', '${busName}_index_edit', '2', null, null, null, '${className}:edit', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}编辑', '${busName}_index_edit', '2', null, null, null, '${className}:edit', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 5)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}删除', '${busName}_index_delete', '2', null, null, null, '${className}:delete', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}删除', '${busName}_index_delete', '2', null, null, null, '${className}:delete', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 6)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}查看', '${busName}_index_detail', '2', null, null, null, '${className}:detail', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}查看', '${busName}_index_detail', '2', null, null, null, '${className}:detail', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 7)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}列表', '${busName}_index_list', '2', null, null, null, '${className}:list', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}列表', '${busName}_index_list', '2', null, null, null, '${className}:list', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 8)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
('$id', '$pid', '[0],[$pid],', '${functionName}导出', '${busName}_index_export', '2', null, null, null, '${className}:export', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
('$id', '$pid', '${menuPids}[$pid],', '${functionName}导出', '${busName}_index_export', '2', null, null, null, '${className}:export', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
|
||||
#end
|
||||
#end
|
@ -4,35 +4,35 @@
|
||||
#foreach ($id in $sqlMenuId)
|
||||
#if($foreach.count == 1)
|
||||
INSERT INTO "sys_menu" VALUES
|
||||
("$id", "0", "[0],", "${functionName}", "${busName}_index", "1", null, "/${className}", "main/${busName}/index", null, "system_tool", "1", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "0", "${menuPids}", "${functionName}", "${busName}_index", "1", null, "/${className}", "main/${busName}/index", null, "${appCode}", "1", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
#set ($pid=$id)
|
||||
|
||||
#elseif($foreach.count == 2)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}查询", "${busName}_index_page", "2", null, null, null, "${className}:page", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}查询", "${busName}_index_page", "2", null, null, null, "${className}:page", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 3)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}新增", "${busName}_index_add", "2", null, null, null, "${className}:add", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}新增", "${busName}_index_add", "2", null, null, null, "${className}:add", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 4)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}编辑", "${busName}_index_edit", "2", null, null, null, "${className}:edit", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}编辑", "${busName}_index_edit", "2", null, null, null, "${className}:edit", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 5)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}删除", "${busName}_index_delete", "2", null, null, null, "${className}:delete", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}删除", "${busName}_index_delete", "2", null, null, null, "${className}:delete", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 6)
|
||||
INSERT INTO `sys_menu` VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}查看", "${busName}_index_detail", "2", null, null, null, "${className}:detail", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}查看", "${busName}_index_detail", "2", null, null, null, "${className}:detail", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 7)
|
||||
INSERT INTO "sys_menu" VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}列表", "${busName}_index_list", "2", null, null, null, "${className}:list", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}列表", "${busName}_index_list", "2", null, null, null, "${className}:list", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
|
||||
#elseif($foreach.count == 7)
|
||||
INSERT INTO "sys_menu" VALUES
|
||||
("$id", "$pid", "[0],[$pid],", "${functionName}导出", "${busName}_index_export", "2", null, null, null, "${className}:export", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
("$id", "$pid", "${menuPids}[$pid],", "${functionName}导出", "${busName}_index_export", "2", null, null, null, "${className}:export", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
|
||||
#end
|
||||
#end
|
||||
|
Loading…
x
Reference in New Issue
Block a user