全功能施工项目管理甘特图 Demo:任务依赖箭头、当前日期标线、周末高亮、分组项目可视化
完整可运行 HTML 使用方式复制全部代码新建.html文件粘贴保存直接双击文件用浏览器打开无需本地服务、无跨域、正常预览完整甘特图支持所有主流浏览器Chrome/Edge/360/Firefox!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title项目管理甘特图 - Highcharts Gantt 可预览修复版/title !-- 稳定CDN严格加载顺序基础内核→甘特模块 -- script srchttps://cdn.jsdelivr.net/npm/highcharts11.4.3/highcharts.min.js/script script srchttps://cdn.jsdelivr.net/npm/highcharts11.4.3/modules/gantt.min.js/script style * {margin: 0; padding: 0; box-sizing: border-box;} body {background: #fff; padding: 10px;} #container { width: 100%; height: 90vh; border: 1px solid #eee; } /style /head body div idcontainer/div script const day 24 * 36e5, today Math.floor(Date.now() / day) * day; const options { chart: { plotBorderColor: rgba(128,128,128,0.1), plotBorderWidth: 1, plotBorderRadius: 5 }, plotOptions: { series: { borderRadius: 50%, connectors: { lineWidth: 1, lineColor: #666, radius: 10, endMarker: { verticalAlign: bottom, align: center, yOffset: 5 }, startMarker: { symbol: arrow-half, lineWidth: 1, lineColor: #666, xOffset: -5 } }, groupPadding: 0, dataLabels: [{ enabled: true, align: left, format: {point.name}, padding: 10, style: { fontWeight: normal, textOutline: none } }, { enabled: true, align: right, format: {#if point.completed}{(multiply point.completed.amount 100):.0f}% {/if}, padding: 10, style: { fontWeight: normal, textOutline: none, opacity: 0.6 } }] } }, series: [{ name: 办公场地项目, data: [{ name: 新办公室筹备, id: new_offices, owner: Peter, pointWidth: 3, color: #666, dataLabels: { align: right, style: { color: #666 }, x: 72 } }, { name: 办公楼装修施工, id: prepare_building, parent: new_offices, start: today - (8 * day), end: today (6 * day), completed: { amount: 0.5 }, owner: Linda }, { name: 建筑竣工验收, id: inspect_building, dependency: prepare_building, parent: new_offices, start: today 6 * day, end: today 8 * day, owner: Ivy }, { name: 验收通过里程碑, id: passed_inspection, dependency: inspect_building, parent: new_offices, start: today 9.5 * day, milestone: true, owner: Peter }, { name: 搬迁工作, id: relocate, owner: Josh, pointWidth: 3, color: #666, dataLabels: { align: right, style: { color: #666 }, x: 57 } }, { name: 员工搬迁, id: relocate_staff, parent: relocate, start: today 10 * day, end: today 11 * day, owner: Mark }, { name: 实验室设备迁移, dependency: relocate_staff, parent: relocate, start: today 11 * day, end: today 13 * day, owner: Anne }, { name: 食堂搬迁, dependency: relocate_staff, parent: relocate, start: today 11 * day, end: today 14 * day }] }, { name: 产品项目, data: [{ name: 新品上线计划, id: new_product, owner: Peter, pointWidth: 3, color: #666, dataLabels: { align: right, style: { color: #666 }, format: 上线, x: 50 } }, { name: 产品研发, id: development, parent: new_product, start: today - day, end: today (11 * day), completed: { amount: 0.6 }, owner: Susan }, { name: Beta测试里程碑, id: beta, dependency: development, parent: new_product, start: today 12.5 * day, milestone: true, owner: Peter }, { name: 最终版本完善开发, id: finalize, dependency: beta, parent: new_product, start: today 13 * day, end: today 17 * day }, { name: 正式上线里程碑, dependency: finalize, parent: new_product, start: today 17.5 * day, milestone: true, owner: Peter }] }], tooltip: { pointFormat: span stylefont-weight: bold{point.name}/spanbr {point.start:%m月%d日} {#unless point.milestone} → {point.end:%m月%d日}{/unless} br {#if point.completed}完成进度: {multiply point.completed.amount 100}%br{/if} 负责人: {#if point.owner}{point.owner}{else}未分配{/if} }, title: { text: 项目管理甘特图, align: left }, xAxis: [{ currentDateIndicator: { color: #ef4444, dashStyle: ShortDot, width: 2, label: { format: } }, dateTimeLabelFormats: { day: %dbrspan styleopacity: 0.5; font-size: 0.7em%a/span }, grid: { borderWidth: 0, cellHeight: 46 }, gridLineWidth: 1, min: today - 3 * day, max: today 19 * day, custom: { weekendPlotBands: { color: #f2f2f2 } } }, { dateTimeLabelFormats: { month: %m月%Y年 }, labels: { align: left, x: 5, style: { fontSize: 0.7em, fontWeight: bold } }, grid: { borderWidth: 0, cellHeight: 24 }, tickInterval: 30 * 24 * 36e5 }], yAxis: { grid: { borderWidth: 0, enabled: true, columns: [{ title: { text: 任务名称, textAlign: left, x: 18 }, labels: { format: {value}, indentation: 0 } }, { title: { text: 工期, textAlign: left, x: 8 }, labels: { format: {#if point.x2}{(divide (subtract point.x2 point.x) 86400000)} 天{else} - {/if}, style: { opacity: 0.7 } } }] }, gridLineWidth: 0, staticScale: 30 } }; // 周末底色渲染插件 Highcharts.addEvent(Highcharts.Axis, foundExtremes, e { const weekendColor e.target.options.custom?.weekendPlotBands?.color; if (!weekendColor) return; const axis e.target, chart axis.chart, day 24 * 36e5; const isWeekend t /[06]/.test(chart.time.dateFormat(%w, t)); const plotBands []; let inWeekend false; for (let x Math.floor(axis.min / day) * day; x Math.ceil(axis.max / day) * day; x day) { const last plotBands.at(-1); if (isWeekend(x) !inWeekend) { plotBands.push({ from: x, color: weekendColor }); inWeekend true; } if (!isWeekend(x) inWeekend last) { last.to x; inWeekend false; } } axis.options.plotBands plotBands; }); // 延迟初始化保证模块全部加载完成 window.addEventListener(load, function(){ Highcharts.ganttChart(container, options); }) /script /body /html图表类型 示例解析1. 图表类型Highcharts Gantt 甘特图项目排期图支持树形分层任务、任务依赖箭头、里程碑标记、进度百分比、多列侧边栏、双层时间轴。2. 核心功能模块拆解分层树形任务分为两大项目分组办公场地、新品研发每组下存在父任务、子任务自动缩进分层展示区分项目大类与细分工作项。任务前置依赖联动通过dependency绑定任务 ID自动生成带箭头连接线直观展示任务先后顺序前序任务完成后方可执行后续工作。里程碑节点milestone: true生成菱形标记仅占单个时间点用于验收、上线、测试等关键节点。任务进度百分比completed.amount配置完成比例任务条内部填充进度右侧标签直接展示百分比数值。双层 X 时间轴上层按日展示星期与日期下层按月展示年月兼顾精细查看与全局周期预览。双列表 Y 轴侧边栏左侧第一列任务名称第二列自动计算任务工期天数无需额外表格搭配。辅助视觉增强红色虚线当前系统日期标线直观区分过去 / 未来任务周末自动灰色底色区分快速识别休息日悬浮 Tooltip展示起止日期、完成进度、任务负责人、前置依赖插件扩展能力内置 Axis 扩展事件自动计算并渲染周末底色无需手动批量配置时间区间色块。在这套全功能项目甘特图案例中Highcharts Gantt 提供开箱即用的专业排期可视化能力解决传统表格、简易图表无法直观展示任务时序、依赖关系、分层结构的痛点。完备的任务结构体系原生支持父子任务分层、ID 绑定前置依赖、里程碑标记、进度百分比填充完整覆盖项目管理核心要素多维度信息一体化展示双层 X 时间轴 双列表 Y 侧边栏任务名称、工期、起止时间、负责人、完成进度统一在图表内呈现无需搭配辅助表格高度自定义视觉与交互可自由配置任务条圆角、连接线箭头样式、周末高亮色块、当前日期标线悬浮提示可自定义多字段格式化插件化扩展机制基于 Highcharts 原生事件系统扩展周末底色自动渲染逻辑扩展性强可根据业务新增节假日、预警色块、延期标记等功能无障碍与适配优化内置完整无障碍朗读描述支持键盘导航布局自适应缩放兼容 PC 端管理后台与数据大屏场景轻量化集成单库引入即可运行无需复杂依赖配置代码结构清晰便于前后端对接动态渲染项目数据。

