add
This commit is contained in:
@ -11,49 +11,40 @@
|
||||
Target Server Version : 50742
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 27/06/2023 18:08:35
|
||||
Date: 03/07/2023 17:40:38
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for gen_table
|
||||
-- Table structure for generator_table
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `gen_table`;
|
||||
CREATE TABLE `gen_table` (
|
||||
DROP TABLE IF EXISTS `generator_table`;
|
||||
CREATE TABLE `generator_table` (
|
||||
`table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
`table_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '表名称',
|
||||
`table_comment` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '表描述',
|
||||
`sub_table_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
|
||||
`sub_table_fk_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
|
||||
`class_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '实体类名称',
|
||||
`tpl_category` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)',
|
||||
`package_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成包路径',
|
||||
`module_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成模块名',
|
||||
`business_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成业务名',
|
||||
`function_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成功能名',
|
||||
`function_author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成功能作者',
|
||||
`gen_type` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)',
|
||||
`author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成功能作者',
|
||||
`gen_path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
|
||||
`options` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
|
||||
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`table_id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1675792140603056130 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of gen_table
|
||||
-- Records of generator_table
|
||||
-- ----------------------------
|
||||
INSERT INTO `generator_table` VALUES (1675792140603056129, 'test_user', '测试用户表', 'TestUser', 'com.qiaoba.module.generator', 'generator', 'user', '测试用户', 'Ailanyin', '/');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for gen_table_column
|
||||
-- Table structure for generator_table_column
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `gen_table_column`;
|
||||
CREATE TABLE `gen_table_column` (
|
||||
DROP TABLE IF EXISTS `generator_table_column`;
|
||||
CREATE TABLE `generator_table_column` (
|
||||
`column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
`table_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '归属表编号',
|
||||
`column_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '列名称',
|
||||
@ -62,7 +53,6 @@ CREATE TABLE `gen_table_column` (
|
||||
`java_type` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'JAVA类型',
|
||||
`java_field` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'JAVA字段名',
|
||||
`is_pk` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否主键(1是)',
|
||||
`is_increment` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否自增(1是)',
|
||||
`is_required` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否必填(1是)',
|
||||
`is_insert` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段(1是)',
|
||||
`is_edit` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段(1是)',
|
||||
@ -72,16 +62,28 @@ CREATE TABLE `gen_table_column` (
|
||||
`html_type` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
|
||||
`dict_type` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型',
|
||||
`sort` int(11) NULL DEFAULT NULL COMMENT '排序',
|
||||
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`column_id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1675792141257367554 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of gen_table_column
|
||||
-- Records of generator_table_column
|
||||
-- ----------------------------
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140741468162, '1675792140603056129', 'user_id', '用户ID', 'bigint(20)', 'Long', 'userId', '1', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140775022593, '1675792140603056129', 'dept_id', '部门ID', 'bigint(20)', 'Long', 'deptId', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 2);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140795994114, '1675792140603056129', 'username', '用户账号', 'varchar(30)', 'String', 'username', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140863102977, '1675792140603056129', 'nickname', '用户昵称', 'varchar(30)', 'String', 'nickname', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 4);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140955377666, '1675792140603056129', 'email', '用户邮箱', 'varchar(50)', 'String', 'email', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792140997320705, '1675792140603056129', 'phone', '手机号码', 'varchar(11)', 'String', 'phone', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 6);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141026680834, '1675792140603056129', 'gender', '用户性别(0男 1女 2未知)', 'char(1)', 'String', 'gender', '0', NULL, '1', '1', '1', '1', 'EQ', 'select', '', 7);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141047652354, '1675792140603056129', 'avatar', '头像地址', 'varchar(100)', 'String', 'avatar', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141072818177, '1675792140603056129', 'password', '密码', 'varchar(100)', 'String', 'password', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141102178306, '1675792140603056129', 'status', '帐号状态(1正常 0停用)', 'char(1)', 'String', 'status', '0', NULL, '1', '1', '1', '1', 'EQ', 'radio', '', 10);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141131538434, '1675792140603056129', 'create_user', '创建者', 'varchar(64)', 'String', 'createUser', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 11);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141173481473, '1675792140603056129', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 12);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141198647297, '1675792140603056129', 'update_user', '更新者', 'varchar(64)', 'String', 'updateUser', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 13);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141219618818, '1675792140603056129', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 14);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141244784642, '1675792140603056129', 'remark', '备注', 'varchar(500)', 'String', 'remark', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 15);
|
||||
INSERT INTO `generator_table_column` VALUES (1675792141257367553, '1675792140603056129', 'tenant_id', '租户ID', 'bigint(20)', 'Long', 'tenantId', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 16);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_config
|
||||
@ -114,7 +116,7 @@ INSERT INTO `sys_config` VALUES (1661603968779079683, '主框架页-默认皮肤
|
||||
INSERT INTO `sys_config` VALUES (1668426274817994753, '登陆最大错误次数', 'sys.account.loginErrorMaxCount', '10', 'Y', 'admin', '2023-06-13 09:13:16', 'admin', '2023-06-13 09:35:59', '超过次数, 就会被拉黑', 1);
|
||||
INSERT INTO `sys_config` VALUES (1668428263694135297, '黑名单过期时间', 'sys.account.blacklistExpireTime', '30', 'Y', 'admin', '2023-06-13 09:21:11', 'admin', '2023-06-13 09:35:29', '拉黑时间, 单位:分钟, 仅支持正整数', 1);
|
||||
INSERT INTO `sys_config` VALUES (1670692775595900930, '登录日志开关', 'sys.login.loginLogOnOff', 'true', 'Y', 'admin', '2023-06-19 15:19:32', 'admin', '2023-06-19 15:34:42', '登录日志开关', 1);
|
||||
INSERT INTO `sys_config` VALUES (1670696367736258562, '账号同时在线开关', 'sys.account.allowBothOnline', 'false', 'Y', 'admin', '2023-06-19 15:33:49', 'admin', '2023-06-19 15:34:51', '同时在线开关', 1);
|
||||
INSERT INTO `sys_config` VALUES (1670696367736258562, '账号同时在线开关', 'sys.account.allowBothOnline', 'true', 'Y', 'admin', '2023-06-19 15:33:49', 'admin', '2023-06-29 14:17:05', '同时在线开关', 1);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_dept
|
||||
@ -254,6 +256,24 @@ INSERT INTO `sys_login_log` VALUES (1673623018750386178, 'b6cd8cb61ed84a0ba3d360
|
||||
INSERT INTO `sys_login_log` VALUES (1673626154231709697, '40c665d9a928403c858be25e3002bea7', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-27 17:35:44', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1673627808146493441, 'ca1619bbddb84c459671d9d2816ea562', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-27 17:42:19', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1673628336561655809, '59be890f51ac43649e604e5492e8d8b1', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-27 17:44:25', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674287717158551554, '3ea2ed34517b42498f12692fe0dc6556', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-29 13:24:33', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674288367120482306, '9e5f49f39ada4c5ebece12a834462104', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-29 13:27:08', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674295885062303746, '32a79465ff054b3385a3cac8d6201653', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-29 13:57:01', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674299864659845122, '8612fecc6e9940208cdf894a98fafe78', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-29 14:12:49', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674300247989870593, '0737e8cb1aa943579b6dc5881e5072c3', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-29 14:14:21', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674300878649614338, '67e19664762b4c7b9b7353b46ef2cf0a', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-29 14:16:51', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674309922462367745, 'baa10201c0914389b161342339863c1a', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-29 14:52:47', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674309922462367746, '4979a6b215a943f1808a974a110fcfb4', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-29 14:52:47', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674310002187698178, '6ce92b6c02ad4b53a50eb316689a78c3', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-29 14:53:06', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674317996849983489, '1b7d957896c64412ae2f92eb6d2373b7', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-29 15:24:52', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674676067589750786, '488a203a4ff343a0acc1d5f4dfef43fc', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-30 15:07:43', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674677079801135105, '594817f39535461d8053e3706686630e', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-30 15:11:44', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674683687876755458, '389fe5bba3084773b47a7432335f4a2e', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-30 15:38:00', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674684168237744130, 'f84fa6f7b21c4ce3bd1519574c30885a', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-30 15:39:54', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674686672493084674, '1eb95893354f49028b3d120a0b526714', 'admin', '小王', '192.168.0.200', '0|0|0|内网IP|内网IP', 'Firefox|114.0', 'OSX', '2023-06-30 15:49:52', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674687698633752578, '06458226410b4fd5b0c62434172ea079', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-30 15:53:56', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1674694028866179074, 'bc678e6e160649f7b19fef95c1e848b9', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-06-30 16:19:05', '', NULL, '', NULL, NULL, 1);
|
||||
INSERT INTO `sys_login_log` VALUES (1675673177286074370, '0ca8648ac05c4b8d8622ab7434b5c21e', 'admin', '小王', '192.168.0.201', '0|0|0|内网IP|内网IP', 'Chrome|114.0.0.0', 'Windows 10 or Windows Server 2016', '2023-07-03 09:09:52', '', NULL, '', NULL, NULL, 1);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_menu
|
||||
@ -295,6 +315,7 @@ INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/i
|
||||
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 0, 0, 'C', '1', 'system:dict:list', 'documentation', 'admin', '2022-08-15 18:01:28', 'admin', '2023-05-31 11:15:14', '字典管理菜单', 1);
|
||||
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 0, 0, 'C', '1', 'system:config:list', 'edit', 'admin', '2022-08-15 18:01:28', 'admin', '2023-05-24 21:13:11', '参数设置菜单', 1);
|
||||
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 0, 0, 'C', '1', 'monitor:online:list', 'online', 'admin', '2023-05-27 22:22:18', 'admin', '2023-06-19 15:29:03', '在线用户菜单', 1);
|
||||
INSERT INTO `sys_menu` VALUES (116, '代码生成', 3, 4, 'gen', 'tool/gen/index', '', 0, 1, 'C', '1', 'tool:gen:list', 'code', 'admin', '2023-07-03 09:05:56', 'admin', '2023-07-03 09:10:10', '代码生成菜单', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', 0, 0, 'F', '1', 'system:user:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', 0, 0, 'F', '1', 'system:user:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', 0, 0, 'F', '1', 'system:user:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', 1);
|
||||
@ -332,6 +353,12 @@ INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', 0, 0,
|
||||
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', 0, 0, 'F', '1', 'monitor:online:query', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', 0, 0, 'F', '1', 'monitor:online:batchLogout', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', 0, 0, 'F', '1', 'monitor:online:forceLogout', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1055, '生成查询', 116, 1, '#', '', '', 0, 1, 'F', '1', 'tool:gen:query', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1056, '生成修改', 116, 2, '#', '', '', 0, 1, 'F', '1', 'tool:gen:edit', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1057, '生成删除', 116, 3, '#', '', '', 0, 1, 'F', '1', 'tool:gen:remove', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1058, '导入代码', 116, 4, '#', '', '', 0, 1, 'F', '1', 'tool:gen:import', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 116, 5, '#', '', '', 0, 1, 'F', '1', 'tool:gen:preview', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 116, 6, '#', '', '', 0, 1, 'F', '1', 'tool:gen:code', '#', 'admin', '2023-07-03 09:07:41', '', NULL, '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1663431933531869184, '租户管理', 0, 3, 'tenant', NULL, NULL, 0, 0, 'M', '1', NULL, 'component', 'admin', '2023-06-13 16:58:53', 'admin', '2023-06-13 17:03:42', '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1663431933531869185, '租户管理', 1663431933531869184, 1, 'tenant', 'tenant/index', NULL, 0, 0, 'C', '1', 'tenant:list', 'logininfor', 'admin', '2023-05-30 14:27:33', 'admin', '2023-06-13 17:03:52', '', 1);
|
||||
INSERT INTO `sys_menu` VALUES (1663432090671468545, '新建租户', 1663431933531869185, 1, '', NULL, NULL, 0, 0, 'F', '1', 'tenant:add', '#', 'admin', '2023-05-30 14:28:10', '', NULL, '', 1);
|
||||
@ -562,8 +589,6 @@ CREATE TABLE `sys_tenant` (
|
||||
-- Records of sys_tenant
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_tenant` VALUES (1, '主系统', '111', '111', '11', '11122', '111', NULL, '2099-05-30 23:59:59', 111, '1', '3', NULL, 'admin', '2023-05-30 15:18:04', 'admin', '2023-06-13 16:04:04', '111');
|
||||
INSERT INTO `sys_tenant` VALUES (2, '副系统', '111', '111', '11', '11122', '111', NULL, '2023-06-30 15:27:02', 111, '1', '2', NULL, 'admin', '2023-06-07 14:36:11', 'admin', '2023-06-13 16:20:35', '111');
|
||||
INSERT INTO `sys_tenant` VALUES (1668531266220535809, '而且其', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '3', '1', 'admin', '2023-06-13 16:10:28', 'admin', '2023-06-13 16:24:03', NULL);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_tenant_datasource
|
||||
@ -594,8 +619,6 @@ CREATE TABLE `sys_tenant_datasource` (
|
||||
-- ----------------------------
|
||||
-- Records of sys_tenant_datasource
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_tenant_datasource` VALUES (1, 'MySQL', '127.0.0.1', '3306', 'qiaoba-boot', NULL, 'root', 'root', 5, 10, 20, '1', '', NULL, '', NULL, NULL, 2);
|
||||
INSERT INTO `sys_tenant_datasource` VALUES (2, 'PostgreSQL', '192.168.0.202', '5432', 'mydb', 'qiaoba-boot', 'postgres', 'postgres', 5, 10, 20, '1', '', NULL, '', NULL, NULL, 3);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user
|
||||
@ -662,4 +685,34 @@ CREATE TABLE `sys_user_role` (
|
||||
INSERT INTO `sys_user_role` VALUES (1, 1, 1);
|
||||
INSERT INTO `sys_user_role` VALUES (1660830718629277697, 1660535591067213826, 1);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for test_user
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `test_user`;
|
||||
CREATE TABLE `test_user` (
|
||||
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
|
||||
`dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID',
|
||||
`username` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户账号',
|
||||
`nickname` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户昵称',
|
||||
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户邮箱',
|
||||
`phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '手机号码',
|
||||
`gender` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
|
||||
`avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '头像地址',
|
||||
`password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '密码',
|
||||
`status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '帐号状态(1正常 0停用)',
|
||||
`create_user` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_user` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
`tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
|
||||
PRIMARY KEY (`user_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of test_user
|
||||
-- ----------------------------
|
||||
INSERT INTO `test_user` VALUES (1, 1659443064624918529, 'admin', '小王', '4567@163.com', '18800001124', '1', '/resource/2023/05/19/blob/37f932d6ae4541d7b9688de6ab0b9f50.blob', '$2a$10$otwytPwmUHPy04dCf8S6I.Za7D.xGQ5MJOdEQk8fWTHCWDJCayur.', '1', 'admin', '2023-05-08 15:16:53', 'admin', '2023-05-23 10:11:24', NULL, 1);
|
||||
INSERT INTO `test_user` VALUES (1660830718629277697, 1659443256656932865, 'admin1', 'qq', '', '', '0', '', '$2a$10$J4OOu6bmc6rXF1cH8JKxH.nXfeglU1Wq9Y5iL07P2VFlxLMSDCMVq', '1', 'admin', '2023-05-23 10:11:15', 'admin', '2023-06-15 16:06:06', NULL, 1);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
@ -1,703 +0,0 @@
|
||||
CREATE TABLE "SYS_CONFIG" (
|
||||
"CONFIG_ID" NUMBER(20,0) NOT NULL,
|
||||
"CONFIG_NAME" NVARCHAR2(100),
|
||||
"CONFIG_KEY" NVARCHAR2(100),
|
||||
"CONFIG_VALUE" NVARCHAR2(500),
|
||||
"CONFIG_TYPE" NCHAR(1),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CONFIG_ID" IS '参数主键';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CONFIG_NAME" IS '参数名称';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CONFIG_KEY" IS '参数键名';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CONFIG_VALUE" IS '参数键值';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CONFIG_TYPE" IS '系统内置(Y是 N否)';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_CONFIG"."REMARK" IS '备注';
|
||||
COMMENT ON TABLE "SYS_CONFIG" IS '参数配置表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_DEPT
|
||||
-- ----------------------------
|
||||
|
||||
CREATE TABLE "SYS_DEPT" (
|
||||
"DEPT_ID" NUMBER(20,0) NOT NULL,
|
||||
"PARENT_ID" NUMBER(20,0),
|
||||
"ANCESTORS" NVARCHAR2(500),
|
||||
"DEPT_NAME" NVARCHAR2(30),
|
||||
"ORDER_NUM" NUMBER(11,0),
|
||||
"LEADER" NVARCHAR2(20),
|
||||
"PHONE" NVARCHAR2(30),
|
||||
"EMAIL" NVARCHAR2(30),
|
||||
"STATUS" NCHAR(1),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(255),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_DEPT"."DEPT_ID" IS '部门id';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."PARENT_ID" IS '父部门id';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."ANCESTORS" IS '祖级列表';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."DEPT_NAME" IS '部门名称';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."ORDER_NUM" IS '显示顺序';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."LEADER" IS '负责人ID';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."PHONE" IS '手机号';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."EMAIL" IS '邮箱';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."STATUS" IS '部门状态(1正常 0停用)';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_DEPT"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_DEPT" IS '部门表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_DICT_DATA
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_DICT_DATA" (
|
||||
"DICT_CODE" NUMBER(20,0) NOT NULL,
|
||||
"DICT_SORT" NUMBER(11,0),
|
||||
"DICT_LABEL" NVARCHAR2(100),
|
||||
"DICT_VALUE" NVARCHAR2(100),
|
||||
"DICT_TYPE" NVARCHAR2(100),
|
||||
"CSS_CLASS" NVARCHAR2(100),
|
||||
"LIST_CLASS" NVARCHAR2(100),
|
||||
"STATUS" NCHAR(1),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."DICT_CODE" IS '字典编码';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."DICT_SORT" IS '字典排序';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."DICT_LABEL" IS '字典标签';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."DICT_VALUE" IS '字典键值';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."DICT_TYPE" IS '字典类型';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."CSS_CLASS" IS '样式属性(其他样式扩展)';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."LIST_CLASS" IS '表格回显样式';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."STATUS" IS '状态(0正常 1停用)';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_DICT_DATA"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_DICT_DATA" IS '字典数据表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_DICT_TYPE
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_DICT_TYPE" (
|
||||
"DICT_ID" NUMBER(20,0) NOT NULL,
|
||||
"DICT_NAME" NVARCHAR2(100),
|
||||
"DICT_TYPE" NVARCHAR2(100),
|
||||
"STATUS" NCHAR(1),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."DICT_ID" IS '字典主键';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."DICT_NAME" IS '字典名称';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."DICT_TYPE" IS '字典类型';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."STATUS" IS '状态(0正常 1停用)';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_DICT_TYPE"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_DICT_TYPE" IS '字典类型表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_LOGIN_LOG
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_LOGIN_LOG" (
|
||||
"LOGIN_ID" NUMBER(20,0) NOT NULL,
|
||||
"DEVICE_SN" NVARCHAR2(50),
|
||||
"USERNAME" NVARCHAR2(50),
|
||||
"NICKNAME" NVARCHAR2(30),
|
||||
"IP" NVARCHAR2(30),
|
||||
"ADDRESS" NVARCHAR2(255),
|
||||
"BROWSER" NVARCHAR2(50),
|
||||
"OS" NVARCHAR2(50),
|
||||
"LOGIN_TIME" DATE,
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."DEVICE_SN" IS '设备编码';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."USERNAME" IS '登录账号';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."NICKNAME" IS '用户名称';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."IP" IS '访问IP';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."ADDRESS" IS '登录地点';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."BROWSER" IS '浏览器';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."OS" IS '操作系统';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."LOGIN_TIME" IS '登录时间';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_LOGIN_LOG"."REMARK" IS '备注';
|
||||
COMMENT ON TABLE "SYS_LOGIN_LOG" IS '登录日志';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_MENU
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_MENU" (
|
||||
"MENU_ID" NUMBER(20,0) NOT NULL,
|
||||
"MENU_NAME" NVARCHAR2(50) NOT NULL,
|
||||
"PARENT_ID" NUMBER(20,0),
|
||||
"ORDER_NUM" NUMBER(11,0),
|
||||
"PATH" NVARCHAR2(200),
|
||||
"COMPONENT" NVARCHAR2(255),
|
||||
"QUERY" NVARCHAR2(255),
|
||||
"IS_FRAME" NUMBER(11,0),
|
||||
"IS_CACHE" NUMBER(11,0),
|
||||
"MENU_TYPE" NCHAR(1),
|
||||
"IS_VISIBLE" NCHAR(1),
|
||||
"PERMS" NVARCHAR2(100),
|
||||
"ICON" NVARCHAR2(100),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_MENU"."MENU_ID" IS '菜单ID';
|
||||
COMMENT ON COLUMN "SYS_MENU"."MENU_NAME" IS '菜单名称';
|
||||
COMMENT ON COLUMN "SYS_MENU"."PARENT_ID" IS '父菜单ID';
|
||||
COMMENT ON COLUMN "SYS_MENU"."ORDER_NUM" IS '显示顺序';
|
||||
COMMENT ON COLUMN "SYS_MENU"."PATH" IS '路由地址';
|
||||
COMMENT ON COLUMN "SYS_MENU"."COMPONENT" IS '组件路径';
|
||||
COMMENT ON COLUMN "SYS_MENU"."QUERY" IS '路由参数';
|
||||
COMMENT ON COLUMN "SYS_MENU"."IS_FRAME" IS '是否为外链(1是 0否)';
|
||||
COMMENT ON COLUMN "SYS_MENU"."IS_CACHE" IS '是否缓存(1缓存 0不缓存)';
|
||||
COMMENT ON COLUMN "SYS_MENU"."MENU_TYPE" IS '菜单类型(M目录 C菜单 F按钮)';
|
||||
COMMENT ON COLUMN "SYS_MENU"."IS_VISIBLE" IS '菜单状态(1显示 0隐藏)';
|
||||
COMMENT ON COLUMN "SYS_MENU"."PERMS" IS '权限标识';
|
||||
COMMENT ON COLUMN "SYS_MENU"."ICON" IS '菜单图标';
|
||||
COMMENT ON COLUMN "SYS_MENU"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_MENU"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_MENU"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_MENU"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_MENU"."REMARK" IS '备注';
|
||||
COMMENT ON TABLE "SYS_MENU" IS '菜单权限表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_POST
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_POST" (
|
||||
"POST_ID" NUMBER(20,0) NOT NULL,
|
||||
"POST_CODE" NVARCHAR2(64) NOT NULL,
|
||||
"POST_NAME" NVARCHAR2(50) NOT NULL,
|
||||
"POST_SORT" NUMBER(11,0) NOT NULL,
|
||||
"STATUS" NCHAR(1) NOT NULL,
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_POST"."POST_ID" IS '岗位ID';
|
||||
COMMENT ON COLUMN "SYS_POST"."POST_CODE" IS '岗位编码';
|
||||
COMMENT ON COLUMN "SYS_POST"."POST_NAME" IS '岗位名称';
|
||||
COMMENT ON COLUMN "SYS_POST"."POST_SORT" IS '显示顺序';
|
||||
COMMENT ON COLUMN "SYS_POST"."STATUS" IS '状态(1正常 0停用)';
|
||||
COMMENT ON COLUMN "SYS_POST"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_POST"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_POST"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_POST"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_POST"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_POST"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_POST" IS '岗位信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_ROLE
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_ROLE" (
|
||||
"ROLE_ID" NUMBER(20,0) NOT NULL,
|
||||
"ROLE_NAME" NVARCHAR2(30) NOT NULL,
|
||||
"ROLE_KEY" NVARCHAR2(100) NOT NULL,
|
||||
"ROLE_SORT" NUMBER(11,0) NOT NULL,
|
||||
"DATA_SCOPE" NCHAR(1),
|
||||
"STATUS" NCHAR(1) NOT NULL,
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_ROLE"."ROLE_ID" IS '角色ID';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."ROLE_NAME" IS '角色名称';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."ROLE_KEY" IS '角色权限字符串';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."ROLE_SORT" IS '显示顺序';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."DATA_SCOPE" IS '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."STATUS" IS '角色状态(1正常 0停用)';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_ROLE"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_ROLE" IS '角色信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_ROLE_DEPT
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_ROLE_DEPT" (
|
||||
"ROLE_ID" NUMBER(20,0) NOT NULL,
|
||||
"DEPT_ID" NUMBER(20,0) NOT NULL,
|
||||
"TENANT_ID" NUMBER(20,0) NOT NULL
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_ROLE_DEPT"."ROLE_ID" IS '角色ID';
|
||||
COMMENT ON COLUMN "SYS_ROLE_DEPT"."DEPT_ID" IS '部门ID';
|
||||
COMMENT ON COLUMN "SYS_ROLE_DEPT"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_ROLE_DEPT" IS '角色和部门关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_ROLE_MENU
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_ROLE_MENU" (
|
||||
"ROLE_ID" NUMBER(20,0) NOT NULL,
|
||||
"MENU_ID" NUMBER(20,0) NOT NULL,
|
||||
"TENANT_ID" NUMBER(20,0) NOT NULL
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_ROLE_MENU"."ROLE_ID" IS '角色ID';
|
||||
COMMENT ON COLUMN "SYS_ROLE_MENU"."MENU_ID" IS '菜单ID';
|
||||
COMMENT ON COLUMN "SYS_ROLE_MENU"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_ROLE_MENU" IS '角色和菜单关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_USER
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_USER" (
|
||||
"USER_ID" NUMBER(20,0) NOT NULL,
|
||||
"DEPT_ID" NUMBER(20,0),
|
||||
"USERNAME" NVARCHAR2(30) NOT NULL,
|
||||
"NICKNAME" NVARCHAR2(30) NOT NULL,
|
||||
"EMAIL" NVARCHAR2(50),
|
||||
"PHONE" NVARCHAR2(11),
|
||||
"GENDER" NCHAR(1),
|
||||
"AVATAR" NVARCHAR2(100),
|
||||
"PASSWORD" NVARCHAR2(100),
|
||||
"STATUS" NCHAR(1),
|
||||
"CREATE_USER" NVARCHAR2(64),
|
||||
"CREATE_TIME" DATE,
|
||||
"UPDATE_USER" NVARCHAR2(64),
|
||||
"UPDATE_TIME" DATE,
|
||||
"REMARK" NVARCHAR2(500),
|
||||
"TENANT_ID" NUMBER(20,0)
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_USER"."USER_ID" IS '用户ID';
|
||||
COMMENT ON COLUMN "SYS_USER"."DEPT_ID" IS '部门ID';
|
||||
COMMENT ON COLUMN "SYS_USER"."USERNAME" IS '用户账号';
|
||||
COMMENT ON COLUMN "SYS_USER"."NICKNAME" IS '用户昵称';
|
||||
COMMENT ON COLUMN "SYS_USER"."EMAIL" IS '用户邮箱';
|
||||
COMMENT ON COLUMN "SYS_USER"."PHONE" IS '手机号码';
|
||||
COMMENT ON COLUMN "SYS_USER"."GENDER" IS '用户性别(0男 1女 2未知)';
|
||||
COMMENT ON COLUMN "SYS_USER"."AVATAR" IS '头像地址';
|
||||
COMMENT ON COLUMN "SYS_USER"."PASSWORD" IS '密码';
|
||||
COMMENT ON COLUMN "SYS_USER"."STATUS" IS '帐号状态(1正常 0停用)';
|
||||
COMMENT ON COLUMN "SYS_USER"."CREATE_USER" IS '创建者';
|
||||
COMMENT ON COLUMN "SYS_USER"."CREATE_TIME" IS '创建时间';
|
||||
COMMENT ON COLUMN "SYS_USER"."UPDATE_USER" IS '更新者';
|
||||
COMMENT ON COLUMN "SYS_USER"."UPDATE_TIME" IS '更新时间';
|
||||
COMMENT ON COLUMN "SYS_USER"."REMARK" IS '备注';
|
||||
COMMENT ON COLUMN "SYS_USER"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_USER" IS '用户信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_USER_POST
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_USER_POST" (
|
||||
"USER_ID" NUMBER(20,0) NOT NULL,
|
||||
"POST_ID" NUMBER(20,0) NOT NULL,
|
||||
"TENANT_ID" NUMBER(20,0) NOT NULL
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_USER_POST"."USER_ID" IS '用户ID';
|
||||
COMMENT ON COLUMN "SYS_USER_POST"."POST_ID" IS '岗位ID';
|
||||
COMMENT ON COLUMN "SYS_USER_POST"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_USER_POST" IS '用户与岗位关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for SYS_USER_ROLE
|
||||
-- ----------------------------
|
||||
CREATE TABLE "SYS_USER_ROLE" (
|
||||
"USER_ID" NUMBER(20,0) NOT NULL,
|
||||
"ROLE_ID" NUMBER(20,0) NOT NULL,
|
||||
"TENANT_ID" NUMBER(20,0) NOT NULL
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
PCTFREE 10
|
||||
INITRANS 1
|
||||
STORAGE (
|
||||
INITIAL 65536
|
||||
NEXT 1048576
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS 2147483645
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
PARALLEL 1
|
||||
NOCACHE
|
||||
DISABLE ROW MOVEMENT
|
||||
;
|
||||
COMMENT ON COLUMN "SYS_USER_ROLE"."USER_ID" IS '用户ID';
|
||||
COMMENT ON COLUMN "SYS_USER_ROLE"."ROLE_ID" IS '角色ID';
|
||||
COMMENT ON COLUMN "SYS_USER_ROLE"."TENANT_ID" IS '租户ID';
|
||||
COMMENT ON TABLE "SYS_USER_ROLE" IS '用户和角色关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_CONFIG
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_CONFIG" ADD CONSTRAINT "SYS_C0011164" PRIMARY KEY ("CONFIG_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_CONFIG
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_CONFIG" ADD CONSTRAINT "SYS_C0011119" CHECK ("CONFIG_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_DEPT
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DEPT" ADD CONSTRAINT "SYS_C0011162" PRIMARY KEY ("DEPT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_DEPT
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DEPT" ADD CONSTRAINT "SYS_C0011117" CHECK ("DEPT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_DICT_DATA
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DICT_DATA" ADD CONSTRAINT "SYS_C0011165" PRIMARY KEY ("DICT_CODE");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_DICT_DATA
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DICT_DATA" ADD CONSTRAINT "SYS_C0011121" CHECK ("DICT_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_DICT_TYPE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DICT_TYPE" ADD CONSTRAINT "SYS_C0011166" PRIMARY KEY ("DICT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_DICT_TYPE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_DICT_TYPE" ADD CONSTRAINT "SYS_C0011120" CHECK ("DICT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Indexes structure for table SYS_DICT_TYPE
|
||||
-- ----------------------------
|
||||
CREATE UNIQUE INDEX "DICT_TYPE"
|
||||
ON "SYS_DICT_TYPE" ("DICT_TYPE" ASC)
|
||||
LOGGING
|
||||
VISIBLE
|
||||
PCTFREE 10
|
||||
INITRANS 2
|
||||
STORAGE (
|
||||
BUFFER_POOL DEFAULT
|
||||
);
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_LOGIN_LOG
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_LOGIN_LOG" ADD CONSTRAINT "SYS_C0011167" PRIMARY KEY ("LOGIN_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_LOGIN_LOG
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_LOGIN_LOG" ADD CONSTRAINT "SYS_C0011122" CHECK ("LOGIN_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_MENU
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_MENU" ADD CONSTRAINT "SYS_C0011168" PRIMARY KEY ("MENU_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_MENU
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_MENU" ADD CONSTRAINT "SYS_C0011123" CHECK ("MENU_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_MENU" ADD CONSTRAINT "SYS_C0011124" CHECK ("MENU_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_POST
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011169" PRIMARY KEY ("POST_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_POST
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011125" CHECK ("POST_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011126" CHECK ("POST_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011127" CHECK ("POST_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011128" CHECK ("POST_SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_POST" ADD CONSTRAINT "SYS_C0011129" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_ROLE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011170" PRIMARY KEY ("ROLE_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_ROLE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011130" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011131" CHECK ("ROLE_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011132" CHECK ("ROLE_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011133" CHECK ("ROLE_SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE" ADD CONSTRAINT "SYS_C0011134" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_ROLE_DEPT
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE_DEPT" ADD CONSTRAINT "SYS_C0011171" PRIMARY KEY ("ROLE_ID", "DEPT_ID", "TENANT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_ROLE_DEPT
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE_DEPT" ADD CONSTRAINT "SYS_C0011135" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE_DEPT" ADD CONSTRAINT "SYS_C0011136" CHECK ("DEPT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE_DEPT" ADD CONSTRAINT "SYS_C0011137" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_ROLE_MENU
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE_MENU" ADD CONSTRAINT "SYS_C0011172" PRIMARY KEY ("ROLE_ID", "MENU_ID", "TENANT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_ROLE_MENU
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_ROLE_MENU" ADD CONSTRAINT "SYS_C0011138" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE_MENU" ADD CONSTRAINT "SYS_C0011139" CHECK ("MENU_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_ROLE_MENU" ADD CONSTRAINT "SYS_C0011140" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_USER
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER" ADD CONSTRAINT "SYS_C0011175" PRIMARY KEY ("USER_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_USER
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER" ADD CONSTRAINT "SYS_C0011152" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER" ADD CONSTRAINT "SYS_C0011153" CHECK ("USERNAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER" ADD CONSTRAINT "SYS_C0011154" CHECK ("NICKNAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_USER_POST
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER_POST" ADD CONSTRAINT "SYS_C0011176" PRIMARY KEY ("USER_ID", "POST_ID", "TENANT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_USER_POST
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER_POST" ADD CONSTRAINT "SYS_C0011155" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER_POST" ADD CONSTRAINT "SYS_C0011156" CHECK ("POST_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER_POST" ADD CONSTRAINT "SYS_C0011157" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table SYS_USER_ROLE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER_ROLE" ADD CONSTRAINT "SYS_C0011177" PRIMARY KEY ("USER_ID", "ROLE_ID", "TENANT_ID");
|
||||
|
||||
-- ----------------------------
|
||||
-- Checks structure for table SYS_USER_ROLE
|
||||
-- ----------------------------
|
||||
ALTER TABLE "SYS_USER_ROLE" ADD CONSTRAINT "SYS_C0011158" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER_ROLE" ADD CONSTRAINT "SYS_C0011159" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
||||
ALTER TABLE "SYS_USER_ROLE" ADD CONSTRAINT "SYS_C0011160" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
|
@ -1,9 +1,11 @@
|
||||
package com.qiaoba.module.generator.service.impl;
|
||||
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Sequence;
|
||||
import com.qiaoba.common.base.constants.BaseConstant;
|
||||
import com.qiaoba.common.base.enums.BaseEnum;
|
||||
import com.qiaoba.common.base.exceptions.ServiceException;
|
||||
@ -52,7 +54,6 @@ public class GeneratorTableServiceImpl implements GeneratorTableService {
|
||||
private final GeneratorTableMapper generatorTableMapper;
|
||||
private final GeneratorTableColumnService generatorTableColumnService;
|
||||
|
||||
|
||||
@Override
|
||||
public TableDataInfo<DbTableVo> selectPageDbTableList(TableDto dto, PageQuery pageQuery) {
|
||||
dto.setDbType(TenantDbTypeContext.getDefault());
|
||||
@ -87,6 +88,9 @@ public class GeneratorTableServiceImpl implements GeneratorTableService {
|
||||
|
||||
@Override
|
||||
public byte[] downloadCode(String tableName) {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
System.out.println(new Snowflake().nextIdStr());
|
||||
}
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
ZipOutputStream zip = new ZipOutputStream(outputStream);
|
||||
generatorCode(tableName, zip);
|
||||
|
@ -1,15 +1,15 @@
|
||||
package com.qiaoba.module.generator.util;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.qiaoba.module.generator.constant.GenConstants;
|
||||
import com.qiaoba.common.base.context.BaseContext;
|
||||
import com.qiaoba.module.generator.entity.Generator;
|
||||
import com.qiaoba.module.generator.entity.GeneratorTable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.velocity.VelocityContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -66,11 +66,9 @@ public class VelocityUtil {
|
||||
templates.add("vm/java/controller.java.vm");
|
||||
|
||||
templates.add("vm/js/api.js.vm");
|
||||
/*
|
||||
|
||||
templates.add("vm/sql/sql.vm");
|
||||
templates.add("vm/js/api.js.vm");
|
||||
templates.add("vm/vue/index.vue.vm");*/
|
||||
templates.add("vm/vue/index.vue.vm");
|
||||
|
||||
return templates;
|
||||
}
|
||||
|
||||
@ -101,6 +99,16 @@ public class VelocityUtil {
|
||||
velocityContext.put("table", generator.getTable());
|
||||
velocityContext.put("generator", generator);
|
||||
|
||||
String parentId = new Snowflake().nextIdStr();
|
||||
velocityContext.put("parentId", parentId);
|
||||
velocityContext.put("insertMenuId", new Snowflake().nextIdStr());
|
||||
velocityContext.put("updateMenuId", new Snowflake().nextIdStr());
|
||||
velocityContext.put("deleteMenuId", new Snowflake().nextIdStr());
|
||||
velocityContext.put("selectMenuId", new Snowflake().nextIdStr());
|
||||
|
||||
velocityContext.put("tenantId", BaseContext.getTenantId());
|
||||
velocityContext.put("parentMenuId", "0");
|
||||
|
||||
return velocityContext;
|
||||
}
|
||||
|
||||
|
BIN
qiaoba-modules/qiaoba-module-generator/src/main/resources/vm.zip
Normal file
BIN
qiaoba-modules/qiaoba-module-generator/src/main/resources/vm.zip
Normal file
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, is_visible, perms, icon, create_user, create_time, update_user, update_time, remark, tenant_id)
|
||||
values('${parentId}', '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 0, 0, 'C', '1', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单', '${tenantId}');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, is_visible, perms, icon, create_user, create_time, update_user, update_time, remark, tenant_id)
|
||||
values('${selectMenuId}', '${functionName}查询', '${parentId}', '1', '#', '', 0, 0, 'F', '1', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, '', '${tenantId}');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, is_visible, perms, icon, create_user, create_time, update_user, update_time, remark, tenant_id)
|
||||
values('${insertMenuId}', '${functionName}新增', '${parentId}', '2', '#', '', 0, 0, 'F', '1', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, '', '${tenantId}');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, is_visible, perms, icon, create_user, create_time, update_user, update_time, remark, tenant_id)
|
||||
values('${updateMenuId}', '${functionName}修改', '${parentId}', '3', '#', '', 0, 0, 'F', '1', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, '', '${tenantId}');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, is_visible, perms, icon, create_user, create_time, update_user, update_time, remark, tenant_id)
|
||||
values('${deleteMenuId}', '${functionName}删除', '${parentId}', '4', '#', '', 0, 0, 'F', '1', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, '', '${tenantId}');
|
@ -0,0 +1,574 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
||||
#foreach($column in $columns)
|
||||
#if($column.query)
|
||||
#set($dictType=$column.dictType)
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($column.htmlType == "input")
|
||||
<el-form-item label="${comment}" prop="${column.javaField}">
|
||||
<el-input
|
||||
v-model="queryParams.${column.javaField}"
|
||||
placeholder="请输入${comment}"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
|
||||
<el-form-item label="${comment}" prop="${column.javaField}">
|
||||
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
|
||||
<el-option
|
||||
v-for="dict in ${dictType}"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
|
||||
<el-form-item label="${comment}" prop="${column.javaField}">
|
||||
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
|
||||
<el-form-item label="${comment}" prop="${column.javaField}">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.${column.javaField}"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择${comment}">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
|
||||
<el-form-item label="${comment}" style="width: 308px">
|
||||
<el-date-picker
|
||||
v-model="daterange${AttrName}"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Plus"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['${moduleName}:${businessName}:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="Edit"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['${moduleName}:${businessName}:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="Delete"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['${moduleName}:${businessName}:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
#foreach($column in $columns)
|
||||
#set($javaField=$column.javaField)
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($column.pk)
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}" />
|
||||
#elseif($column.list && $column.htmlType == "datetime")
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && $column.htmlType == "imageUpload")
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
|
||||
<template #default="scope">
|
||||
<image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && "" != $column.dictType)
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}">
|
||||
<template #default="scope">
|
||||
#if($column.htmlType == "checkbox")
|
||||
<dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
|
||||
#else
|
||||
<dict-tag :options="${column.dictType}" :value="scope.row.${javaField}"/>
|
||||
#end
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && "" != $javaField)
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}" />
|
||||
#end
|
||||
#end
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">修改</el-button>
|
||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNum"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改${functionName}对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||
<el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px">
|
||||
#foreach($column in $columns)
|
||||
#set($field=$column.javaField)
|
||||
#if($column.insert && !$column.pk)
|
||||
#if(($column.usableColumn) || (!$column.superColumn))
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#set($dictType=$column.dictType)
|
||||
#if($column.htmlType == "input")
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-input v-model="form.${field}" placeholder="请输入${comment}" />
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "imageUpload")
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<image-upload v-model="form.${field}"/>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "fileUpload")
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<file-upload v-model="form.${field}"/>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "editor")
|
||||
<el-form-item label="${comment}">
|
||||
<editor v-model="form.${field}" :min-height="192"/>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "select" && "" != $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-select v-model="form.${field}" placeholder="请选择${comment}">
|
||||
<el-option
|
||||
v-for="dict in ${dictType}"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
#if($column.javaType == "Integer" || $column.javaType == "Long")
|
||||
:value="parseInt(dict.value)"
|
||||
#else
|
||||
:value="dict.value"
|
||||
#end
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "select" && $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-select v-model="form.${field}" placeholder="请选择${comment}">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "checkbox" && "" != $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-checkbox-group v-model="form.${field}">
|
||||
<el-checkbox
|
||||
v-for="dict in ${dictType}"
|
||||
:key="dict.value"
|
||||
:label="dict.value">
|
||||
{{dict.label}}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "checkbox" && $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-checkbox-group v-model="form.${field}">
|
||||
<el-checkbox>请选择字典生成</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "radio" && "" != $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-radio-group v-model="form.${field}">
|
||||
<el-radio
|
||||
v-for="dict in ${dictType}"
|
||||
:key="dict.value"
|
||||
#if($column.javaType == "Integer" || $column.javaType == "Long")
|
||||
:label="parseInt(dict.value)"
|
||||
#else
|
||||
:label="dict.value"
|
||||
#end
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "radio" && $dictType)
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-radio-group v-model="form.${field}">
|
||||
<el-radio label="1">请选择字典生成</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "datetime")
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-date-picker clearable
|
||||
v-model="form.${field}"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择${comment}">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "textarea")
|
||||
<el-form-item label="${comment}" prop="${field}">
|
||||
<el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
<el-divider content-position="center">${subTable.functionName}信息</el-divider>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" icon="Plus" @click="handleAdd${subClassName}">添加</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||
#foreach($column in $subTable.columns)
|
||||
#set($javaField=$column.javaField)
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($column.pk || $javaField == ${subTableFkclassName})
|
||||
#elseif($column.list && $column.htmlType == "input")
|
||||
<el-table-column label="$comment" prop="${javaField}" width="150">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && $column.htmlType == "datetime")
|
||||
<el-table-column label="$comment" prop="${javaField}" width="240">
|
||||
<template #default="scope">
|
||||
<el-date-picker clearable
|
||||
v-model="scope.row.$javaField"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择$comment">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
|
||||
<el-table-column label="$comment" prop="${javaField}" width="150">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
|
||||
<el-option
|
||||
v-for="dict in $column.dictType"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
|
||||
<el-table-column label="$comment" prop="${javaField}" width="150">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
#end
|
||||
#end
|
||||
</el-table>
|
||||
#end
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="${BusinessName}">
|
||||
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
#if(${dicts} != '')
|
||||
#set($dictsNoSymbol=$dicts.replace("'", ""))
|
||||
const { ${dictsNoSymbol} } = proxy.useDict(${dicts});
|
||||
#end
|
||||
|
||||
const ${businessName}List = ref([]);
|
||||
#if($table.sub)
|
||||
const ${subclassName}List = ref([]);
|
||||
#end
|
||||
const open = ref(false);
|
||||
const loading = ref(true);
|
||||
const showSearch = ref(true);
|
||||
const ids = ref([]);
|
||||
#if($table.sub)
|
||||
const checked${subClassName} = ref([]);
|
||||
#end
|
||||
const single = ref(true);
|
||||
const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const title = ref("");
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
const daterange${AttrName} = ref([]);
|
||||
#end
|
||||
#end
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
#foreach ($column in $columns)
|
||||
#if($column.query)
|
||||
$column.javaField: null#if($foreach.count != $columns.size()),#end
|
||||
#end
|
||||
#end
|
||||
},
|
||||
rules: {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.required)
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
$column.javaField: [
|
||||
{ required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
|
||||
]#if($foreach.count != $columns.size()),#end
|
||||
#end
|
||||
#end
|
||||
}
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/** 查询${functionName}列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
|
||||
queryParams.value.params = {};
|
||||
#break
|
||||
#end
|
||||
#end
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
if (null != daterange${AttrName} && '' != daterange${AttrName}) {
|
||||
queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0];
|
||||
queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1];
|
||||
}
|
||||
#end
|
||||
#end
|
||||
list${BusinessName}(queryParams.value).then(response => {
|
||||
${businessName}List.value = response.rows;
|
||||
total.value = response.total;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
function cancel() {
|
||||
open.value = false;
|
||||
reset();
|
||||
}
|
||||
|
||||
// 表单重置
|
||||
function reset() {
|
||||
form.value = {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "checkbox")
|
||||
$column.javaField: []#if($foreach.count != $columns.size()),#end
|
||||
#else
|
||||
$column.javaField: null#if($foreach.count != $columns.size()),#end
|
||||
#end
|
||||
#end
|
||||
};
|
||||
#if($table.sub)
|
||||
${subclassName}List.value = [];
|
||||
#end
|
||||
proxy.resetForm("${businessName}Ref");
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.pageNum = 1;
|
||||
getList();
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
function resetQuery() {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
daterange${AttrName}.value = [];
|
||||
#end
|
||||
#end
|
||||
proxy.resetForm("queryRef");
|
||||
handleQuery();
|
||||
}
|
||||
|
||||
// 多选框选中数据
|
||||
function handleSelectionChange(selection) {
|
||||
ids.value = selection.map(item => item.${pkColumn.javaField});
|
||||
single.value = selection.length != 1;
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
/** 新增按钮操作 */
|
||||
function handleAdd() {
|
||||
reset();
|
||||
open.value = true;
|
||||
title.value = "添加${functionName}";
|
||||
}
|
||||
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
const _${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value
|
||||
get${BusinessName}(_${pkColumn.javaField}).then(response => {
|
||||
form.value = response.data;
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "checkbox")
|
||||
form.value.$column.javaField = form.value.${column.javaField}.split(",");
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
${subclassName}List.value = response.data.${subclassName}List;
|
||||
#end
|
||||
open.value = true;
|
||||
title.value = "修改${functionName}";
|
||||
});
|
||||
}
|
||||
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => {
|
||||
if (valid) {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "checkbox")
|
||||
form.value.$column.javaField = form.value.${column.javaField}.join(",");
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
form.value.${subclassName}List = ${subclassName}List.value;
|
||||
#end
|
||||
if (form.value.${pkColumn.javaField} != null) {
|
||||
update${BusinessName}(form.value).then(response => {
|
||||
proxy.#[[$modal]]#.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
add${BusinessName}(form.value).then(response => {
|
||||
proxy.#[[$modal]]#.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** 删除按钮操作 */
|
||||
function handleDelete(row) {
|
||||
const _${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value;
|
||||
proxy.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + _${pkColumn.javaField}s + '"的数据项?').then(function() {
|
||||
return del${BusinessName}(_${pkColumn.javaField}s);
|
||||
}).then(() => {
|
||||
getList();
|
||||
proxy.#[[$modal]]#.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
||||
#if($table.sub)
|
||||
/** ${subTable.functionName}序号 */
|
||||
function row${subClassName}Index({ row, rowIndex }) {
|
||||
row.index = rowIndex + 1;
|
||||
}
|
||||
|
||||
/** ${subTable.functionName}添加按钮操作 */
|
||||
function handleAdd${subClassName}() {
|
||||
let obj = {};
|
||||
#foreach($column in $subTable.columns)
|
||||
#if($column.pk || $column.javaField == ${subTableFkclassName})
|
||||
#elseif($column.list && "" != $javaField)
|
||||
obj.$column.javaField = "";
|
||||
#end
|
||||
#end
|
||||
${subclassName}List.value.push(obj);
|
||||
}
|
||||
|
||||
/** ${subTable.functionName}删除按钮操作 */
|
||||
function handleDelete${subClassName}() {
|
||||
if (checked${subClassName}.value.length == 0) {
|
||||
proxy.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
|
||||
} else {
|
||||
const ${subclassName}s = ${subclassName}List.value;
|
||||
const checked${subClassName}s = checked${subClassName}.value;
|
||||
${subclassName}List.value = ${subclassName}s.filter(function(item) {
|
||||
return checked${subClassName}s.indexOf(item.index) == -1
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** 复选框选中数据 */
|
||||
function handle${subClassName}SelectionChange(selection) {
|
||||
checked${subClassName}.value = selection.map(item => item.index)
|
||||
}
|
||||
|
||||
#end
|
||||
getList();
|
||||
</script>
|
Reference in New Issue
Block a user