Commit f7762e646e502e8deabb60502b3d3f0cb2a59054

Authored by YunaiV
1 parent 91dd4a32

站内信模块:我的站内信 vue3

README.md
... ... @@ -92,6 +92,7 @@
92 92 | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
93 93 | 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
94 94 | 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 |
  95 +| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 |
95 96 | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
96 97 | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
97 98 | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
... ...
sql/mysql/ruoyi-vue-pro.sql
... ... @@ -546,7 +546,7 @@ CREATE TABLE `infra_api_error_log` (
546 546 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
547 547 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
548 548 PRIMARY KEY (`id`) USING BTREE
549   -) ENGINE = InnoDB AUTO_INCREMENT = 949 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志';
  549 +) ENGINE = InnoDB AUTO_INCREMENT = 965 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志';
550 550  
551 551 -- ----------------------------
552 552 -- Records of infra_api_error_log
... ... @@ -584,7 +584,7 @@ CREATE TABLE `infra_codegen_column` (
584 584 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
585 585 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
586 586 PRIMARY KEY (`id`) USING BTREE
587   -) ENGINE = InnoDB AUTO_INCREMENT = 1582 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义';
  587 +) ENGINE = InnoDB AUTO_INCREMENT = 1612 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义';
588 588  
589 589 -- ----------------------------
590 590 -- Records of infra_codegen_column
... ... @@ -616,7 +616,7 @@ CREATE TABLE `infra_codegen_table` (
616 616 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
617 617 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
618 618 PRIMARY KEY (`id`) USING BTREE
619   -) ENGINE = InnoDB AUTO_INCREMENT = 122 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义';
  619 +) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义';
620 620  
621 621 -- ----------------------------
622 622 -- Records of infra_codegen_table
... ... @@ -1191,7 +1191,7 @@ CREATE TABLE `system_dict_data` (
1191 1191 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1192 1192 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1193 1193 PRIMARY KEY (`id`) USING BTREE
1194   -) ENGINE = InnoDB AUTO_INCREMENT = 1227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表';
  1194 +) ENGINE = InnoDB AUTO_INCREMENT = 1229 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表';
1195 1195  
1196 1196 -- ----------------------------
1197 1197 -- Records of system_dict_data
... ... @@ -1395,6 +1395,8 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st
1395 1395 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1224, 10, '发送成功', '10', 'system_mail_send_status', 0, 'success', '', '邮件发送状态 - 发送成功', '1', '2023-01-26 09:54:28', '1', '2023-01-26 16:36:22', b'0');
1396 1396 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1225, 20, '发送失败', '20', 'system_mail_send_status', 0, 'danger', '', '邮件发送状态 - 发送失败', '1', '2023-01-26 09:54:50', '1', '2023-01-26 16:36:26', b'0');
1397 1397 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1226, 30, '不发送', '30', 'system_mail_send_status', 0, 'info', '', '邮件发送状态 - 不发送', '1', '2023-01-26 09:55:06', '1', '2023-01-26 16:36:36', b'0');
  1398 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1227, 1, '通知公告', '1', 'system_notify_template_type', 0, 'primary', '', '站内信模版的类型 - 通知公告', '1', '2023-01-28 10:35:59', '1', '2023-01-28 10:35:59', b'0');
  1399 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1228, 2, '系统消息', '2', 'system_notify_template_type', 0, 'success', '', '站内信模版的类型 - 系统消息', '1', '2023-01-28 10:36:20', '1', '2023-01-28 10:36:25', b'0');
