帮我用gantt-elastic生成一个甘特图,用于作项目跟踪
时间: 2024-02-24 13:57:57 浏览: 148
项目进度图-甘特图(Gantt图)
好的,下面为您提供一个使用 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 生成甘特图的示例,您可以根据需要进行修改和扩展。
阅读全文