fix 代码生成包路径支持多级嵌套

This commit is contained in:
yxh 2023-11-13 15:57:58 +08:00
parent d1e24c44f8
commit 5a4e096ee1
14 changed files with 156 additions and 633 deletions

View File

@ -49,7 +49,7 @@ type ToolsGenTableImportTableReq struct {
type ToolsGenTableDeleteReq struct { type ToolsGenTableDeleteReq struct {
g.Meta `path:"/tools/gen/tableDelete" tags:"代码生成" method:"delete" summary:"删除已导入的表"` g.Meta `path:"/tools/gen/tableDelete" tags:"代码生成" method:"delete" summary:"删除已导入的表"`
commonApi.Author commonApi.Author
Ids []int `p:"ids" v:required#删除的id必须` Ids []int `p:"ids" v:"required#删除的id必须"`
} }
type ToolsGenTableEditReq struct { type ToolsGenTableEditReq struct {

View File

@ -518,6 +518,14 @@ func (s *sToolsGenTable) GenData(ctx context.Context, tableId int64) (data g.Map
"newArray": func() []interface{} { "newArray": func() []interface{} {
return []interface{}{} return []interface{}{}
}, },
"strTrim":func(str interface{},trimStr interface{}) string {
strCon:=gconv.String(str)
strSub:=gconv.String(trimStr)
if len(strCon)>len(strSub){
strCon = gstr.StrEx(strCon,strSub)
}
return strCon
},
}) })
//树形菜单选项 //树形菜单选项
@ -525,6 +533,7 @@ func (s *sToolsGenTable) GenData(ctx context.Context, tableId int64) (data g.Map
"table": extendData, "table": extendData,
"goModName": g.Cfg().MustGet(ctx, "gen.goModName").String(), "goModName": g.Cfg().MustGet(ctx, "gen.goModName").String(),
"apiVersion": g.Cfg().MustGet(ctx, "gen.apiName").String(), "apiVersion": g.Cfg().MustGet(ctx, "gen.apiName").String(),
"modulePath":gstr.StrEx(extendData.PackageName,"internal/app/"),
} }
apiKey := "api" apiKey := "api"
apiValue := "" apiValue := ""
@ -985,15 +994,12 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
genData, extendData, err = s.GenData(ctx, gconv.Int64(id)) genData, extendData, err = s.GenData(ctx, gconv.Int64(id))
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
packageName := extendData.PackageName packageName := extendData.PackageName
pluginName := ""
if gstr.ContainsI(extendData.PackageName, "plugins") {
pluginName = "plugins/"
}
businessName := gstr.CaseCamelLower(extendData.BusinessName) businessName := gstr.CaseCamelLower(extendData.BusinessName)
modulePath := gstr.StrEx(extendData.PackageName,"internal/app/")
for key, code := range genData { for key, code := range genData {
switch key { switch key {
case "api": case "api":
path := strings.Join([]string{curDir, "/", apiName, "/", pluginName, extendData.ModuleName, "/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", apiName, "/", modulePath, "/", extendData.TableName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "controller": case "controller":
@ -1039,7 +1045,7 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "sql": case "sql":
path := strings.Join([]string{curDir, "/resource/data/gen_sql/", extendData.ModuleName, "/", extendData.TableName, ".sql"}, "") path := strings.Join([]string{curDir, "/resource/data/gen_sql/", modulePath, "/", extendData.TableName, ".sql"}, "")
hasSql := gfile.Exists(path) hasSql := gfile.Exists(path)
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
@ -1051,32 +1057,32 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
commonService.Cache().Remove(ctx, consts.CacheSysAuthMenu) commonService.Cache().Remove(ctx, consts.CacheSysAuthMenu)
} }
case "tsApi": case "tsApi":
path := strings.Join([]string{frontDir, "/src/api/" + pluginName, extendData.ModuleName, "/", businessName, ".ts"}, "") path := strings.Join([]string{frontDir, "/src/api/", modulePath, "/", businessName, ".ts"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "tsModel": case "tsModel":
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/model", ".ts"}, "") path := strings.Join([]string{frontDir, "/src/views/",modulePath, "/", businessName + "/list/component/model", ".ts"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "vue": case "vue":
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName, "/list/index.vue"}, "") path := strings.Join([]string{frontDir, "/src/views/",modulePath, "/", businessName, "/list/index.vue"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "vueDetail": case "vueDetail":
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/detail", ".vue"}, "") path := strings.Join([]string{frontDir, "/src/views/" ,modulePath, "/", businessName + "/list/component/detail", ".vue"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "vueEdit": case "vueEdit":
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/edit", ".vue"}, "") path := strings.Join([]string{frontDir, "/src/views/" ,modulePath, "/", businessName + "/list/component/edit", ".vue"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
} }
} }
//生成模块路由 //生成模块路由
err = s.genModuleRouter(curDir, goModName, extendData.ModuleName) err = s.genModuleRouter(curDir, goModName, extendData.ModuleName,modulePath)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
//生成模块boot logic //生成模块boot logic
err = s.genModuleBootLogic(curDir, extendData.ModuleName) err = s.genModuleBootLogic(curDir, extendData.ModuleName,modulePath)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
//生成对应模块的业务logic //生成对应模块的业务logic
err = s.genModuleLogic(curDir, goModName, extendData.PackageName) err = s.genModuleLogic(curDir, goModName, extendData.PackageName)
@ -1232,12 +1238,13 @@ func (s *sToolsGenTable) genModuleLogic(curDir, goModName, packageName string) (
return return
} }
func (s *sToolsGenTable) genModuleRouter(curDir, goModName, moduleName string) (err error) { func (s *sToolsGenTable) genModuleRouter(curDir, goModName, moduleName,modulePath string) (err error) {
path := strings.Join([]string{curDir, "/internal/router/" + moduleName + ".go"}, "") modulePathName :=gstr.CaseCamelLower(gstr.Replace(modulePath,"/","_"))
path := strings.Join([]string{curDir, "/internal/router/" + modulePathName + ".go"}, "")
if gfile.IsFile(path) || moduleName == "system" { if gfile.IsFile(path) || moduleName == "system" {
return return
} }
moduleNameUpper := gstr.CaseCamel(moduleName) moduleNameUpper := gstr.CaseCamel(modulePathName)
code := fmt.Sprintf(`package router code := fmt.Sprintf(`package router
import ( import (
"context" "context"
@ -1247,13 +1254,14 @@ import (
func (router *Router) Bind%sModuleController(ctx context.Context, group *ghttp.RouterGroup) { func (router *Router) Bind%sModuleController(ctx context.Context, group *ghttp.RouterGroup) {
%sRouter.R.BindController(ctx, group) %sRouter.R.BindController(ctx, group)
}`, moduleName, goModName, moduleName, moduleNameUpper, moduleName) }`, moduleName, goModName, modulePath, moduleNameUpper, moduleName)
err = s.createFile(path, code, true) err = s.createFile(path, code, true)
return return
} }
func (s *sToolsGenTable) genModuleBootLogic(curDir, moduleName string) (err error) { func (s *sToolsGenTable) genModuleBootLogic(curDir, moduleName,modulePath string) (err error) {
path := strings.Join([]string{curDir, "/internal/app/boot/" + moduleName + ".go"}, "") modulePathName :=gstr.CaseCamelLower(gstr.Replace(modulePath,"/","_"))
path := strings.Join([]string{curDir, "/internal/app/boot/" + modulePathName + ".go"}, "")
if gfile.IsFile(path) || moduleName == "system" { if gfile.IsFile(path) || moduleName == "system" {
return return
} }
@ -1261,7 +1269,7 @@ func (s *sToolsGenTable) genModuleBootLogic(curDir, moduleName string) (err erro
import ( import (
_ "github.com/tiger1103/gfast/v3/internal/app/%s/logic" _ "github.com/tiger1103/gfast/v3/internal/app/%s/logic"
) )
`, moduleName) `, modulePath)
err = s.createFile(path, code, true) err = s.createFile(path, code, true)
return return
} }

View File

@ -9,5 +9,5 @@ package consts
const ( const (
Logo = `CiAgIF9fX19fX19fX19fXyAgICAgICAgICAgX18gCiAgLyBfX19fLyBfX19fL19fXyBfX19fX18vIC9fCiAvIC8gX18vIC9fICAvIF9fIGAvIF9fXy8gX18vCi8gL18vIC8gX18vIC8gL18vIChfXyAgKSAvXyAgClxfX19fL18vICAgIFxfXyxfL19fX18vXF9fLyAg` Logo = `CiAgIF9fX19fX19fX19fXyAgICAgICAgICAgX18gCiAgLyBfX19fLyBfX19fL19fXyBfX19fX18vIC9fCiAvIC8gX18vIC9fICAvIF9fIGAvIF9fXy8gX18vCi8gL18vIC8gX18vIC8gL18vIChfXyAgKSAvXyAgClxfX19fL18vICAgIFxfXyxfL19fX18vXF9fLyAg`
Version = "3.2.10" Version = "3.2.11"
) )

View File

@ -11,7 +11,7 @@
Target Server Version : 50736 Target Server Version : 50736
File Encoding : 65001 File Encoding : 65001
Date: 03/11/2023 18:09:10 Date: 10/11/2023 12:08:21
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
@ -199,15 +199,15 @@ INSERT INTO `casbin_rule` VALUES ('p', '2', '33', 'All', '', '', '');
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `demo_city_code`; DROP TABLE IF EXISTS `demo_city_code`;
CREATE TABLE `demo_city_code` ( CREATE TABLE `demo_city_code` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '城市ID', `id` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '城市ID',
`pid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市父ID', `pid` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市父ID',
`deep` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '级别', `deep` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '级别',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市名称', `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市名称',
`pinyin_prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市拼音头', `pinyin_prefix` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市拼音头',
`pinyin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市拼音', `pinyin` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市拼音',
`ext_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '完整ID', `ext_id` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '完整ID',
`ext_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市全称', `ext_name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市全称',
`weathercode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '天气预报的编码', `weathercode` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '天气预报的编码',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `idname,code`(`id`, `name`, `weathercode`) USING BTREE COMMENT '这三个字段并列一起,必须是唯一的' UNIQUE INDEX `idname,code`(`id`, `name`, `weathercode`) USING BTREE COMMENT '这三个字段并列一起,必须是唯一的'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '省市区县和天气预报编码' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '省市区县和天气预报编码' ROW_FORMAT = DYNAMIC;
@ -4055,7 +4055,7 @@ CREATE TABLE `sys_auth_rule` (
UNIQUE INDEX `name`(`name`) USING BTREE, UNIQUE INDEX `name`(`name`) USING BTREE,
INDEX `pid`(`pid`) USING BTREE, INDEX `pid`(`pid`) USING BTREE,
INDEX `weigh`(`weigh`) USING BTREE INDEX `weigh`(`weigh`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 175 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单节点表' ROW_FORMAT = COMPACT; ) ENGINE = InnoDB AUTO_INCREMENT = 59 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单节点表' ROW_FORMAT = COMPACT;
-- ---------------------------- -- ----------------------------
-- Records of sys_auth_rule -- Records of sys_auth_rule
@ -4352,7 +4352,7 @@ CREATE TABLE `sys_job_log` (
`created_at` datetime NULL DEFAULT NULL COMMENT '执行日期', `created_at` datetime NULL DEFAULT NULL COMMENT '执行日期',
`result` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行结果', `result` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行结果',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2375 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务日志表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 2379 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务日志表' ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
-- Records of sys_job_log -- Records of sys_job_log
@ -6181,6 +6181,10 @@ INSERT INTO `sys_job_log` VALUES (2371, 'checkUserOnline', '2023-11-03 17:10:06'
INSERT INTO `sys_job_log` VALUES (2372, 'checkUserOnline', '2023-11-03 17:20:06', '在线用户定时更新,执行成功'); INSERT INTO `sys_job_log` VALUES (2372, 'checkUserOnline', '2023-11-03 17:20:06', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2373, 'checkUserOnline', '2023-11-03 17:30:06', '在线用户定时更新,执行成功'); INSERT INTO `sys_job_log` VALUES (2373, 'checkUserOnline', '2023-11-03 17:30:06', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2374, 'checkUserOnline', '2023-11-03 17:40:06', '在线用户定时更新,执行成功'); INSERT INTO `sys_job_log` VALUES (2374, 'checkUserOnline', '2023-11-03 17:40:06', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2375, 'checkUserOnline', '2023-11-03 18:10:06', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2376, 'checkUserOnline', '2023-11-03 18:30:05', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2377, 'checkUserOnline', '2023-11-06 09:00:06', '在线用户定时更新,执行成功');
INSERT INTO `sys_job_log` VALUES (2378, 'checkUserOnline', '2023-11-06 09:10:06', '在线用户定时更新,执行成功');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_login_log -- Table structure for sys_login_log
@ -6198,7 +6202,7 @@ CREATE TABLE `sys_login_log` (
`login_time` datetime NULL DEFAULT NULL COMMENT '登录时间', `login_time` datetime NULL DEFAULT NULL COMMENT '登录时间',
`module` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录模块', `module` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录模块',
PRIMARY KEY (`info_id`) USING BTREE PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 189 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = COMPACT; ) ENGINE = InnoDB AUTO_INCREMENT = 190 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = COMPACT;
-- ---------------------------- -- ----------------------------
-- Records of sys_login_log -- Records of sys_login_log
@ -6391,6 +6395,7 @@ INSERT INTO `sys_login_log` VALUES (185, 'wangming', '::1', '内网IP', 'Safari'
INSERT INTO `sys_login_log` VALUES (186, 'wangming', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 15:59:13', '微信小程序'); INSERT INTO `sys_login_log` VALUES (186, 'wangming', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 15:59:13', '微信小程序');
INSERT INTO `sys_login_log` VALUES (187, '18687460581', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 16:02:25', '微信小程序'); INSERT INTO `sys_login_log` VALUES (187, '18687460581', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 16:02:25', '微信小程序');
INSERT INTO `sys_login_log` VALUES (188, '18687460581', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 16:03:56', '微信小程序'); INSERT INTO `sys_login_log` VALUES (188, '18687460581', '::1', '内网IP', 'Safari', 'CPU iPhone OS 11_0 like Mac OS X', 1, '登录成功', '2023-11-03 16:03:56', '微信小程序');
INSERT INTO `sys_login_log` VALUES (189, 'demo', '::1', '内网IP', 'Chrome', 'Windows 10', 1, '登录成功', '2023-11-06 08:57:18', '系统后台');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_oper_log -- Table structure for sys_oper_log
@ -6409,10 +6414,10 @@ CREATE TABLE `sys_oper_log` (
`oper_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址', `oper_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址',
`oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作地点', `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作地点',
`oper_param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数', `oper_param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数',
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息', `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误消息',
`oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`oper_id`) USING BTREE PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8923 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = COMPACT; ) ENGINE = InnoDB AUTO_INCREMENT = 8959 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = COMPACT;
-- ---------------------------- -- ----------------------------
-- Records of sys_oper_log -- Records of sys_oper_log
@ -15339,6 +15344,42 @@ INSERT INTO `sys_oper_log` VALUES (8919, '', 0, '/api/v1/system/tools/gen/relati
INSERT INTO `sys_oper_log` VALUES (8920, '', 0, '/api/v1/system/dict/type/optionSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/type/optionSelect', '::1', '内网IP', '{}', '', '2023-11-03 17:41:49'); INSERT INTO `sys_oper_log` VALUES (8920, '', 0, '/api/v1/system/dict/type/optionSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/type/optionSelect', '::1', '内网IP', '{}', '', '2023-11-03 17:41:49');
INSERT INTO `sys_oper_log` VALUES (8921, '代码生成配置', 0, '/api/v1/system/tools/gen/columnList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/columnList?tableId=96', '::1', '内网IP', '{\"tableId\":\"96\"}', '', '2023-11-03 17:41:49'); INSERT INTO `sys_oper_log` VALUES (8921, '代码生成配置', 0, '/api/v1/system/tools/gen/columnList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/columnList?tableId=96', '::1', '内网IP', '{\"tableId\":\"96\"}', '', '2023-11-03 17:41:49');
INSERT INTO `sys_oper_log` VALUES (8922, '', 0, '/api/v1/system/tools/gen/relationTable', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/relationTable', '::1', '内网IP', '{}', '', '2023-11-03 17:41:49'); INSERT INTO `sys_oper_log` VALUES (8922, '', 0, '/api/v1/system/tools/gen/relationTable', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/relationTable', '::1', '内网IP', '{}', '', '2023-11-03 17:41:49');
INSERT INTO `sys_oper_log` VALUES (8923, '代码生成', 0, '/api/v1/system/tools/gen/tableList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/tableList?tableName=&tableComment=&pageNum=1&pageSize=10', '::1', '内网IP', '{\"pageNum\":\"1\",\"pageSize\":\"10\",\"tableComment\":\"\",\"tableName\":\"\"}', '', '2023-11-03 18:31:01');
INSERT INTO `sys_oper_log` VALUES (8924, '代码生成配置', 0, '/api/v1/system/tools/gen/columnList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/columnList?tableId=96', '::1', '内网IP', '{\"tableId\":\"96\"}', '', '2023-11-03 18:31:04');
INSERT INTO `sys_oper_log` VALUES (8925, '', 0, '/api/v1/system/dict/type/optionSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/type/optionSelect', '::1', '内网IP', '{}', '', '2023-11-03 18:31:04');
INSERT INTO `sys_oper_log` VALUES (8926, '', 0, '/api/v1/system/tools/gen/relationTable', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/relationTable', '::1', '内网IP', '{}', '', '2023-11-03 18:31:04');
INSERT INTO `sys_oper_log` VALUES (8927, '', 0, '/api/v1/system/dict/type/optionSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/type/optionSelect', '::1', '内网IP', '{}', '', '2023-11-03 18:31:06');
INSERT INTO `sys_oper_log` VALUES (8928, '代码生成配置', 0, '/api/v1/system/tools/gen/columnList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/columnList?tableId=96', '::1', '内网IP', '{\"tableId\":\"96\"}', '', '2023-11-03 18:31:06');
INSERT INTO `sys_oper_log` VALUES (8929, '', 0, '/api/v1/system/tools/gen/relationTable', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/relationTable', '::1', '内网IP', '{}', '', '2023-11-03 18:31:06');
INSERT INTO `sys_oper_log` VALUES (8930, '', 0, '/api/v1/system/dict/data/getDictData', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/data/getDictData?dictType=sys_show_hide&defaultValue=', '::1', '内网IP', '{\"defaultValue\":\"\",\"dictType\":\"sys_show_hide\"}', '', '2023-11-06 08:57:26');
INSERT INTO `sys_oper_log` VALUES (8931, '', 0, '/api/v1/system/menu/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/menu/list?title=&component=', '::1', '内网IP', '{\"component\":\"\",\"title\":\"\"}', '', '2023-11-06 08:57:26');
INSERT INTO `sys_oper_log` VALUES (8932, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:57:47');
INSERT INTO `sys_oper_log` VALUES (8933, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:57:51');
INSERT INTO `sys_oper_log` VALUES (8934, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list', '::1', '内网IP', '{}', '', '2023-11-06 08:57:54');
INSERT INTO `sys_oper_log` VALUES (8935, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list', '::1', '内网IP', '{}', '', '2023-11-06 08:57:56');
INSERT INTO `sys_oper_log` VALUES (8936, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list', '::1', '内网IP', '{}', '', '2023-11-06 08:58:12');
INSERT INTO `sys_oper_log` VALUES (8937, '岗位管理', 0, '/api/v1/system/post/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/post/list?postName=&status=&postCode=&pageNum=1&pageSize=10', '::1', '内网IP', '{\"pageNum\":\"1\",\"pageSize\":\"10\",\"postCode\":\"\",\"postName\":\"\",\"status\":\"\"}', '', '2023-11-06 08:58:24');
INSERT INTO `sys_oper_log` VALUES (8938, '', 0, '/api/v1/system/dict/data/getDictData', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/data/getDictData?dictType=sys_user_sex&defaultValue=', '::1', '内网IP', '{\"defaultValue\":\"\",\"dictType\":\"sys_user_sex\"}', '', '2023-11-06 08:58:26');
INSERT INTO `sys_oper_log` VALUES (8939, '', 0, '/api/v1/system/dict/data/getDictData', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/data/getDictData?dictType=sys_user_sex&defaultValue=', '::1', '内网IP', '{\"defaultValue\":\"\",\"dictType\":\"sys_user_sex\"}', '', '2023-11-06 08:58:26');
INSERT INTO `sys_oper_log` VALUES (8940, '', 0, '/api/v1/system/user/params', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/params', '::1', '内网IP', '{}', '', '2023-11-06 08:58:26');
INSERT INTO `sys_oper_log` VALUES (8941, '', 0, '/api/v1/system/dept/treeSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/treeSelect', '::1', '内网IP', '{}', '', '2023-11-06 08:58:26');
INSERT INTO `sys_oper_log` VALUES (8942, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=1&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:26');
INSERT INTO `sys_oper_log` VALUES (8943, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=2&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"2\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:30');
INSERT INTO `sys_oper_log` VALUES (8944, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=3&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"3\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:31');
INSERT INTO `sys_oper_log` VALUES (8945, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=1&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:32');
INSERT INTO `sys_oper_log` VALUES (8946, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=2&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"2\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:33');
INSERT INTO `sys_oper_log` VALUES (8947, '用户管理', 0, '/api/v1/system/user/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/user/list?pageNum=1&pageSize=10&deptId=&mobile=&status=&keyWords=', '::1', '内网IP', '{\"deptId\":\"\",\"keyWords\":\"\",\"mobile\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 08:58:34');
INSERT INTO `sys_oper_log` VALUES (8948, '代码生成', 0, '/api/v1/system/tools/gen/tableList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/tableList?tableName=&tableComment=&pageNum=1&pageSize=10', '::1', '内网IP', '{\"pageNum\":\"1\",\"pageSize\":\"10\",\"tableComment\":\"\",\"tableName\":\"\"}', '', '2023-11-06 08:58:47');
INSERT INTO `sys_oper_log` VALUES (8949, '代码生成配置', 0, '/api/v1/system/tools/gen/columnList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/columnList?tableId=93', '::1', '内网IP', '{\"tableId\":\"93\"}', '', '2023-11-06 08:58:51');
INSERT INTO `sys_oper_log` VALUES (8950, '', 0, '/api/v1/system/dict/type/optionSelect', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/type/optionSelect', '::1', '内网IP', '{}', '', '2023-11-06 08:58:51');
INSERT INTO `sys_oper_log` VALUES (8951, '', 0, '/api/v1/system/tools/gen/relationTable', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/relationTable', '::1', '内网IP', '{}', '', '2023-11-06 08:58:51');
INSERT INTO `sys_oper_log` VALUES (8952, '代码生成', 0, '/api/v1/system/tools/gen/tableList', 'GET', 1, 'demo', '财务部门', '/api/v1/system/tools/gen/tableList?tableName=&tableComment=&pageNum=1&pageSize=10', '::1', '内网IP', '{\"pageNum\":\"1\",\"pageSize\":\"10\",\"tableComment\":\"\",\"tableName\":\"\"}', '', '2023-11-06 09:02:00');
INSERT INTO `sys_oper_log` VALUES (8953, '', 0, '/api/v1/system/dict/data/getDictData', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dict/data/getDictData?dictType=sys_show_hide&defaultValue=', '::1', '内网IP', '{\"defaultValue\":\"\",\"dictType\":\"sys_show_hide\"}', '', '2023-11-06 09:02:03');
INSERT INTO `sys_oper_log` VALUES (8954, '', 0, '/api/v1/system/menu/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/menu/list?title=&component=', '::1', '内网IP', '{\"component\":\"\",\"title\":\"\"}', '', '2023-11-06 09:02:03');
INSERT INTO `sys_oper_log` VALUES (8955, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 09:02:13');
INSERT INTO `sys_oper_log` VALUES (8956, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 09:02:20');
INSERT INTO `sys_oper_log` VALUES (8957, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 09:02:47');
INSERT INTO `sys_oper_log` VALUES (8958, '部门管理', 0, '/api/v1/system/dept/list', 'GET', 1, 'demo', '财务部门', '/api/v1/system/dept/list?pageNum=1&pageSize=10&deptName=&status=', '::1', '内网IP', '{\"deptName\":\"\",\"pageNum\":\"1\",\"pageSize\":\"10\",\"status\":\"\"}', '', '2023-11-06 09:03:03');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_post -- Table structure for sys_post
@ -15480,7 +15521,7 @@ INSERT INTO `sys_user` VALUES (22, 'yxfmlbb', '15969423326', '大数据部门测
INSERT INTO `sys_user` VALUES (23, 'wangming', '18687460581', '王明', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '::1', '2023-11-03 16:03:56', '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, 'oHUVQ6CKETZ7gvqkHdJqdlw2WXNE'); INSERT INTO `sys_user` VALUES (23, 'wangming', '18687460581', '王明', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '::1', '2023-11-03 16:03:56', '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, 'oHUVQ6CKETZ7gvqkHdJqdlw2WXNE');
INSERT INTO `sys_user` VALUES (24, 'zhk', '13699885591', '综合科', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '192.168.0.146', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, ''); INSERT INTO `sys_user` VALUES (24, 'zhk', '13699885591', '综合科', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '192.168.0.146', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, '');
INSERT INTO `sys_user` VALUES (28, 'demo3', '18699888855', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '123132@qq.com', 0, '', 109, '', 1, '', '', '192.168.0.229', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, ''); INSERT INTO `sys_user` VALUES (28, 'demo3', '18699888855', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '123132@qq.com', 0, '', 109, '', 1, '', '', '192.168.0.229', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, '');
INSERT INTO `sys_user` VALUES (31, 'demo', '15334455789', '李四', 0, '6dd68eea81e0fca319add0bd58c3fdf6', '46PvWe1Sl7', 1, '123@qq.com', 2, 'upload_file/2023-11-01/cwn4m6vp1qxkxvfqlx.jpg', 109, '3', 1, '云南省曲靖市22223', '生活变的再糟糕,也不妨碍我变得更好', '::1', '2023-11-03 15:46:59', '2021-06-22 17:58:00', '2023-11-01 10:40:19', NULL, ''); INSERT INTO `sys_user` VALUES (31, 'demo', '15334455789', '李四', 0, '6dd68eea81e0fca319add0bd58c3fdf6', '46PvWe1Sl7', 1, '123@qq.com', 2, 'upload_file/2023-11-01/cwn4m6vp1qxkxvfqlx.jpg', 109, '3', 1, '云南省曲靖市22223', '生活变的再糟糕,也不妨碍我变得更好', '::1', '2023-11-06 08:57:18', '2021-06-22 17:58:00', '2023-11-01 10:40:19', NULL, '');
INSERT INTO `sys_user` VALUES (32, 'demo100', '18699888859', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '[::1]', '2021-11-24 18:01:21', '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, ''); INSERT INTO `sys_user` VALUES (32, 'demo100', '18699888859', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '[::1]', '2021-11-24 18:01:21', '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, '');
INSERT INTO `sys_user` VALUES (33, 'demo110', '18699888853', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, ''); INSERT INTO `sys_user` VALUES (33, 'demo110', '18699888853', '测试账号1', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '', 0, '', 0, '', 1, '', '', '', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, '');
INSERT INTO `sys_user` VALUES (34, 'yxfmlbb2', '15969423327', '研发部门测试', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '1111@qqq.com', 1, '', 103, '', 0, '', '', '127.0.0.1', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, ''); INSERT INTO `sys_user` VALUES (34, 'yxfmlbb2', '15969423327', '研发部门测试', 0, '542a6e44dbac171f260fc4a032cd5522', 'dlqVVBTADg', 1, '1111@qqq.com', 1, '', 103, '', 0, '', '', '127.0.0.1', NULL, '2021-06-22 17:58:00', '2021-06-22 17:58:00', NULL, '');
@ -15514,7 +15555,7 @@ CREATE TABLE `sys_user_online` (
-- ---------------------------- -- ----------------------------
-- Records of sys_user_online -- Records of sys_user_online
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_user_online` VALUES (95, 'b83d25b5b4d69d45473d48038b93c544', '7ZUSfVIf2HyYjcv86SKPPs29v003ECPEScsdYsYYqO0OiU00EEIGqI/BsXSMHMj7l8nHeCOGjQR+Ad17Jc6sqlOMG7QJYXc7XIyk7x5vz7NnSWoAkRkm94CVo+5STlkaRYDGHcMmy3ZihNgyhsIX0g==', '2023-11-03 15:46:59', 'demo', '::1', 'Chrome', 'Windows 10'); INSERT INTO `sys_user_online` VALUES (96, '59d1a58da5c68fe40701cd63ffd2d280', '7ZUSfVIf2HyYjcv86SKPPs29v003ECPEScsdYsYYqO0OiU00EEIGqI/BsXSMHMj7l8nHeCOGjQR+Ad17Jc6sqpyMaYf+LQn/d1lCwmRg6MsxBDfns4cuGLRn4wZQx0eQdam0n5XylY5Y7OOiARUldg==', '2023-11-06 08:57:18', 'demo', '::1', 'Chrome', 'Windows 10');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_user_post -- Table structure for sys_user_post

View File

@ -10,10 +10,7 @@
{{$structName := .table.BusinessName | CaseCamelLower}} {{$structName := .table.BusinessName | CaseCamelLower}}
{{$businessName := .table.BusinessName | CaseCamelLower}} {{$businessName := .table.BusinessName | CaseCamelLower}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
package controller package controller
//// ////
{{$hasGmap:=false}} {{$hasGmap:=false}}
@ -40,7 +37,7 @@ package controller
{{end}} {{end}}
import ( import (
"context" "context"
"{{.goModName}}/api/v1/{{.table.ModuleName}}" "{{.goModName}}/api/v1/{{.modulePath}}"
"{{.goModName}}/{{.table.PackageName}}/service" "{{.goModName}}/{{.table.PackageName}}/service"
{{if ne $.table.ModuleName "system"}} {{if ne $.table.ModuleName "system"}}
systemController "{{.goModName}}/internal/app/system/controller" systemController "{{.goModName}}/internal/app/system/controller"
@ -280,7 +277,7 @@ func(c *{{$structName}}Controller) Linked{{$.table.ClassName}}DataSearch(ctx con
{{if ne $.table.ModuleName "system"}} {{if ne $.table.ModuleName "system"}}
{{$serviceVal = "systemService"}} {{$serviceVal = "systemService"}}
{{end}} {{end}}
if !{{$serviceVal}}.SysUser().AccessRule(ctx, {{$serviceVal}}.Context().GetUserId(ctx), "{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/list") { if !{{$serviceVal}}.SysUser().AccessRule(ctx, {{$serviceVal}}.Context().GetUserId(ctx), "{{.apiVersion}}/{{.table.PackageName}}/{{$businessName}}/list") {
err = errors.New("没有访问权限") err = errors.New("没有访问权限")
return return
} }

View File

@ -8,7 +8,6 @@
// ========================================================================== // ==========================================================================
//// ////
package router package router
//// ////
import ( import (
"context" "context"
@ -23,7 +22,7 @@ var R = new(Router)
type Router struct{} type Router struct{}
//// ////
func (router *Router) BindController(ctx context.Context, group *ghttp.RouterGroup) { func (router *Router) BindController(ctx context.Context, group *ghttp.RouterGroup) {
group.Group("/{{.table.ModuleName}}", func(group *ghttp.RouterGroup) { group.Group("/{{.modulePath}}", func(group *ghttp.RouterGroup) {
//登录验证拦截 //登录验证拦截
service.GfToken().Middleware(group) service.GfToken().Middleware(group)
//context拦截器 //context拦截器

View File

@ -8,22 +8,18 @@ GFast自动生成菜单SQL
*/ */
//// ////
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
-- 删除原有数据 -- 删除原有数据
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/list';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/get'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/get';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/add'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/add';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/edit'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/edit';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/delete'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/delete';
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/export'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/export';
{{range $index,$column:= .table.Columns}} {{range $index,$column:= .table.Columns}}
{{if and $column.IsStatus $column.IsList}} {{if and $column.IsStatus $column.IsList}}
DELETE FROM `sys_auth_rule` WHERE `name` = '{{$plugin}}{{.apiVersion}}/{{$.table.ModuleName}}/{{$.table.BusinessName | CaseCamelLower}}/change{{$column.GoField}}'; DELETE FROM `sys_auth_rule` WHERE `name` = '{{.apiVersion}}/{{.modulePath}}/{{$.table.BusinessName | CaseCamelLower}}/change{{$column.GoField}}';
{{end}} {{end}}
{{end}} {{end}}
@ -32,39 +28,39 @@ select @now := now();
-- 目录 SQL -- 目录 SQL
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at` ) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at` )
VALUES(0,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}','{{.table.FunctionName}}管理','iconfont icon-fuwenbenkuang','','{{.table.FunctionName}}管理',0,0,1,0,'/{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}','','layout/routerView/parent',0,'sys_admin',0,@now,@now); VALUES(0,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}','{{.table.FunctionName}}管理','iconfont icon-fuwenbenkuang','','{{.table.FunctionName}}管理',0,0,1,0,'/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}','','layout/routerView/parent',0,'sys_admin',0,@now,@now);
-- 菜单父目录ID -- 菜单父目录ID
SELECT @parentId := LAST_INSERT_ID(); SELECT @parentId := LAST_INSERT_ID();
-- 菜单 SQL -- 菜单 SQL
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list','{{.table.FunctionName}}列表','ele-Fold','','{{.table.FunctionName}}列表',1,0,1,0,'/{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list','','{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list/index',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/list','{{.table.FunctionName}}列表','ele-Fold','','{{.table.FunctionName}}列表',1,0,1,0,'/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/list','','{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/list/index',0,'sys_admin',0,@now,@now);
-- 按钮父目录ID -- 按钮父目录ID
SELECT @parentId := LAST_INSERT_ID(); SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL -- 按钮 SQL
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/get','{{.table.FunctionName}}查询','','','{{.table.FunctionName}}查询',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/get','{{.table.FunctionName}}查询','','','{{.table.FunctionName}}查询',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/add','{{.table.FunctionName}}添加','','','{{.table.FunctionName}}添加',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/add','{{.table.FunctionName}}添加','','','{{.table.FunctionName}}添加',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/edit','{{.table.FunctionName}}修改','','','{{.table.FunctionName}}修改',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/edit','{{.table.FunctionName}}修改','','','{{.table.FunctionName}}修改',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/delete','{{.table.FunctionName}}删除','','','{{.table.FunctionName}}删除',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/delete','{{.table.FunctionName}}删除','','','{{.table.FunctionName}}删除',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
{{if .table.ExcelPort}} {{if .table.ExcelPort}}
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/export','{{.table.FunctionName}}导出','','','{{.table.FunctionName}}导出',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{.table.BusinessName | CaseCamelLower}}/export','{{.table.FunctionName}}导出','','','{{.table.FunctionName}}导出',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
{{end}} {{end}}
{{range $index,$column:= .table.Columns}} {{range $index,$column:= .table.Columns}}
{{if and $column.IsStatus $column.IsList}} {{if and $column.IsStatus $column.IsList}}
INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`) INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`is_cached`,`is_hide`,`path`,`link_url`,`component`,`is_iframe`,`module_type`,`model_id`,`created_at`,`updated_at`)
VALUES(@parentId,'{{$plugin}}{{.apiVersion}}/{{$.table.ModuleName}}/{{$.table.BusinessName | CaseCamelLower}}/change{{$column.GoField}}','{{$.table.FunctionName}}{{$column.ColumnComment}}修改','','','{{$.table.FunctionName}}{{$column.ColumnComment}}修改',2,0,1,0,'','','',0,'sys_admin',0,@now,@now); VALUES(@parentId,'{{.apiVersion}}/{{.modulePath}}/{{$.table.BusinessName | CaseCamelLower}}/change{{$column.GoField}}','{{$.table.FunctionName}}{{$column.ColumnComment}}修改','','','{{$.table.FunctionName}}{{$column.ColumnComment}}修改',2,0,1,0,'','','',0,'sys_admin',0,@now,@now);
{{end}} {{end}}
{{end}} {{end}}

View File

@ -3,16 +3,10 @@ import request from '/@/utils/request'
{{$businessName := .table.BusinessName | CaseCamelLower}} {{$businessName := .table.BusinessName | CaseCamelLower}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
// 查询{{.table.FunctionName}}列表 // 查询{{.table.FunctionName}}列表
export function list{{.table.ClassName}}(query:object) { export function list{{.table.ClassName}}(query:object) {
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/list', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -21,7 +15,7 @@ export function list{{.table.ClassName}}(query:object) {
// 查询{{.table.FunctionName}}详细 // 查询{{.table.FunctionName}}详细
export function get{{.table.ClassName}}({{.table.PkColumn.HtmlField}}:{{.table.PkColumn.TsType}}) { export function get{{.table.ClassName}}({{.table.PkColumn.HtmlField}}:{{.table.PkColumn.TsType}}) {
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/get', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/get',
method: 'get', method: 'get',
params: { params: {
{{.table.PkColumn.HtmlField}}: {{.table.PkColumn.HtmlField}}.toString() {{.table.PkColumn.HtmlField}}: {{.table.PkColumn.HtmlField}}.toString()
@ -32,7 +26,7 @@ export function get{{.table.ClassName}}({{.table.PkColumn.HtmlField}}:{{.table.P
// 新增{{.table.FunctionName}} // 新增{{.table.FunctionName}}
export function add{{.table.ClassName}}(data:object) { export function add{{.table.ClassName}}(data:object) {
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/add', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/add',
method: 'post', method: 'post',
data: data data: data
}) })
@ -41,7 +35,7 @@ export function add{{.table.ClassName}}(data:object) {
// 修改{{.table.FunctionName}} // 修改{{.table.FunctionName}}
export function update{{.table.ClassName}}(data:object) { export function update{{.table.ClassName}}(data:object) {
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/edit', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/edit',
method: 'put', method: 'put',
data: data data: data
}) })
@ -50,7 +44,7 @@ export function update{{.table.ClassName}}(data:object) {
// 删除{{.table.FunctionName}} // 删除{{.table.FunctionName}}
export function del{{.table.ClassName}}({{.table.PkColumn.HtmlField}}s:{{.table.PkColumn.TsType}}[]) { export function del{{.table.ClassName}}({{.table.PkColumn.HtmlField}}s:{{.table.PkColumn.TsType}}[]) {
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/delete', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/delete',
method: 'delete', method: 'delete',
data:{ data:{
{{.table.PkColumn.HtmlField}}s:{{.table.PkColumn.HtmlField}}s {{.table.PkColumn.HtmlField}}s:{{.table.PkColumn.HtmlField}}s
@ -72,7 +66,7 @@ export function change{{$.table.ClassName}}{{$column.GoField}}({{$.table.PkColum
{{$column.HtmlField}} {{$column.HtmlField}}
} }
return request({ return request({
url: '/{{$plugin}}{{$.apiVersion}}/{{$.table.ModuleName}}/{{$businessName}}/change{{$column.GoField}}', url: '/{{$.apiVersion}}/{{$.modulePath}}/{{$businessName}}/change{{$column.GoField}}',
method: 'put', method: 'put',
data:data data:data
}) })
@ -88,7 +82,7 @@ export function change{{$.table.ClassName}}{{$column.GoField}}({{$.table.PkColum
//相关连表查询数据 //相关连表查询数据
export function linkedDataSearch(){ export function linkedDataSearch(){
return request({ return request({
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/linkedData', url: '/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/linkedData',
method: 'get' method: 'get'
}) })
} }

View File

@ -1,493 +0,0 @@
<template>
{{$lens := .table.Columns|len}}
{{$businessName := .table.BusinessName | CaseCamelLower}}
{{$treeParentCode := .table.TreeParentCode}}
{{$treeCode := .table.TreeCode}}
{{$treeName := .table.TreeName}}
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add">
<!-- 添加或修改{{.table.FunctionName}}对话框 -->
<el-dialog v-model="isShowDialog" width="769px" :close-on-click-modal="false" :destroy-on-close="true">
<template #header>
<div v-drag="['.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add .el-dialog', '.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add .el-dialog__header']">添加{{.table.FunctionName}}</div>
</template>
<el-form ref="formRef" :model="formData" :rules="rules" label-width="90px">
{{if .table.IsPkInsertable}}
<el-form-item label="{{.table.PkColumn.ColumnComment}}" prop="{{.table.PkColumn.HtmlField}}">
<el-input v-model="formData.{{.table.PkColumn.HtmlField}}" placeholder="请输入{{.table.PkColumn.ColumnComment}}" v-bind:disabled="this.currentOp === 'edit'" />
</el-form-item>
{{end}}
{{range $index, $column := .table.InsertColumns}}
{{if and (ne $treeParentCode "") (eq $column.HtmlField $treeParentCode)}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-cascader
v-model="formData.{{$column.HtmlField}}"
placeholder="请选择"
:options="{{$businessName}}Options"
filterable
clearable
:props="{ label: '{{$treeName}}',value: '{{$treeCode}}',checkStrictly: true,emitPath: false }"
/>
</el-form-item>
{{else if eq $column.HtmlType "input"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-input v-model="formData.{{$column.HtmlField}}" placeholder="请输入{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}}/>
</el-form-item>
{{else if eq $column.HtmlType "select" }}
{{if ne $column.LinkTableName ""}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-select v-model="formData.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}} {{if $column.IsCascadeParent}}@change="form{{$column.ColumnName | CaseCamel}}Changed"{{end}} {{if not $column.IsCascade}}@click.native="get{{$column.LinkTableClass}}{{if $column.IsCascade}}Form{{end}}Items{{$column.GoField}}"{{end}}>
<el-option
{{if $column.IsCascade}}
v-for="item in {{$column.HtmlField}}FormOptions"
{{else}}
v-for="item in {{$column.HtmlField}}Options"
{{end}}
:key="item.key"
:label="item.value"
:value="item.key"
></el-option>
</el-select>
</el-form-item>
{{else if ne $column.DictType ""}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-select v-model="formData.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}}>
<el-option
v-for="dict in {{$column.HtmlField}}Options"
:key="dict.value"
:label="dict.label"
{{if eq $column.GoType "Integer"}}
:value="parseInt(dict.value)"
{{else}}
:value="dict.value"
{{end}}
></el-option>
</el-select>
</el-form-item>
{{else}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-select v-model="formData.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}}>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
{{end}}
{{else if eq $column.HtmlType "radio" }} {{/* else if eq $column.HtmlType "select" */}}
{{if ne $column.DictType ""}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-radio-group v-model="formData.{{$column.HtmlField}}">
<el-radio
v-for="dict in {{$column.HtmlField}}Options"
:key="dict.value"
:label="dict.value"
>{{ VueTag "{{" }}dict.label {{VueTag "}}"}}</el-radio>
</el-radio-group>
</el-form-item>
{{else}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-radio-group v-model="formData.{{$column.HtmlField}}">
<el-radio>请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
{{end}}
{{else if eq $column.HtmlType "date"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-date-picker clearable style="width: 200px"
v-model="formData.{{$column.HtmlField}}"
type="date"
placeholder="选择{{$column.ColumnComment}}">
</el-date-picker>
</el-form-item>
{{else if eq $column.HtmlType "datetime"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-date-picker clearable style="width: 200px"
v-model="formData.{{$column.HtmlField}}"
type="datetime"
placeholder="选择{{$column.ColumnComment}}">
</el-date-picker>
</el-form-item>
{{else if eq $column.HtmlType "textarea"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-input v-model="formData.{{$column.HtmlField}}" type="textarea" placeholder="请输入{{$column.ColumnComment}}" />
</el-form-item>
{{else if eq $column.HtmlType "checkbox" }}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-checkbox-group v-model="formData.{{$column.HtmlField}}">
<el-checkbox
v-for="dict in {{$column.HtmlField}}Options"
:key="dict.value"
:label="dict.value"
>{{ VueTag "{{" }}dict.label {{VueTag "}}"}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
{{else if eq $column.HtmlType "richtext"}}
<el-form-item label="{{$column.ColumnComment}}">
<gf-ueditor editorId="ue{{$.table.ClassName}}{{$column.GoField}}" v-model="formData.{{$column.HtmlField}}" @setEditContent="set{{$column.GoField}}EditContent"></gf-ueditor>
</el-form-item>
{{else if eq $column.HtmlType "imagefile"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
<el-upload
v-loading="upLoading{{$column.GoField}}"
:action="baseURL+'{{$.apiVersion}}/system/upload/singleImg'"
:before-upload="beforeAvatarUpload{{$column.GoField}}"
:data="setUpData()"
:on-success="handleAvatarSuccess{{$column.GoField}}"
:show-file-list="false"
class="avatar-uploader"
name="file"
>
<img v-if="!proxy.isEmpty(imageUrl{{$column.GoField}})" :src="imageUrl{{$column.GoField}}" class="avatar">
<el-icon v-else class="avatar-uploader-icon"><ele-Plus /></el-icon>
</el-upload>
</el-form-item>
{{else if eq $column.HtmlType "images"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}" >
<upload-img :action="baseURL+'{{$.apiVersion}}/system/upload/singleImg'" v-model="formData.{{$column.HtmlField}}" @uploadData="setUpImgList{{$column.GoField}}" :limit="10"></upload-img>
</el-form-item>
{{else if eq $column.HtmlType "file"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}" >
<upload-file :action="baseURL+'{{$.apiVersion}}/system/upload/singleFile'" v-model="formData.{{$column.HtmlField}}" @upFileData="setUpFileList{{$column.GoField}}" :limit="1"></upload-file>
</el-form-item>
{{else if eq $column.HtmlType "files"}}
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}" >
<upload-file :action="baseURL+'{{$.apiVersion}}/system/upload/singleFile'" v-model="formData.{{$column.HtmlField}}" @upFileData="setUpFileList{{$column.GoField}}" :limit="10"></upload-file>
</el-form-item>
{{end}} {{/* $column.HtmlType */}}
{{end}} {{/* range */}}
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="onSubmit">确 定</el-button>
<el-button @click="onCancel">取 消</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
{{$tokenImp := false}}
{{$imgsImp := false}}
{{$editImp := false }}
{{$fileImp := false}}
{{$getUserList:=false}}
{{range $index,$column:=.table.Columns}}
{{if eq $column.HtmlType "richtext"}}
{{$editImp = true}}
{{else if eq $column.HtmlType "imagefile"}}
{{$tokenImp = true}}
{{else if eq $column.HtmlType "images"}}
{{$imgsImp = true}}
{{else if eq $column.HtmlType "file" "files"}}
{{$fileImp = true}}
{{end}}
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
{{$getUserList = true}}
{{end}}
{{end}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<script lang="ts">
import { reactive, toRefs, defineComponent,ref,unref,getCurrentInstance } from 'vue';
import {ElMessageBox, ElMessage, FormInstance,UploadProps} from 'element-plus';
{{/*去重处理*/}}
{{$hasImports:=newArray}}
import {
list{{.table.ClassName}},
get{{.table.ClassName}},
del{{.table.ClassName}},
add{{.table.ClassName}},
update{{.table.ClassName}},
{{range $index,$column:= .table.Columns}}
{{if and $column.IsStatus $column.IsList}}
change{{$.table.ClassName}}{{$column.GoField}},
{{end}}
{{if ne $column.LinkTableName ""}}
{{if not (inArray $hasImports (concat "list" $column.LinkTableClass))}}
{{$hasImports = append $hasImports (concat "list" $column.LinkTableClass)}}
list{{$column.LinkTableClass}},
{{end}}
{{end}}
{{end}}
{{if $getUserList}}
getUserList,
{{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}";
{{if $editImp}}
import GfUeditor from "/@/components/ueditor/index.vue"
{{end}}
{{if $tokenImp}}
import {getToken} from "/@/utils/gfast"
{{end}}
{{if $imgsImp}}
import uploadImg from "/@/components/uploadImg/index.vue"
{{end}}
{{if $fileImp}}
import uploadFile from "/@/components/uploadFile/index.vue"
{{end}}
import {
{{.table.ClassName}}TableColumns,
{{.table.ClassName}}InfoData,
{{.table.ClassName}}TableDataState,
{{.table.ClassName}}EditState,
{{range $ti, $linkedTable := .table.LinkedTables}}
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
{{end}}
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
export default defineComponent({
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit",
components:{
{{if $editImp}}
GfUeditor,
{{end}}
{{if $imgsImp}}
uploadImg,
{{end}}
{{if $fileImp}}
uploadFile,
{{end}}
},
props:{
{{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}}
{{$column.HtmlField}}Options:{
type:Array,
default:()=>[]
},
{{else if ne $column.LinkTableName ""}}
{{if $column.IsCascade}}
{{/*级联处理*/}}
{{end}}
{{/*关联表处理*/}}
{{$column.HtmlField}}Options:{
type:Array,
default:()=>[]
},
{{end}}
{{end}}
{{if eq .table.TplCategory "tree"}}
// {{.table.FunctionName}}树选项
{{$businessName}}Options :{
type:Array,
default:()=>[]
},
{{end}}
},
setup(props,{emit}) {
{{if or $imgsImp $tokenImp $fileImp}}
const baseURL:string|undefined|boolean = import.meta.env.VITE_API_URL
{{end}}
const {proxy} = <any>getCurrentInstance()
const formRef = ref<HTMLElement | null>(null);
const menuRef = ref();
{{range $index, $column := .table.Columns}}
{{if eq $column.HtmlType "imagefile"}}
//图片上传地址
const imageUrl{{$column.GoField}} = ref('')
//上传加载
const upLoading{{$column.GoField}} = ref(false)
{{end}}
{{end}}
const state = reactive<{{.table.ClassName}}EditState>({
loading:false,
isShowDialog: false,
formData: {
{{range $index, $column := .table.Columns}}
{{if eq $column.HtmlType "radio"}}
{{$column.HtmlField}}: false ,
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
{{$column.HtmlField}}: [] ,
{{else}}
{{$column.HtmlField}}: undefined,
{{end}}
{{end}}
{{range $ti, $linkedTable := .table.LinkedTables}}
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
{{$linkedColumn.HtmlField}}:{{if eq $linkedColumn.HtmlType "images" "file" "files"}}[]{{else}}undefined{{end}}, // {{$linkedColumn.ColumnComment}}
{{end}}
},
{{end}}
},
// 表单校验
rules: {
{{range $index, $column := .table.Columns}}
{{if $column.IsRequired}}
{{$column.HtmlField}} : [
{ required: true, message: "{{$column.ColumnComment}}不能为空", trigger: "blur" }
]{{if ne $lens $index}},{{end}}
{{end}}
{{end}}
}
});
// 打开弹窗
const openDialog = () => {
resetForm();
state.isShowDialog = true;
};
// 关闭弹窗
const closeDialog = () => {
state.isShowDialog = false;
};
// 取消
const onCancel = () => {
closeDialog();
};
// 提交
const onSubmit = () => {
const formWrap = unref(formRef) as any;
if (!formWrap) return;
formWrap.validate((valid: boolean) => {
if (valid) {
state.loading = true;
//添加
add{{.table.ClassName}}(state.formData).then(()=>{
ElMessage.success('添加成功');
closeDialog(); // 关闭弹窗
emit('{{$businessName}}List')
}).finally(()=>{
state.loading = false;
})
}
});
};
const resetForm = ()=>{
state.formData = {
{{range $index, $column := .table.Columns}}
{{if eq $column.HtmlType "radio"}}
{{$column.HtmlField}}: false ,
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
{{$column.HtmlField}}: [] ,
{{else}}
{{$column.HtmlField}}: undefined,
{{end}}
{{end}}
{{range $ti, $linkedTable := .table.LinkedTables}}
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
{{$linkedColumn.HtmlField}}:{{if eq $linkedColumn.HtmlType "images" "file" "files"}}[]{{else}}undefined{{end}}, // {{$linkedColumn.ColumnComment}}
{{end}}
},
{{end}}
}
};
{{$setUpData:=true}}
{{range $index, $column := .table.Columns}}
{{if ne $column.LinkTableName ""}}
//关联{{$column.LinkTableName}}表选项
const get{{$column.LinkTableClass}}Items{{$column.GoField}} = () => {
emit("get{{$column.LinkTableClass}}Items{{$column.GoField}}")
}
{{else if eq $column.HtmlType "richtext"}}
//富文本编辑器{{$column.ColumnComment}}
const set{{$column.GoField}}EditContent = (data:string) => {
state.formData.{{$column.HtmlField}} = data
}
{{else if eq $column.HtmlType "imagefile"}}
//单图上传{{$column.ColumnComment}}
const handleAvatarSuccess{{$column.GoField}}:UploadProps['onSuccess'] = (res, file) => {
if (res.code === 0) {
imageUrl{{$column.GoField}}.value = URL.createObjectURL(file.raw!)
state.formData.{{$column.HtmlField}} = res.data.path
} else {
ElMessage.error(res.msg)
}
upLoading{{$column.GoField}}.value = false
}
const beforeAvatarUpload{{$column.GoField}} = () => {
upLoading{{$column.GoField}}.value = true
return true
}
{{if $setUpData}}
const setUpData = () => {
return { token: getToken() }
}
{{$setUpData = false}}
{{end}}
{{else if eq $column.HtmlType "images"}}
const setUpImgList{{$column.GoField}} = (data:any)=>{
state.formData.{{$column.HtmlField}} = data
}
{{else if eq $column.HtmlType "file" "files"}}
const setUpFileList{{$column.GoField}} = (data:any)=>{
state.formData.{{$column.HtmlField}} = data
}
{{end}}
{{end}}
{{$setUpDataR:=true}}
return {
proxy,
openDialog,
closeDialog,
onCancel,
onSubmit,
menuRef,
formRef,
{{range $index, $column := .table.Columns}}
{{if ne $column.LinkTableName ""}}
{{if $column.IsCascade}}
{{/*级联处理*/}}
{{else}}
{{/*关联表处理*/}}
get{{$column.LinkTableClass}}Items{{$column.GoField}},
{{end}}
{{else if eq $column.HtmlType "richtext"}}
//富文本编辑器{{$column.ColumnComment}}
set{{$column.GoField}}EditContent,
{{else if eq $column.HtmlType "imagefile"}}
//图片上传地址
imageUrl{{$column.GoField}},
//上传加载
upLoading{{$column.GoField}},
handleAvatarSuccess{{$column.GoField}},
beforeAvatarUpload{{$column.GoField}},
{{if $setUpDataR}}
setUpData,
{{$setUpDataR = false}}
{{end}}
{{else if eq $column.HtmlType "images"}}
setUpImgList{{$column.GoField}},
{{else if eq $column.HtmlType "file" "files"}}
setUpFileList{{$column.GoField}},
{{end}}
{{end}}
{{if or $imgsImp $tokenImp $fileImp}}
baseURL,
{{end}}
...toRefs(state),
};
}
})
</script>
<style scoped>
{{if $tokenImp}}
.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add :deep(.avatar-uploader .avatar) {
width: 178px;
height: 178px;
display: block;
}
.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add :deep(.avatar-uploader .el-upload) {
border: 1px dashed var(--el-border-color);
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: var(--el-transition-duration-fast);
}
.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add :deep(.avatar-uploader .el-upload:hover) {
border-color: var(--el-color-primary);
}
.{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-add :deep(.el-icon.avatar-uploader-icon) {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
text-align: center;
}
{{end}}
</style>

View File

@ -139,10 +139,6 @@
{{end}} {{end}}
{{end}} {{end}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<script lang="ts"> <script lang="ts">
import { reactive, toRefs, defineComponent,ref,unref,getCurrentInstance,computed } from 'vue'; import { reactive, toRefs, defineComponent,ref,unref,getCurrentInstance,computed } from 'vue';
import {ElMessageBox, ElMessage, FormInstance,UploadProps} from 'element-plus'; import {ElMessageBox, ElMessage, FormInstance,UploadProps} from 'element-plus';
@ -159,7 +155,7 @@
change{{$.table.ClassName}}{{$column.GoField}}, change{{$.table.ClassName}}{{$column.GoField}},
{{end}} {{end}}
{{end}} {{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}"; } from "/@/api/{{.modulePath}}/{{$businessName}}";
{{if $editImp}} {{if $editImp}}
import GfUeditor from "/@/components/ueditor/index.vue" import GfUeditor from "/@/components/ueditor/index.vue"
@ -178,9 +174,9 @@
{{.table.ClassName}}InfoData, {{.table.ClassName}}InfoData,
{{.table.ClassName}}TableDataState, {{.table.ClassName}}TableDataState,
{{.table.ClassName}}EditState {{.table.ClassName}}EditState
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model" } from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/model"
export default defineComponent({ export default defineComponent({
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail", name:"{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail",
components:{ components:{
{{if $editImp}} {{if $editImp}}
GfUeditor, GfUeditor,

View File

@ -260,10 +260,6 @@
{{end}} {{end}}
{{end}} {{end}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<script lang="ts"> <script lang="ts">
import { reactive, toRefs, defineComponent,ref,unref,getCurrentInstance } from 'vue'; import { reactive, toRefs, defineComponent,ref,unref,getCurrentInstance } from 'vue';
import {ElMessageBox, ElMessage, FormInstance,UploadProps} from 'element-plus'; import {ElMessageBox, ElMessage, FormInstance,UploadProps} from 'element-plus';
@ -279,7 +275,7 @@ import {
change{{$.table.ClassName}}{{$column.GoField}}, change{{$.table.ClassName}}{{$column.GoField}},
{{end}} {{end}}
{{end}} {{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}"; } from "/@/api/{{.modulePath}}/{{$businessName}}";
{{if $editImp}} {{if $editImp}}
import GfUeditor from "/@/components/ueditor/index.vue" import GfUeditor from "/@/components/ueditor/index.vue"
@ -298,9 +294,9 @@ import {
{{.table.ClassName}}InfoData, {{.table.ClassName}}InfoData,
{{.table.ClassName}}TableDataState, {{.table.ClassName}}TableDataState,
{{.table.ClassName}}EditState {{.table.ClassName}}EditState
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model" } from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/model"
export default defineComponent({ export default defineComponent({
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit", name:"{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit",
components:{ components:{
{{if $editImp}} {{if $editImp}}
GfUeditor, GfUeditor,

View File

@ -1,10 +1,6 @@
<template> <template>
{{$lens := .table.Columns|len}} {{$lens := .table.Columns|len}}
{{$businessName := .table.BusinessName | CaseCamelLower}} {{$businessName := .table.BusinessName | CaseCamelLower}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15">
@ -365,7 +361,7 @@
@pagination="{{$businessName}}List" @pagination="{{$businessName}}List"
/> />
</el-card> </el-card>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit
ref="editRef" ref="editRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -380,8 +376,8 @@
{{end}} {{end}}
{{end}} {{end}}
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
ref="detailRef" ref="detailRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -396,7 +392,7 @@
{{end}} {{end}}
{{end}} {{end}}
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail>
</div> </div>
</template> </template>
@ -441,7 +437,7 @@ import {
{{if gt (len .table.LinkedTables) 0}} {{if gt (len .table.LinkedTables) 0}}
linkedDataSearch linkedDataSearch
{{end}} {{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}"; } from "/@/api/{{.modulePath}}/{{$businessName}}";
import { import {
{{.table.ClassName}}TableColumns, {{.table.ClassName}}TableColumns,
{{.table.ClassName}}InfoData, {{.table.ClassName}}InfoData,
@ -449,17 +445,17 @@ import {
{{range $ti, $linkedTable := .table.LinkedTables}} {{range $ti, $linkedTable := .table.LinkedTables}}
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}, Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
{{end}} {{end}}
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model" } from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/model"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/edit.vue"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/detail.vue"
{{if .table.ExcelPort }} {{if .table.ExcelPort }}
import {downLoadXml} from "/@/utils/zipdownload"; import {downLoadXml} from "/@/utils/zipdownload";
{{end}} {{end}}
export default defineComponent({ export default defineComponent({
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List", name: "{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}List",
components:{ components:{
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit, {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit,
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
}, },
setup() { setup() {
const {proxy} = <any>getCurrentInstance() const {proxy} = <any>getCurrentInstance()
@ -660,7 +656,7 @@ export default defineComponent({
{{if .table.ExcelPort }} {{if .table.ExcelPort }}
//导出excel //导出excel
const handleExport = ()=>{ const handleExport = ()=>{
downLoadXml('/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/export',state.tableData.param,'get') downLoadXml('/{{.apiVersion}}/{{.modulePath}}/{{$businessName}}/export',state.tableData.param,'get')
} }
{{end}} {{end}}
return { return {

View File

@ -4,10 +4,7 @@
{{$treeParentCode := .table.TreeParentCode}} {{$treeParentCode := .table.TreeParentCode}}
{{$treeCode := .table.TreeCode}} {{$treeCode := .table.TreeCode}}
{{$treeName := .table.TreeName}} {{$treeName := .table.TreeName}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15">
@ -250,7 +247,7 @@
</el-auto-resizer> </el-auto-resizer>
</div> </div>
</el-card> </el-card>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit
ref="editRef" ref="editRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -266,8 +263,8 @@
{{end}} {{end}}
:{{$businessName}}Options="tableData.data" :{{$businessName}}Options="tableData.data"
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
ref="detailRef" ref="detailRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -283,7 +280,7 @@
{{end}} {{end}}
:{{$businessName}}Options="tableData.data" :{{$businessName}}Options="tableData.data"
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail>
</div> </div>
</template> </template>
@ -329,7 +326,7 @@ import {
{{if gt (len .table.LinkedTables) 0}} {{if gt (len .table.LinkedTables) 0}}
linkedDataSearch linkedDataSearch
{{end}} {{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}"; } from "/@/api/{{.modulePath}}/{{$businessName}}";
import { import {
{{.table.ClassName}}TableColumns, {{.table.ClassName}}TableColumns,
{{.table.ClassName}}InfoData, {{.table.ClassName}}InfoData,
@ -337,15 +334,15 @@ import {
{{range $ti, $linkedTable := .table.LinkedTables}} {{range $ti, $linkedTable := .table.LinkedTables}}
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}, Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
{{end}} {{end}}
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model" } from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/model"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/edit.vue"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/detail.vue"
import _ from 'lodash' import _ from 'lodash'
export default defineComponent({ export default defineComponent({
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List", name: "{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}List",
components:{ components:{
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit, {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit,
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
}, },
setup() { setup() {
const {proxy} = <any>getCurrentInstance() const {proxy} = <any>getCurrentInstance()

View File

@ -4,10 +4,6 @@
{{$treeParentCode := .table.TreeParentCode}} {{$treeParentCode := .table.TreeParentCode}}
{{$treeCode := .table.TreeCode}} {{$treeCode := .table.TreeCode}}
{{$treeName := .table.TreeName}} {{$treeName := .table.TreeName}}
{{$plugin:=""}}
{{if ContainsI $.table.PackageName "plugins"}}
{{$plugin = "plugins/"}}
{{end}}
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-container">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15"> <div class="{{.table.ModuleName}}-{{.table.BusinessName|CaseCamelLower}}-search mb15">
@ -360,7 +356,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card> </el-card>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit
ref="editRef" ref="editRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -376,8 +372,8 @@
{{end}} {{end}}
:{{$businessName}}Options="tableData.data" :{{$businessName}}Options="tableData.data"
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit>
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail <{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
ref="detailRef" ref="detailRef"
{{range $index, $column := .table.Columns}} {{range $index, $column := .table.Columns}}
{{if ne $column.DictType ""}} {{if ne $column.DictType ""}}
@ -393,7 +389,7 @@
{{end}} {{end}}
:{{$businessName}}Options="tableData.data" :{{$businessName}}Options="tableData.data"
@{{$businessName}}List="{{$businessName}}List" @{{$businessName}}List="{{$businessName}}List"
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail> ></{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail>
</div> </div>
</template> </template>
@ -438,7 +434,7 @@ import {
{{if gt (len .table.LinkedTables) 0}} {{if gt (len .table.LinkedTables) 0}}
linkedDataSearch linkedDataSearch
{{end}} {{end}}
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}"; } from "/@/api/{{.modulePath}}/{{$businessName}}";
import { import {
{{.table.ClassName}}TableColumns, {{.table.ClassName}}TableColumns,
{{.table.ClassName}}InfoData, {{.table.ClassName}}InfoData,
@ -446,15 +442,15 @@ import {
{{range $ti, $linkedTable := .table.LinkedTables}} {{range $ti, $linkedTable := .table.LinkedTables}}
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}, Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
{{end}} {{end}}
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model" } from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/model"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/edit.vue"
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue" import {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{.modulePath}}/{{$businessName}}/list/component/detail.vue"
import _ from 'lodash' import _ from 'lodash'
export default defineComponent({ export default defineComponent({
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List", name: "{{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}List",
components:{ components:{
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit, {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Edit,
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail {{.apiVersion|replace "/" "_"|CaseCamel}}{{.modulePath|replace "/" "_"|CaseCamel}}{{.table.ClassName}}Detail
}, },
setup() { setup() {
const {proxy} = <any>getCurrentInstance() const {proxy} = <any>getCurrentInstance()