1398 1400 COMMIT;
1399 1401  
1400 1402 -- ----------------------------
... ... @@ -1415,7 +1417,7 @@ CREATE TABLE `system_dict_type` (
1415 1417 `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间',
1416 1418 PRIMARY KEY (`id`) USING BTREE,
1417 1419 UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE
1418   -) ENGINE = InnoDB AUTO_INCREMENT = 167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
  1420 +) ENGINE = InnoDB AUTO_INCREMENT = 168 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
1419 1421  
1420 1422 -- ----------------------------
1421 1423 -- Records of system_dict_type
... ... @@ -1479,6 +1481,7 @@ INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creat
1479 1481 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (164, '公众号自动回复的请求关键字匹配模式', 'mp_auto_reply_request_match', 0, '公众号自动回复的请求关键字匹配模式', '1', '2023-01-16 23:29:56', '1', '2023-01-16 23:29:56', b'0', '1970-01-01 00:00:00');
1480 1482 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (165, '公众号的消息类型', 'mp_message_type', 0, '公众号的消息类型', '1', '2023-01-17 22:17:09', '1', '2023-01-17 22:17:09', b'0', '1970-01-01 00:00:00');
1481 1483 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (166, '邮件发送状态', 'system_mail_send_status', 0, '邮件发送状态', '1', '2023-01-26 09:53:13', '1', '2023-01-26 09:53:13', b'0', '1970-01-01 00:00:00');
  1484 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (167, '站内信模版的类型', 'system_notify_template_type', 0, '站内信模版的类型', '1', '2023-01-28 10:35:10', '1', '2023-01-28 10:35:10', b'0', '1970-01-01 00:00:00');
1482 1485 COMMIT;
1483 1486  
1484 1487 -- ----------------------------
... ... @@ -1527,7 +1530,7 @@ CREATE TABLE `system_login_log` (
1527 1530 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1528 1531 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1529 1532 PRIMARY KEY (`id`) USING BTREE
1530   -) ENGINE = InnoDB AUTO_INCREMENT = 1980 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录';
  1533 +) ENGINE = InnoDB AUTO_INCREMENT = 1985 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录';
1531 1534  
1532 1535 -- ----------------------------
1533 1536 -- Records of system_login_log
... ... @@ -1620,7 +1623,7 @@ CREATE TABLE `system_mail_template` (
1620 1623 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1621 1624 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1622 1625 PRIMARY KEY (`id`) USING BTREE
1623   -) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件模版表';
  1626 +) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件模版表';
1624 1627  
1625 1628 -- ----------------------------
1626 1629 -- Records of system_mail_template
... ... @@ -1654,7 +1657,7 @@ CREATE TABLE `system_menu` (
1654 1657 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1655 1658 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1656 1659 PRIMARY KEY (`id`) USING BTREE
1657   -) ENGINE = InnoDB AUTO_INCREMENT = 2144 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表';
  1660 +) ENGINE = InnoDB AUTO_INCREMENT = 2153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表';
1658 1661  
1659 1662 -- ----------------------------
1660 1663 -- Records of system_menu
... ... @@ -1877,7 +1880,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
1877 1880 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1250, '敏感词更新', 'system:sensitive-word:update', 3, 3, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1878 1881 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1251, '敏感词删除', 'system:sensitive-word:delete', 3, 4, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1879 1882 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1252, '敏感词导出', 'system:sensitive-word:export', 3, 5, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1880   -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2023-01-25 20:05:55', b'0');
  1883 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2023-01-28 12:33:52', b'0');
1881 1884 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1255, '数据源配置', '', 2, 1, 2, 'data-source-config', 'rate', 'infra/dataSourceConfig/index', 0, b'1', b'1', '', '2022-04-27 14:37:32', '1', '2022-04-27 22:42:06', b'0');
1882 1885 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1256, '数据源配置查询', 'infra:data-source-config:query', 3, 1, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
1883 1886 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1257, '数据源配置创建', 'infra:data-source-config:create', 3, 2, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
... ... @@ -2023,6 +2026,15 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
2023 2026 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2141, '邮件记录', '', 2, 0, 2130, 'mail-log', 'log', 'system/mail/log/index', 0, b'1', b'1', '', '2023-01-26 02:16:50', '1', '2023-01-26 16:38:27', b'0');
2024 2027 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2142, '日志查询', 'system:mail-log:query', 3, 1, 2141, '', '', '', 0, b'1', b'1', '', '2023-01-26 02:16:50', '', '2023-01-26 02:16:50', b'0');
2025 2028 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2143, '发送测试邮件', 'system:mail-template:send-mail', 3, 5, 2136, '', '', '', 0, b'1', b'1', '1', '2023-01-26 23:29:15', '1', '2023-01-26 23:29:15', b'0');
  2029 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2144, '站内信管理', '', 1, 11, 1, 'notify', 'message', NULL, 0, b'1', b'1', '1', '2023-01-28 10:25:18', '1', '2023-01-28 10:25:46', b'0');
  2030 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2145, '模板管理', '', 2, 0, 2144, 'notify-template', 'education', 'system/notify/template/index', 0, b'1', b'1', '', '2023-01-28 02:26:42', '1', '2023-01-28 10:27:47', b'0');
  2031 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2146, '站内信模板查询', 'system:notify-template:query', 3, 1, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2032 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2147, '站内信模板创建', 'system:notify-template:create', 3, 2, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2033 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2148, '站内信模板更新', 'system:notify-template:update', 3, 3, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2034 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2149, '站内信模板删除', 'system:notify-template:delete', 3, 4, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2035 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2150, '发送测试站内信', 'system:notify-template:send-notify', 3, 5, 2145, '', '', '', 0, b'1', b'1', '1', '2023-01-28 10:54:43', '1', '2023-01-28 10:54:43', b'0');
  2036 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2151, '消息记录', '', 2, 0, 2144, 'notify-message', 'edit', 'system/notify/message/index', 0, b'1', b'1', '', '2023-01-28 04:28:22', '1', '2023-01-28 20:59:53', b'0');
  2037 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2152, '站内信消息查询', 'system:notify-message:query', 3, 1, 2151, '', '', '', 0, b'1', b'1', '', '2023-01-28 04:28:22', '', '2023-01-28 04:28:22', b'0');
2026 2038 COMMIT;
2027 2039  
2028 2040 -- ----------------------------
... ... @@ -2054,6 +2066,72 @@ INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creato
2054 2066 COMMIT;
2055 2067  
2056 2068 -- ----------------------------
  2069 +-- Table structure for system_notify_message
  2070 +-- ----------------------------
  2071 +DROP TABLE IF EXISTS `system_notify_message`;
  2072 +CREATE TABLE `system_notify_message` (
  2073 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  2074 + `user_id` bigint NOT NULL COMMENT '用户id',
  2075 + `user_type` tinyint NOT NULL COMMENT '用户类型',
  2076 + `template_id` bigint NOT NULL COMMENT '模版编号',
  2077 + `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
  2078 + `template_nickname` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版发送人名称',
  2079 + `template_content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容',
  2080 + `template_type` int NOT NULL COMMENT '模版类型',
  2081 + `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版参数',
  2082 + `read_status` bit(1) NOT NULL COMMENT '是否已读',
  2083 + `read_time` datetime NULL DEFAULT NULL COMMENT '阅读时间',
  2084 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  2085 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2086 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  2087 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2088 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  2089 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  2090 + PRIMARY KEY (`id`) USING BTREE
  2091 +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信消息表';
  2092 +
  2093 +-- ----------------------------
  2094 +-- Records of system_notify_message
  2095 +-- ----------------------------
  2096 +BEGIN;
  2097 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-28 21:06:10', '1', '2023-01-28 11:44:08', '1', '2023-01-29 02:51:50', b'0', 1);
  2098 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-29 10:34:13', '1', '2023-01-28 11:45:04', '1', '2023-01-29 02:51:52', b'0', 1);
  2099 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 103, 2, 2, 'register', '系统消息', '你好,欢迎 哈哈 加入大家庭!', 2, '{\"name\":\"哈哈\"}', b'0', NULL, '1', '2023-01-28 21:02:20', '1', '2023-01-28 21:02:20', b'0', 1);
  2100 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'0', '2023-01-29 10:41:45', '1', '2023-01-28 22:21:42', '1', '2023-01-29 02:51:54', b'0', 1);
  2101 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 22:22:07', '1', '2023-01-29 10:52:06', b'0', 1);
  2102 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 1, 2, 1, 'test', '123', '我是 2,我开始 3 了', 1, '{\"name\":\"2\",\"what\":\"3\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:45:21', '1', '2023-01-29 10:52:06', b'0', 1);
  2103 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 1, 2, 2, 'register', '系统消息', '你好,欢迎 123 加入大家庭!', 2, '{\"name\":\"123\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:50:21', '1', '2023-01-29 10:52:06', b'0', 1);
  2104 +COMMIT;
  2105 +
  2106 +-- ----------------------------
  2107 +-- Table structure for system_notify_template
  2108 +-- ----------------------------
  2109 +DROP TABLE IF EXISTS `system_notify_template`;
  2110 +CREATE TABLE `system_notify_template` (
  2111 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  2112 + `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
  2113 + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版编码',
  2114 + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发送人名称',
  2115 + `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容',
  2116 + `type` tinyint NOT NULL COMMENT '类型',
  2117 + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '参数数组',
  2118 + `status` tinyint NOT NULL COMMENT '状态',
  2119 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  2120 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  2121 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2122 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  2123 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2124 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  2125 + PRIMARY KEY (`id`) USING BTREE
  2126 +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信模板表';
  2127 +
  2128 +-- ----------------------------
  2129 +-- Records of system_notify_template
  2130 +-- ----------------------------
  2131 +BEGIN;
  2132 +COMMIT;
  2133 +
  2134 +-- ----------------------------
2057 2135 -- Table structure for system_oauth2_access_token
2058 2136 -- ----------------------------
2059 2137 DROP TABLE IF EXISTS `system_oauth2_access_token`;
... ... @@ -2073,7 +2151,7 @@ CREATE TABLE `system_oauth2_access_token` (
2073 2151 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2074 2152 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2075 2153 PRIMARY KEY (`id`) USING BTREE
2076   -) ENGINE = InnoDB AUTO_INCREMENT = 1214 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌';
  2154 +) ENGINE = InnoDB AUTO_INCREMENT = 1249 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌';
