原标题:使用Fullcalendar管理时间计划调度安排

Fullcalendar可以很好的管理日程安排事件,可以管理时间和任务调度,比如日常值班岗位安排、举办活动会议议程安排、项目行动安排、车间劳动岗位排班等等。今天我们来了解一下使用Fullcalendar(v4),完成一个基于时间的行动任务调度,先看演示DEMO。

准备

我们这个例子基于Vue2和Fullcalendar4,因此你先可以了解本站文章:在Vue框架下使用Fullcalendar,或者到官网:https://fullcalendar.io/了解有关Fullcalendar的更多详情。

我们在本例中用到了事件调度插件:timeline,因此先安装好相关插件:

npm install--save @fullcalendar/core

npm install--save @fullcalendar/resource-timeline

npm install--save @fullcalendar/timeline

使用

我们先新建timeline.vue组件文件,添加组件代码:

showNonCurrentDates= "false"

:schedulerLicenseKey= "licenseKey"

:slotLabelFormat= "slotLabelFormat"

:eventTimeFormat= "evnetTime"

:header= "header"

:aspectRatio= "aspectRatio"

:plugins= "calendarPlugins"

resourceAreaWidth= "20%"

resourceLabelText= "项目"

:resources= "resources"

:events= "calendarEvents"

/>

接着在 <> 先导入组件插件以及相关css文件。

< >

importFullCalendar from'@fullcalendar/vue'

importresourceTimelinePlugin from'@fullcalendar/resource-timeline';

import'@fullcalendar/core/main.css';

import'@fullcalendar/timeline/main.css'

import'@fullcalendar/resource-timeline/main.css'

exportdefault{

components: {

FullCalendar

},

data {

return{

licenseKey: 'GPL-My-Project-Is-Open-Source',

calendarPlugins: [

resourceTimelinePlugin

],

aspectRatio: 2.4,

header: {

left: 'prev',

center: 'title',

right: 'next'

},

evnetTime: {

hour: 'numeric',

minute: '2-digit',

hour12: false

},

slotLabelFormat: {

hour: 'numeric',

minute: '2-digit',

hour12: false

},

resources: [

{

id: 1,

eventColor: 'green',

title: '侦查组'

},

{

id: 2,

eventColor: '#369',

title: '抓捕组'

},

{

id: 3,

title: '警戒组'

},

{

id: 4,

eventColor: '#f60',

title: '机动组'

},

{

id: 5,

eventColor: '#e90',

title: '取证组'

},

{

id: 6,

eventColor: '#360',

title: '审查组'

}

],

calendarEvents: {

url: 'timeline.php'

}

}

},

mounted {

},

created {

},

methods: {

//

}

}

>

我们看DEMO,本例是展示一个警方的破案行动计划,在计划调度表中左侧是行动分组,右侧是每个分组对应的职责和在时间范围内要做的事情。

在 data 部分,通过 :resources 可以设置调度表左侧部分,内容是一个数组,我们也可以异步请求后台一个数据源,返回json格式数据即可。

events :事件数据。我们一般异步请求后台url,如 url: 'timeline.php' ,将返回json格式的数据源,Fullcalendar会直接将这些数据渲染到界面上。

后端timeline.php

我们后端使用PHP提供数据接口,本例只是演示,没有用到数据库。实际项目中,应该使用PHP或Python等后端语言操作数据库,为Fullcalendar提示数据源。

$data = [

'0'=> [

'resourceId'=> 1,

'title'=> '前期侦查',

'start'=> date( 'Y-m-d 00:30:00'),

'end'=> date( 'Y-m-d 09:00:00')

],

'1'=> [

'resourceId'=> 2,

'title'=> '雷霆抓捕行动',

'start'=> date( 'Y-m-d 06:00:00'),

'end'=> date( 'Y-m-d 10:00:00')

],

'2'=> [

'resourceId'=> 3,

'title'=> '负责区域警戒安防',

'start'=> date( 'Y-m-d 05:00:00'),

'end'=> date( 'Y-m-d 18:00:00')

],

'3'=> [

'resourceId'=> 4,

'title'=> '机动特别组,随时待命',

'start'=> date( 'Y-m-d 05:00:00'),

'end'=> date( 'Y-m-d 12:00:00')

],

'4'=> [

'resourceId'=> 5,

'title'=> '抓捕行动结束后现场取证',

'start'=> date( 'Y-m-d 10:00:00'),

'end'=> date( 'Y-m-d 18:00:00')

],

'5'=> [

'resourceId'=> 6,

'title'=> '提审嫌疑人',

'start'=> date( 'Y-m-d 15:00:00'),

'end'=> date( 'Y-m-d 23:00:00')

]

];

echojson_encode($data);

注意,在后端返回的数据列表中, resourceId 要和Fullcalendar的 resources 中的 id 值对应。

保存,运行项目你将可以看到Demo中的效果。其实我们在几个项目中已经应用到类似这样的时间任务调度,比如机场运营岗位排班,前端不用Fullcalendar也可以达到类似效果。返回搜狐,查看更多