相关新闻

PowerToys中文版:让Windows效率飞升的终极工具箱

PowerToys中文版:让Windows效率飞升的终极工具箱

PowerToys中文版:让Windows效率飞升的终极工具箱 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 还在为Windows系统的操作效率而苦恼吗&#…

2026/7/10 21:51:18阅读更多 →
dnsmasq搭建简易DNS服务器--dnsmasq_windows版

dnsmasq搭建简易DNS服务器--dnsmasq_windows版

dnsmasq 不支持windows! dnsmasq 不支持windows! dnsmasq 不支持windows! 在个人电脑上组建 DNS 服务器通常是为了本地网络开发测试、屏蔽广告/恶意网站、加速域名解析或学习 DNS 原理 一、常见方案选择 修改 Hosts 文件(简易…

2026/7/10 22:48:12阅读更多 →
Gogs安全实战:从漏洞检测到全面加固的完整指南

Gogs安全实战:从漏洞检测到全面加固的完整指南

1. 项目概述:一次针对Gogs的深度安全体检最近在梳理内部代码仓库安全时,我重新审视了团队使用的Gogs服务。Gogs作为一款轻量级的Git自托管服务,因其部署简单、资源占用少,深受中小团队和开发者的喜爱。然而,正是这种“…

2026/7/11 1:56:20阅读更多 →
把你的跑步数据变成一张漂亮的个人主页

把你的跑步数据变成一张漂亮的个人主页

跑步爱好者最骄傲的是什么?不止是 PB(个人最好成绩),更是年复一年的坚持。基石项目精选今天推荐一个 Python 开发者绝不能错过的项目——running_page。它能把你在 Strava、Garmin、Nike Run Club、Keep 等平台上的跑步数据&#…

2026/7/11 13:44:52阅读更多 →
python --任意维度列表递归展平

python --任意维度列表递归展平

def flatten(arr):任意列表维度递归展平res []for i in arr:if isinstance(i, list):res.extend(flatten(i))else:res.append(i)return res

2026/7/11 13:44:52阅读更多 →
3步完成黑苹果配置:OpCore Simplify自动化OpenCore EFI终极指南

3步完成黑苹果配置:OpCore Simplify自动化OpenCore EFI终极指南

3步完成黑苹果配置:OpCore Simplify自动化OpenCore EFI终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款专为…

2026/7/11 13:44:52阅读更多 →
MateCloud服务熔断:从Hystrix到Sentinel的实战演进指南

MateCloud服务熔断:从Hystrix到Sentinel的实战演进指南

MateCloud服务熔断:从Hystrix到Sentinel的实战演进指南 【免费下载链接】matecloud 🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 4.0.7、 SpringCloud 2025、Spring Cloud Alibaba 2025、Spring Security Oauth2、…

2026/7/11 13:44:52阅读更多 →
AI 生成色彩系统:从品牌主色到完整语义色板的自动化

AI 生成色彩系统:从品牌主色到完整语义色板的自动化

AI 生成色彩系统:从品牌主色到完整语义色板的自动化 一、一万种 CTA 蓝和一套活不过迭代的色彩规范 产品给了你一个主色 #3B82F6(Tailwind 的 blue-500),然后说"后面你看着办"。接下来你要回答 15 个问题:ho…

2026/7/11 13:44:52阅读更多 →
PingFangSC苹果平方字体:双格式解决方案为Windows开发者带来专业级中文排版体验

PingFangSC苹果平方字体:双格式解决方案为Windows开发者带来专业级中文排版体验

PingFangSC苹果平方字体:双格式解决方案为Windows开发者带来专业级中文排版体验 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件,包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 还在为Window…

2026/7/11 13:39:51阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/10 12:29:21阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/10 4:59:05阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/10 17:29:22阅读更多 →