2077 2155  
2078 2156 -- ----------------------------
2079 2157 -- Records of system_oauth2_access_token
... ... @@ -2195,7 +2273,7 @@ CREATE TABLE `system_oauth2_refresh_token` (
2195 2273 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2196 2274 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2197 2275 PRIMARY KEY (`id`) USING BTREE
2198   -) ENGINE = InnoDB AUTO_INCREMENT = 588 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌';
  2276 +) ENGINE = InnoDB AUTO_INCREMENT = 593 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌';
2199 2277  
2200 2278 -- ----------------------------
2201 2279 -- Records of system_oauth2_refresh_token
... ... @@ -2235,7 +2313,7 @@ CREATE TABLE `system_operate_log` (
2235 2313 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2236 2314 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2237 2315 PRIMARY KEY (`id`) USING BTREE
2238   -) ENGINE = InnoDB AUTO_INCREMENT = 4177 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录';
  2316 +) ENGINE = InnoDB AUTO_INCREMENT = 4245 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录';
2239 2317  
2240 2318 -- ----------------------------
2241 2319 -- Records of system_operate_log
... ... @@ -3353,7 +3431,7 @@ CREATE TABLE `system_users` (
3353 3431 -- Records of system_users
3354 3432 -- ----------------------------
3355 3433 BEGIN;
3356   -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/e1fdd7271685ec143a0900681606406621717a666ad0b2798b096df41422b32f.png', 0, '0:0:0:0:0:0:0:1', '2023-01-27 14:31:00', 'admin', '2021-01-05 17:03:47', NULL, '2023-01-27 14:31:00', b'0', 1);
  3434 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/e1fdd7271685ec143a0900681606406621717a666ad0b2798b096df41422b32f.png', 0, '127.0.0.1', '2023-01-29 10:05:18', 'admin', '2021-01-05 17:03:47', NULL, '2023-01-29 10:05:18', b'0', 1);
3357 3435 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1);
3358 3436 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1);
3359 3437 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-05-28 15:43:17', '', '2021-01-21 02:13:53', NULL, '2022-07-09 09:00:33', b'0', 1);
... ...
yudao-ui-admin-vue3/src/api/system/notify/message/index.ts
1 1 import request from '@/config/axios'
  2 +import qs from 'qs'