责任编辑:

vue日程安排_使用Fullcalendar管理时间计划调度安排相关推荐

  1. 使用日程安排自动化测试来更好地管理时间与资源

    简介:在一个自动化测试系统中按日程安排一项测试是实现在特定的日期和时间内执行任务的重要组成部分.它不但能够帮助您更有效地使用测试资源,而且能够帮助您监视测试结果.本文介绍了关于这方面一些应当考虑的事项 ...

  2. vue日程/日历管理插件FullCalendar (模仿wps日程)

    vue项目中使用fullcalendar插件 (官网地址 https://fullcalendar.io/) 1.npm下载 "@fullcalendar/core": " ...

  3. 产品研发管理体系和敏捷体系_敏捷产品管理和产品组合平台介绍

    产品研发管理体系和敏捷体系 当您问产品所有者敏捷工具是否适合他们时,您会得到混合的,有时是负面的答复. 敏捷工具确实可以为敏捷团队提供帮助,但是它们不能提供产品所有者完成其工作所需的所有功能. 同样, ...

  4. 『朝夕日历Pro』人工智能高效管理时间

    日程管理是一种能极大程度上帮助我们提高生活效率的方法,对于拖延症和低效率症候的人群来说,今天带来的这款小程序不可错过.『朝夕日历』一智能的时间助理,通过使用人工智能与推荐算法帮助用户高效管理时间,发现 ...

  5. 管理时间:谁得到猴子?

    Willam Oncken Jr. 和 Donald L. Wass文:Stephen R. Covey评 下属的负担似乎总是最终落在经理的背上.以下是如何摆脱负担的方法. 为什么经理们总是没有时间, ...

  6. 计算机多媒体教室维修登记册,专用教室管理制度_专用教室管理制度范文

    专用教室管理制度_专用教室管理制度范文 专用教室管理制度篇3 多媒体教室管理制度 1.多媒体教室的装备,是学校现代化教学设施之一,有专职人员负责管理,充分使用,倍加爱护. 2.室内的所有设备,应按统一 ...

  7. 总是感觉时间不够用?程序员如何管理时间?

    总是有粉丝会问我,袁总,你现在每天这么忙,公司的事情这么多,公众号还要更新文章,帮助解答粉丝的问题,还要照顾家庭,周末还可以带孩子去逛一逛. 你哪有这么多时间啊,你是怎么做到的啊? 你到底是如何管理时 ...

  8. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  9. php前台用户权限开通,vue实现网站前台的权限管理

    本文主要介绍了基于vue实现网站前台的权限管理(前后端分离实践),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧,希望能帮助到大家. Javascript做为当下的热门语言 ...

最新文章

  1. js实现UTC时间转为北京时间,时间戳转为时间
  2. 结构事物 java uml,UML考试试题及答案7讲解
  3. 微软发布WP SDK8.0 新增语音、应用内支付等原生API
  4. 数据结构源码笔记(C语言):链接队列
  5. 自己动手写一个印钞机 第二章
  6. 【算法竞赛学习】资金流入流出预测-挑战Baseline_建模预测
  7. 用Visual Studio 2019连接 WSL来编译调试C/C++项目
  8. 【XSY1295】calc n个点n条边无向连通图计数 prufer序列
  9. 2D Perlin噪点
  10. 好用到让设计师尖叫的UI设计网格素材
  11. MVC应用程序播放FLV视频,部分视图可多地方重复引用
  12. 编程时千万要记下一切!
  13. 多线程之线程可见性synchronized
  14. ios 镜像_2020年微软MSDN原版系统镜像下载 包含Windows10/7/8/8.1/XP系统
  15. GraPhlAn:最美进化树或层级分类树学习笔记
  16. java 偏向锁的撤销_源码解析-偏向锁撤销流程解读
  17. 腾讯 TAPD DevOps 开放生态最佳实践
  18. 使用Tensorflow2和Pytorch实现线性回归
  19. 微商城如何借势618微信营销?5分钟完成活动策划案
  20. 【Java】实现统计字符串中大写、小写、数字字符出现次数

热门文章

  1. 计算机管理事件id10016,事件 ID 10016 已记录Windows - Windows Client | Microsoft Docs
  2. flarum头像插件的使用
  3. mysql数据结构面试题_MySQL面试题汇总
  4. 通过J-Flash回读取芯片的固件程序
  5. 设置电脑右下角显示秒钟
  6. 像大师一样画图-PCB常用设置与操作-PCB系列教程3-2
  7. 为什么matlab激活完后还要激活(Matlab2012b license失效解决办法)
  8. 4.导出UnityPackage(AssetDatabase.ExportPackage(assetPathName ,fileName ,ExportPackageOptions.Recurse )
  9. three.js初体验:模拟一个小树杈的生长
  10. “熊猫烧香”病毒急速变种肆虐 大量网民中招