日程安排也是OA里的一项重要功能,所以基于jeecgboot开发这个日程安排。 日程安排主要涉及以下几个方面: 数据库方面,主要是分日历与日程 日历可以分个人日历与工作日历,一般情况下,个人日历只给自己查看,当然也可以考虑把个人
日程安排也是OA里的一项重要功能,所以基于jeecgboot开发这个日程安排。
日程安排主要涉及以下几个方面:
数据库方面,主要是分日历与日程
日历可以分个人日历与工作日历,一般情况下,个人日历只给自己查看,当然也可以考虑把个人日历分享给其它人员查看,工作日历可以让多人分享查看或管理,同时为了区分,可以通过颜色进行区分,不输入所有者与参与者,默认自己就是所有者与参与者。
通过上面建的日历来建日程,相应的拥所有者或参与者默认就从上面日历继承过来,颜色也一样。
提醒级别分为1-重要/紧急,2-重要/不紧急,3-不重要/紧急,4-不重要/不紧急。
提醒时间分为不提醒,提前5分钟,10分钟,15分钟,30分钟,1小时,2小时7种。
提醒方式分为消息提醒,邮件提醒,短信提醒,微信提醒等4种。
数据库结构如下:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for oa_calendar
-- ----------------------------
DROP TABLE IF EXISTS `oa_calendar`;
CREATE TABLE `oa_calendar` (
`id` varchar(36) NOT NULL COMMENT 'id',
`name` varchar(100) NOT NULL COMMENT '名称',
`remark` text COMMENT '备注',
`color` varchar(15) NOT NULL COMMENT '颜色',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`type` int(10) NOT NULL COMMENT '日历类型',
`owner` text COMMENT '所属人',
`taker` text COMMENT '参与人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Table structure for oa_schedule
-- ----------------------------
DROP TABLE IF EXISTS `oa_schedule`;
CREATE TABLE `oa_schedule` (
`id` varchar(36) NOT NULL COMMENT 'id',
`title` varchar(100) DEFAULT NULL COMMENT '标题',
`content` text COMMENT '内容',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
`owner` text COMMENT '所属人',
`taker` text COMMENT '参与人',
`remind` int(10) DEFAULT NULL COMMENT '提前提醒时间',
`address` varchar(100) DEFAULT NULL COMMENT '地点',
`color` varchar(15) DEFAULT NULL COMMENT '颜色',
`source` varchar(50) DEFAULT NULL COMMENT '来源',
`level` int(10) DEFAULT NULL COMMENT '优先级',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`url` varchar(200) DEFAULT NULL COMMENT '链接',
`cal_id` varchar(36) DEFAULT NULL COMMENT '日历类型',
`remind_type` varchar(30) DEFAULT NULL COMMENT '提醒方式',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
前端组件采用 FullCalendar
FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的api快速完成一个日历日程的开发。
在package.JSON增加下面组件
"@fullcalendar/core": "^5.11.3",
"@fullcalendar/daygrid": "^5.11.3",
"@fullcalendar/interaction": "^5.11.3",
"@fullcalendar/list": "^5.11.3",
"@fullcalendar/moment": "^5.11.3",
"@fullcalendar/resource-timeline": "^5.11.3",
"@fullcalendar/scrollgrid": "^5.11.3",
"@fullcalendar/timegrid": "^5.11.3",
"@fullcalendar/Vue": "^5.11.2",
考虑到中国农历问题,增加下面组件
"solarday2lunarday": "^1.12.1",
主要使用如下:
新建日程
0