2 3  
3 4 export interface NotifyMessageVO {
4 5 id: number
... ... @@ -22,6 +23,11 @@ export interface NotifyMessagePageReqVO extends PageParam {
22 23 createTime?: Date[]
23 24 }
24 25  
  26 +export interface NotifyMessageMyPageReqVO extends PageParam {
  27 + readStatus?: boolean
  28 + createTime?: Date[]
  29 +}
  30 +
25 31 // 查询站内信消息列表
26 32 export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => {
27 33 return await request.get({ url: '/system/notify-message/page', params })
... ... @@ -33,29 +39,21 @@ export const getNotifyMessageApi = async (id: number) => {
33 39 }
34 40  
35 41 // 获得我的站内信分页
36   -// export function getMyNotifyMessagePage(query) {
37   -// return request({
38   -// url: '/system/notify-message/my-page',
39   -// method: 'get',
40   -// params: query
41   -// })
42   -// }
  42 +export const getMyNotifyMessagePage = async (params: NotifyMessageMyPageReqVO) => {
  43 + return await request.get({ url: '/system/notify-message/my-page', params })
  44 +}
43 45  
44 46 // 批量标记已读
45   -// export function updateNotifyMessageRead(ids) {
46   -// return request({
47   -// url: '/system/notify-message/update-read?' + qs.stringify({ids: ids}, { indices: false }),
48   -// method: 'put'
49   -// })
50   -// }
  47 +export const updateNotifyMessageRead = async (ids) => {
  48 + return await request.put({
  49 + url: '/system/notify-message/update-read?' + qs.stringify({ ids: ids }, { indices: false })
  50 + })
  51 +}
51 52  
52 53 // 标记所有站内信为已读
53   -// export function updateAllNotifyMessageRead() {
54   -// return request({
55   -// url: '/system/notify-message/update-all-read',
56   -// method: 'put'
57   -// })
58   -// }
  54 +export const updateAllNotifyMessageRead = async () => {
  55 + return await request.put({ url: '/system/notify-message/update-all-read' })
  56 +}
59 57  
60 58 // 获取当前用户的最新站内信列表
61 59 export const getUnreadNotifyMessageListApi = async () => {
... ...
yudao-ui-admin-vue3/src/hooks/web/useXTable.ts
... ... @@ -7,7 +7,7 @@ export interface tableMethod {
7 7 deleteBatch: () => void // 批量删除
8 8 exportList: (fileName?: string) => void // 导出列表
9 9 getCurrentColumn: () => void // 获取当前列
10   - getRadioRecord: () => void // 获取当前选中列,redio
  10 + getRadioRecord: () => void // 获取当前选中列,radio
11 11 getCheckboxRecords: () => void //获取当前选中列, checkbox
12 12 }
13 13  
... ...
yudao-ui-admin-vue3/src/layout/components/Message/src/Message.vue
... ... @@ -4,18 +4,20 @@ import * as NotifyMessageApi from '@/api/system/notify/message'
4 4  
5 5 const { push } = useRouter()
6 6 const activeName = ref('notice')
7   -const count = ref(0) // 未读消息数量
  7 +const unreadCount = ref(0) // 未读消息数量
8 8 const list = ref([]) // 消息列表
9 9  
10 10 // 获得消息列表
11 11 const getList = async () => {
12 12 list.value = await NotifyMessageApi.getUnreadNotifyMessageListApi()
  13 + // 强制设置 unreadCount 为 0,避免小红点因为轮询太慢,不消除
  14 + unreadCount.value = 0
13 15 }
14 16  
15 17 // 获得未读消息数
16 18 const getUnreadCount = async () => {
17 19 NotifyMessageApi.getUnreadNotifyMessageCountApi().then((data) => {
18   - count.value = data
  20 + unreadCount.value = data
19 21 })
20 22 }
21 23  
... ... @@ -40,7 +42,7 @@ onMounted(() => {
40 42 <div class="message">
41 43 <ElPopover placement="bottom" :width="400" trigger="click">
42 44 <template #reference>
43   - <ElBadge :is-dot="count > 0" class="item">
  45 + <ElBadge :is-dot="unreadCount > 0" class="item">
44 46 <Icon icon="ep:bell" :size="18" class="cursor-pointer" @click="getList" />
45 47 </ElBadge>
46 48 </template>
... ...
yudao-ui-admin-vue3/src/layout/components/UserInfo/src/UserInfo.vue
... ... @@ -41,7 +41,7 @@ const loginOut = () =&gt; {
41 41 .catch(() => {})
42 42 }
43 43 const toProfile = async () => {
44   - push('/userinfo/profile')
  44 + push('/user/profile')
45 45 }
46 46 const toDocument = () => {
47 47 window.open('https://doc.iocoder.cn/')
... ...
yudao-ui-admin-vue3/src/router/modules/remaining.ts
... ... @@ -71,7 +71,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
71 71 ]
72 72 },
73 73 {
74   - path: '/userinfo',
  74 + path: '/user',
75 75 component: Layout,
76 76 name: 'UserInfo',
77 77 meta: {
... ... @@ -89,6 +89,18 @@ const remainingRouter: AppRouteRecordRaw[] = [
89 89 icon: 'ep:user',
90 90 title: t('common.profile')
91 91 }
  92 + },
  93 + {
  94 + path: 'notify-message',
  95 + component: () => import('@/views/system/notify/my/index.vue'),
  96 + name: 'MyNotifyMessage',
  97 + meta: {
  98 + canTo: true,
  99 + hidden: true,
  100 + noTagsView: false,
  101 + icon: 'ep:message',
  102 + title: '我的站内信'
  103 + }
92 104 }
93 105 ]
94 106 },
... ...
yudao-ui-admin-vue3/src/views/system/notify/my/index.vue 0 → 100644
  1 +<template>
  2 + <ContentWrap>
  3 + <!-- 列表 -->
  4 + <XTable @register="registerTable">
  5 + <template #toolbar_buttons>
  6 + <!-- 操作:标记已读 -->
  7 + <XButton type="primary" preIcon="ep:zoom-in" title="标记已读" @click="handleUpdateList" />
  8 + <!-- 操作:全部已读 -->
  9 + <XButton type="primary" preIcon="ep:zoom-in" title="全部已读" @click="handleUpdateAll" />
  10 + </template>
  11 + <template #actionbtns_default="{ row }">
  12 + <!-- 操作:已读 -->
  13 + <XTextButton
  14 + preIcon="ep:view"
  15 + title="已读"
  16 + v-hasPermi="['system:notify-message:query']"
  17 + v-if="!row.readStatus"
  18 + @click="handleUpdate([row.id])"
  19 + />
  20 + </template>
  21 + </XTable>
  22 + </ContentWrap>
  23 +</template>
  24 +<script setup lang="ts" name="MyNotifyMessage">
  25 +// 业务相关的 import
  26 +import { allSchemas } from './my.data'
  27 +import * as NotifyMessageApi from '@/api/system/notify/message'
  28 +
  29 +const message = useMessage() // 消息
  30 +
  31 +// 列表相关的变量
  32 +const [registerTable, { reload, getCheckboxRecords }] = useXTable({
  33 + allSchemas: allSchemas,
  34 + getListApi: NotifyMessageApi.getMyNotifyMessagePage
  35 +})
  36 +
  37 +const handleUpdateList = async () => {
  38 + const list = getCheckboxRecords()
  39 + if (list.length === 0) {
  40 + return
  41 + }
  42 + await handleUpdate(list.map((v) => v.id))
  43 +}
  44 +
  45 +// 标记指定 id 已读
  46 +const handleUpdate = async (ids) => {
  47 + await NotifyMessageApi.updateNotifyMessageRead(ids)
  48 + message.success('标记已读成功!')
  49 + reload()
  50 +}
  51 +
  52 +// 标记全部已读
  53 +const handleUpdateAll = async () => {
  54 + await NotifyMessageApi.updateAllNotifyMessageRead()
  55 + message.success('全部已读成功!')
  56 + reload()
  57 +}
  58 +</script>
... ...
yudao-ui-admin-vue3/src/views/system/notify/my/my.data.ts 0 → 100644
  1 +import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
  2 +
  3 +// CrudSchema
  4 +const crudSchemas = reactive<VxeCrudSchema>({
  5 + primaryKey: 'id',
  6 + primaryTitle: ' ',
  7 + primaryType: 'checkbox',
  8 + action: true,
  9 + actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可
  10 + columns: [
  11 + {
  12 + title: '发送人名称',
  13 + field: 'templateNickname',
  14 + table: {
  15 + width: 120
  16 + }
  17 + },
  18 + {
  19 + title: '发送时间',
  20 + field: 'createTime',
  21 + isForm: false,
  22 + formatter: 'formatDate',
  23 + search: {
  24 + show: true,
  25 + itemRender: {
  26 + name: 'XDataTimePicker'
  27 + }
  28 + },
  29 + table: {
  30 + width: 180
  31 + }
  32 + },
  33 + {
  34 + title: '类型',
  35 + field: 'templateType',
  36 + dictType: DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE,
  37 + dictClass: 'number',
  38 + table: {
  39 + width: 80
  40 + }
  41 + },
  42 + {
  43 + title: '内容',
  44 + field: 'templateContent'
  45 + },
  46 + {
  47 + title: '是否已读',
  48 + field: 'readStatus',
  49 + dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
  50 + dictClass: 'boolean',
  51 + table: {
  52 + width: 80
  53 + },
  54 + isSearch: true
  55 + }
  56 + ]
  57 +})
  58 +export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
... ...