增加通知公告功能
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
-- 通知公告菜单(租户端):挂在“办公自动化”模块目录下。
|
||||
--
|
||||
-- 说明:
|
||||
-- 1. 本脚本只创建/修正 yz_system_menu 菜单记录,不涉及通知公告业务数据表。
|
||||
-- 2. 路由由前端根据登录接口返回的菜单数据动态注册;
|
||||
-- 不需要在 backend/src/router/index.js 中增加静态业务路由。
|
||||
-- 3. 执行完成后,请在角色菜单权限关联表中为目标角色授予“通知公告”菜单权限,
|
||||
-- 然后退出重登或清理菜单缓存。
|
||||
--
|
||||
-- views: [2] = 租户端
|
||||
-- type: 1 = 目录,2 = 页面
|
||||
-- 脚本可重复执行:通过 path 判重,已有记录会被修正为当前配置。
|
||||
|
||||
-- 确保“办公自动化”父级目录存在。
|
||||
INSERT INTO `yz_system_menu`
|
||||
(`pid`, `title`, `path`, `component_path`, `icon`, `sort`, `status`, `is_visible`, `views`, `type`, `remark`)
|
||||
SELECT
|
||||
0, '办公自动化', '/apps/oa', '', 'Document', 31, 1, 1, '[2]', 1, '办公自动化模块'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM (SELECT * FROM `yz_system_menu`) AS t
|
||||
WHERE t.`path` = '/apps/oa'
|
||||
);
|
||||
|
||||
SET @oa_pid := (
|
||||
SELECT `id`
|
||||
FROM `yz_system_menu`
|
||||
WHERE `path` = '/apps/oa'
|
||||
ORDER BY `id`
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
-- 新增“通知公告”页面菜单。
|
||||
INSERT INTO `yz_system_menu`
|
||||
(`pid`, `title`, `path`, `component_path`, `icon`, `sort`, `status`, `is_visible`, `views`, `type`, `remark`)
|
||||
SELECT
|
||||
@oa_pid,
|
||||
'通知公告',
|
||||
'/apps/oa/notice',
|
||||
'/apps/oa/notice/index.vue',
|
||||
'Bell',
|
||||
7,
|
||||
1,
|
||||
1,
|
||||
'[2]',
|
||||
2,
|
||||
'通知公告发布与管理'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM (SELECT * FROM `yz_system_menu`) AS t
|
||||
WHERE t.`path` = '/apps/oa/notice'
|
||||
);
|
||||
|
||||
-- 修正历史或手工新增菜单的动态组件路径及基础属性。
|
||||
UPDATE `yz_system_menu`
|
||||
SET
|
||||
`pid` = @oa_pid,
|
||||
`title` = '通知公告',
|
||||
`component_path` = '/apps/oa/notice/index.vue',
|
||||
`icon` = 'Bell',
|
||||
`sort` = 7,
|
||||
`status` = 1,
|
||||
`is_visible` = 1,
|
||||
`views` = '[2]',
|
||||
`type` = 2,
|
||||
`remark` = '通知公告发布与管理'
|
||||
WHERE `path` = '/apps/oa/notice';
|
||||
@@ -0,0 +1,25 @@
|
||||
-- OA 通知公告表
|
||||
-- 在租户业务库执行以下语句创建表结构。
|
||||
-- 数据按租户 tid 隔离;发布后对租户内所有后台用户可见。
|
||||
|
||||
CREATE TABLE `yz_backend_oa_notice` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`tid` int NOT NULL DEFAULT '0' COMMENT '租户ID',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '公告标题',
|
||||
`content` text NULL COMMENT '公告内容',
|
||||
`notice_type` tinyint NOT NULL DEFAULT '0' COMMENT '类型 0-通知 1-公告 2-活动',
|
||||
`level` tinyint NOT NULL DEFAULT '0' COMMENT '紧急程度 0-普通 1-重要 2-紧急',
|
||||
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态 0-草稿 1-已发布 2-已下架',
|
||||
`is_top` tinyint NOT NULL DEFAULT '0' COMMENT '是否置顶 0-否 1-是',
|
||||
`publish_time` datetime DEFAULT NULL COMMENT '发布时间',
|
||||
`publisher_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '发布人ID',
|
||||
`publisher_name` varchar(100) NOT NULL DEFAULT '' COMMENT '发布人姓名',
|
||||
`read_count` int NOT NULL DEFAULT '0' COMMENT '阅读次数',
|
||||
`is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除 0-否 1-是',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tid_status` (`tid`,`status`),
|
||||
KEY `idx_tid_top` (`tid`,`is_top`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='OA通知公告表';
|
||||
Reference in New Issue
Block a user