代码生成支持mysql脚本生成菜单权限
This commit is contained in:
parent
b8c5231740
commit
3a418df47f
23
ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt
Normal file
23
ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
-- 菜单
|
||||||
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
|
VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', sysdate(), '', NULL, '{ModelTypeDesc}菜单');
|
||||||
|
|
||||||
|
-- 按钮父菜单id
|
||||||
|
SELECT @menuId := LAST_INSERT_ID();
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
|
VALUES ('查询', @menuId, 1, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:query', '', '', sysdate(), '', NULL, '');
|
||||||
|
|
||||||
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
|
VALUES ('新增', @menuId, 1, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:add', '', '', sysdate(), '', NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
|
VALUES ('删除', @menuId, 2, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:delete', '', '', sysdate(), '', NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
|
VALUES ('修改', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:update', '', '', sysdate(), '', NULL, NULL);
|
||||||
|
|
||||||
|
|
||||||
|
SELECT * FROM sys_menu WHERE parentId = @menuId;
|
||||||
|
SELECT * FROM sys_menu WHERE menuId = @menuId;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
-- 菜单
|
-- 菜单
|
||||||
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '', '{Permission}:list', '', GETDATE(), '', NULL, '{ModelTypeDesc}');
|
VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', GETDATE(), '', NULL, '{ModelTypeDesc}');
|
||||||
|
|
||||||
-- 按钮父菜单id
|
-- 按钮父菜单id
|
||||||
declare @menuId int = @@identity
|
declare @menuId int = @@identity
|
||||||
@ -17,3 +17,7 @@ VALUES ('删除', @menuId, 2, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:dele
|
|||||||
|
|
||||||
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark)
|
||||||
VALUES ('修改', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:update', '', '', GETDATE(), '', NULL, NULL);
|
VALUES ('修改', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:update', '', '', GETDATE(), '', NULL, NULL);
|
||||||
|
|
||||||
|
GO
|
||||||
|
SELECT * FROM sys_menu WHERE parentId = @menuId;
|
||||||
|
SELECT * FROM sys_menu WHERE menuId = @menuId;
|
||||||
@ -62,7 +62,7 @@ namespace ZR.CodeGenerator
|
|||||||
replaceDto.ModelTypeName = tableInfo.ClassName;//表名对应C# 实体类名
|
replaceDto.ModelTypeName = tableInfo.ClassName;//表名对应C# 实体类名
|
||||||
replaceDto.TableName = tableInfo.TableName;//表名
|
replaceDto.TableName = tableInfo.TableName;//表名
|
||||||
replaceDto.TableDesc = tableInfo.TableComment;//表说明描述
|
replaceDto.TableDesc = tableInfo.TableComment;//表说明描述
|
||||||
replaceDto.Permission = tableInfo.ClassName.ToLower();//权限
|
replaceDto.Permission = $"{tableInfo.ModuleName}:{tableInfo.ClassName.ToLower()}";//权限
|
||||||
replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName);
|
replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName);
|
||||||
//循环表字段信息
|
//循环表字段信息
|
||||||
foreach (GenTableColumn dbFieldInfo in listField)
|
foreach (GenTableColumn dbFieldInfo in listField)
|
||||||
@ -393,7 +393,19 @@ namespace ZR.CodeGenerator
|
|||||||
|
|
||||||
if (File.Exists(fullPath) && !generateDto.coverd)
|
if (File.Exists(fullPath) && !generateDto.coverd)
|
||||||
return Tuple.Create(fullPath, "");
|
return Tuple.Create(fullPath, "");
|
||||||
var content = ReadTemplate("SqlTemplate.txt")
|
var tempName = "";
|
||||||
|
switch (generateDto.DbType)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
tempName = "MySqlTemplate";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
tempName = "SqlTemplate";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var content = ReadTemplate($"{tempName}.txt")
|
||||||
.Replace("{ModelTypeName}", replaceDto.ModelTypeName)
|
.Replace("{ModelTypeName}", replaceDto.ModelTypeName)
|
||||||
.Replace("{Permission}", replaceDto.Permission)
|
.Replace("{Permission}", replaceDto.Permission)
|
||||||
.Replace("{ModelTypeDesc}", replaceDto.TableDesc)
|
.Replace("{ModelTypeDesc}", replaceDto.TableDesc)
|
||||||
|
|||||||
@ -20,6 +20,10 @@ namespace ZR.CodeGenerator.Model
|
|||||||
/// 如果目标文件存在,是否覆盖。默认为false
|
/// 如果目标文件存在,是否覆盖。默认为false
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool coverd { get; set; } = true;
|
public bool coverd { get; set; } = true;
|
||||||
|
/// <summary>
|
||||||
|
/// 生成代码的数据库类型 0、mysql 1、sqlserver
|
||||||
|
/// </summary>
|
||||||
|
public int DbType { get; set; }
|
||||||
public GenTable GenTable { get; set; }
|
public GenTable GenTable { get; set; }
|
||||||
#region 存储路径
|
#region 存储路径
|
||||||
//public string ModelPath { get; set; }
|
//public string ModelPath { get; set; }
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item prop="baseNameSpace">
|
<el-form-item prop="baseNameSpace">
|
||||||
<span slot="label">
|
<span slot="label">
|
||||||
@ -76,9 +76,9 @@
|
|||||||
<el-form-item prop="genType">
|
<el-form-item prop="genType">
|
||||||
<span slot="label">
|
<span slot="label">
|
||||||
生成代码方式
|
生成代码方式
|
||||||
<el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top">
|
<!-- <el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top">
|
||||||
<i class="el-icon-question"></i>
|
<i class="el-icon-question"></i>
|
||||||
</el-tooltip>
|
</el-tooltip> -->
|
||||||
</span>
|
</span>
|
||||||
<el-radio v-model="info.genType" label="0">zip压缩包</el-radio>
|
<el-radio v-model="info.genType" label="0">zip压缩包</el-radio>
|
||||||
<!-- <el-radio v-model="info.genType" label="1">自定义路径</el-radio> -->
|
<!-- <el-radio v-model="info.genType" label="1">自定义路径</el-radio> -->
|
||||||
|
|||||||
@ -63,6 +63,11 @@
|
|||||||
<el-radio v-model="coverd" :label="false">否</el-radio>
|
<el-radio v-model="coverd" :label="false">否</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="数据库类型">
|
||||||
|
<el-radio v-model="dbType" :label="0">mySql</el-radio>
|
||||||
|
<el-radio v-model="dbType" :label="1">sqlServer</el-radio>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="handleGenerate">确 定</el-button>
|
<el-button type="primary" @click="handleGenerate">确 定</el-button>
|
||||||
@ -87,21 +92,11 @@ export default {
|
|||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
dbName: "",
|
|
||||||
tableName: "",
|
tableName: "",
|
||||||
baseSpace: "",
|
|
||||||
replaceTableNameStr: "",
|
|
||||||
},
|
},
|
||||||
showGenerate: false,
|
showGenerate: false,
|
||||||
checkedCodeGenerateForm: [1, 2, 3, 4, 5, 6, 7],
|
checkedCodeGenerateForm: [1, 2, 3, 4, 5, 6, 7],
|
||||||
rules: {
|
rules: {},
|
||||||
dbName: [
|
|
||||||
{ required: true, message: "请选择数据库名称", trigger: "blur" },
|
|
||||||
],
|
|
||||||
replaceTableNameStr: [
|
|
||||||
{ min: 0, max: 50, message: "长度小于50个字符", trigger: "blur" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
// 表数据
|
// 表数据
|
||||||
tableData: [],
|
tableData: [],
|
||||||
// 是否显示加载
|
// 是否显示加载
|
||||||
@ -109,13 +104,12 @@ export default {
|
|||||||
total: 0,
|
total: 0,
|
||||||
// 选中行的表
|
// 选中行的表
|
||||||
currentSelected: {},
|
currentSelected: {},
|
||||||
selectedDataBase: [],
|
|
||||||
// 列信息
|
|
||||||
// columnData: [],
|
|
||||||
// 选中的列
|
// 选中的列
|
||||||
checkedQueryColumn: [],
|
checkedQueryColumn: [],
|
||||||
//是否覆盖原先代码
|
//是否覆盖原先代码
|
||||||
coverd: true,
|
coverd: true,
|
||||||
|
// 生成SQL脚本的数据库类型
|
||||||
|
dbType: 0,
|
||||||
// 选中的表
|
// 选中的表
|
||||||
tableIds: [],
|
tableIds: [],
|
||||||
// 非多个禁用
|
// 非多个禁用
|
||||||
@ -176,6 +170,7 @@ export default {
|
|||||||
tableName: this.currentSelected.name,
|
tableName: this.currentSelected.name,
|
||||||
genFiles: this.checkedCodeGenerateForm,
|
genFiles: this.checkedCodeGenerateForm,
|
||||||
coverd: this.coverd,
|
coverd: this.coverd,
|
||||||
|
dbType: this.dbType,
|
||||||
queryColumn: this.checkedQueryColumn,
|
queryColumn: this.checkedQueryColumn,
|
||||||
};
|
};
|
||||||
console.log(JSON.stringify(seachdata));
|
console.log(JSON.stringify(seachdata));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user