利用gantt-elastic 实现简易项目甘特图

文章目录


前言

年初回来公司计划做一个目标管理系统(类似禅道)用于后期项目、人员各自工作计划管理,其中有个需求项目阶段目标甘特图方式展示,起初对甘特图是啥都不太清楚,后了解到甘特图与燃尽图、鱼骨图为项目"三大图",其中甘特图一般可以直观的看到每个任务完成的进度时间、完成情况。抱着好奇找到如何实现甘特图呈现的方法,其中包括Highcharts、Gantt-elastic等,下面和大家分享下我这边如何通过Gantt-elastic实现的,新手小白,望写的不对的地方大家及时指出。

一、Gannt-elastic是什么?

Gannt-elastic是一个基于Vue.js开发的前端框架,对于这个解释不是很够清晰,反正就是说基于Vue使用这个可以展示甘特图来着 上一个做完成的大概样式👇

二、使用步骤

1.安装依赖

代码如下(示例):

npm install --save gantt-elastic

2.代码中使用

 1、options是配置        2、tasks是图左侧信息的设置 

options配置如下👇

tasks配置如下👇

tasks里面数据比较灵活,具体根据需求需要从后台拿数据渲染就好,其中type这一字段必定要写,不然右边进度条不显示,options里面taskList中value的值 对应到tasks里面的 就能渲染对应的数据。

总结

本篇文章就简单终结一下自己在项目中触及的一个小功能,也是第一次发布文章,写得不好的地方多多见谅,有不对的地方望大家能指出,或者有改进建议的地方也可以评论出来,共同进步,加油!!!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
好的,下面为您提供一个使用 GanttElastic 生成甘特图的示例,用于项目跟踪。 首先,需要在项目中安装 GanttElastic: ``` npm install --save gantt-elastic ``` 然后,可以使用以下代码生成甘特图: ``` <template> <div id="gantt"></div> </template> <script> import GanttElastic from 'gantt-elastic'; export default { mounted() { const tasks = [ { id: 'task1', name: '任务1', start: '2022-01-01', end: '2022-01-07', progress: 40, dependencies: '', custom_class: '' }, { id: 'task2', name: '任务2', start: '2022-01-08', end: '2022-01-15', progress: 20, dependencies: 'task1', custom_class: '' }, { id: 'task3', name: '任务3', start: '2022-01-16', end: '2022-01-23', progress: 60, dependencies: 'task2', custom_class: '' }, { id: 'task4', name: '任务4', start: '2022-01-24', end: '2022-01-31', progress: 80, dependencies: 'task3', custom_class: '' }, { id: 'task5', name: '任务5', start: '2022-02-01', end: '2022-02-08', progress: 0, dependencies: 'task4', custom_class: '' } ]; const options = { header_height: 50, column_width: 30, step: 24, view_modes: [ { mode: 'Day', scale_width: 30, date_format: 'YYYY-MM-DD' }, { mode: 'Week', scale_width: 60, date_format: 'YYYY-MM-DD' }, { mode: 'Month', scale_width: 100, date_format: 'YYYY-MM' } ], bar_height: 20, bar_corner_radius: 3, arrow_curve: 5, padding: 18, view_mode: 'Month', date_format: 'YYYY-MM-DD', custom_popup_html: null, language: 'zh-CN' }; const gantt = new GanttElastic('#gantt', tasks, options); gantt.draw(); } } </script> <style> #gantt { height: 500px; } </style> ``` 解析: 1. 在 mounted 钩子中,初始化 GanttElastic 对象,并传入任务列表和配置项。 2. 任务列表包含了每个任务的 id、名称、开始时间、结束时间、进度、依赖关系和自定义样式等信息。 3. 配置项包括了甘特图的样式、列宽、时间间隔、视图模式、日期格式等信息。 4. 使用 div 元素作为甘特图的容器,指定 id 为 gantt,并设置样式。 5. 调用 GanttElastic 对象的 draw 方法,绘制甘特图。 6. 在样式中,设置甘特图容器的高度。 这是一个简单的使用 GanttElastic 生成甘特图的示例,您可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值