一个功能强大的纯前端甘特图(横道图)管理工具,支持项目任务的可视化管理、拖拽编辑、Excel导入导出等完整功能。
Ctrl + A - 全选所有任务Ctrl + C - 复制选中的任务Ctrl + V - 粘贴复制的任务index.html 文件,在浏览器中打开即可使用# 使用Python启动本地服务器
python -m http.server 8000
# 或使用Node.js
npx http-server
# 然后访问 http://localhost:8000
项目已配置为CodeNB开发环境,直接启动容器即可:
# 在CodeNB平台中打开项目
# 系统会自动构建Docker环境并启动服务
方法1:拖拽任务条
方法2:拖拽边缘调整
方法3:精确移动
导出Excel:
导入Excel:
年月日模式:
工程图模式:
📂 横道图管理系统 ├── 📄 index.html # 主页面 ├── 📄 style.css # 样式文件 ├── 📄 script.js # JavaScript核心逻辑 ├── 📄 demo.html # 演示说明页面 ├── 📄 readme.md # 使用说明 └── 📄 CLAUDE.md # 开发文档
class GanttChart {
- tasks: 任务数组
- groups: 分组数组
- selectedTasks: 选中的任务索引
- scaleStep: 标尺步长
- horizontalScale: 横向缩放比例
- verticalScale: 纵向缩放比例
- viewMode: 视图模式(date/project)
- zoomLevel: 整体缩放级别
}
Task = {
group: string, // 分组名
name: string, // 工作名称
duration: number, // 持续时间(天)
startDate: string, // 开始日期(YYYY-MM-DD)
endDate: string, // 结束日期(YYYY-MM-DD)
color: string // 任务条颜色(#RRGGBB)
}
| 分组名 | 工作名称 | 持续时间 | 开始时间 | 结束时间 | |--------|----------|----------|------------|------------| | 规划 | 项目启动 | 5 | 2025-01-01 | 2025-01-05 | | 规划 | 需求收集 | 10 | 2025-01-06 | 2025-01-15 |
在 script.js 中修改构造函数:
constructor() {
this.tasks = [];
this.groups = ['规划', '设计', '开发', '测试'];
this.selectedTasks = new Set();
this.scaleStep = 5; // 修改默认标尺步长
this.horizontalScale = 1;
this.verticalScale = 1;
this.viewMode = 'date'; // 修改默认视图模式
this.zoomLevel = 1;
}
在 script.js 中修改颜色配置:
// 默认颜色
const defaultColors = [
'#4285f4', '#34a853', '#fbbc05', '#ea4335',
'#9c27b0', '#00bcd4', '#ff9800', '#795548'
];
在 style.css 中调整:
.task-bar {
height: 24px; /* 修改任务条高度 */
/* ... */
}
A:确保Excel文件包含"分组名、工作名称、持续时间、开始时间、结束时间"这些列,日期格式为YYYY-MM-DD。
A:点击任务行选中后,确保鼠标在任务条上(蓝色/彩色条)再拖拽。移动时鼠标指针会变为手型。
A:创建第一个任务后,选中它点击"复制"按钮,然后重复点击"粘贴"(或Ctrl+V),最后逐个编辑调整。
A:项目信息根据所有任务自动计算。确保所有任务都有正确的开始/结束时间。
A:定期点击"导出"按钮将数据保存为Excel文件,需要时可以"导入"恢复。
点击下方链接立即开始管理您的项目:
或查看演示说明: 📖 查看功能演示
详细技术文档请查看:CLAUDE.md
欢迎提交Issue和Pull Request来改进这个项目!
本项目采用 MIT 许可证。详见项目说明。
最后更新:2025-10-29 | 版本:v1.0.0 | 作者:浮浮酱 (幽浮喵)