当前位置: 首页 > news >正文

vue 甘特图 vxe-gantt table 连接线的用法教程

vue 甘特图 vxe-gantt table 连接线的用法教程,通过设置 links 定义连接线,from 对应源任务的行主键,tom 对应目标任务的行主键

https://gantt.vxeui.com

类型说明
0 FinishToStart 结束后才开始,表示一个任务必须在另一个任务开始之前完成
1 StartToFinish 开始到结束,表示从某个过程的开始到结束的整个过程
2 StartToStart 开始后才开始,表示一个活动结束了,另一个活动才能开始,它们之间按先后顺序进行
3 FinishToFinish 完成到完成,表示一个任务必须在另一个任务完成之后才能完成

线配置

通过设置 links 定义连接线,from 对应源任务的行主键,tom 对应目标任务的行主键

extend_gantt_chart_gantt_dependency_links

<template><div><vxe-gantt v-bind="ganttOptions"></vxe-gantt></div>
</template><script setup>
import { reactive } from 'vue'
import { VxeGanttDependencyType } from 'vxe-gantt'const ganttOptions = reactive({border: true,height: 500,rowConfig: {keyField: 'id' // 行主键},taskBarConfig: {showProgress: true, // 是否显示进度条showContent: true, // 是否在任务条显示内容move: true, // 是否允许拖拽任务移动日期barStyle: {round: true, // 圆角bgColor: '#fca60b', // 任务条的背景颜色completedBgColor: '#65c16f' // 已完成部分任务条的背景颜色}},taskViewConfig: {tableStyle: {width: 480 // 表格宽度}},links: [{ from: 10001, to: 10002, type: VxeGanttDependencyType.FinishToFinish },{ from: 10004, to: 10005, type: VxeGanttDependencyType.StartToStart },{ from: 10005, to: 10006, type: VxeGanttDependencyType.FinishToStart },{ from: 10013, to: 10012, type: VxeGanttDependencyType.StartToFinish }],columns: [{ type: 'seq', width: 70 },{ field: 'title', title: '任务名称' },{ field: 'start', title: '开始时间', width: 100 },{ field: 'end', title: '结束时间', width: 100 },{ field: 'progress', title: '进度(%)', width: 80 }],data: [{ id: 10001, title: '任务1', start: '2024-03-01', end: '2024-03-04', progress: 3 },{ id: 10002, title: '任务2', start: '2024-03-03', end: '2024-03-08', progress: 10 },{ id: 10003, title: '任务3', start: '2024-03-03', end: '2024-03-11', progress: 90 },{ id: 10004, title: '任务4', start: '2024-03-05', end: '2024-03-11', progress: 15 },{ id: 10005, title: '任务5', start: '2024-03-08', end: '2024-03-15', progress: 100 },{ id: 10006, title: '任务6', start: '2024-03-10', end: '2024-03-21', progress: 5 },{ id: 10007, title: '任务7', start: '2024-03-15', end: '2024-03-24', progress: 70 },{ id: 10008, title: '任务8', start: '2024-03-05', end: '2024-03-15', progress: 50 },{ id: 10009, title: '任务9', start: '2024-03-19', end: '2024-03-20', progress: 5 },{ id: 10010, title: '任务10', start: '2024-03-12', end: '2024-03-20', progress: 10 },{ id: 10011, title: '任务11', start: '2024-03-01', end: '2024-03-08', progress: 90 },{ id: 10012, title: '任务12', start: '2024-03-03', end: '2024-03-06', progress: 60 },{ id: 10013, title: '任务13', start: '2024-03-02', end: '2024-03-05', progress: 50 },{ id: 10014, title: '任务14', start: '2024-03-04', end: '2024-03-15', progress: 0 },{ id: 10015, title: '任务15', start: '2024-03-01', end: '2024-03-05', progress: 30 }]
})
</script>

线类型

通过设置 task-link-config.lineType 设置连接线的样式类型,可以设置实线、虚线、流式虚线

extend_gantt_chart_gantt_dependency_lineType2

<template><div><vxe-gantt v-bind="ganttOptions"></vxe-gantt></div>
</template><script setup>
import { reactive } from 'vue'
import { VxeGanttDependencyType } from 'vxe-gantt'const ganttOptions = reactive({border: true,height: 300,rowConfig: {keyField: 'id' // 行主键},taskBarConfig: {showProgress: true, // 是否显示进度条showContent: true, // 是否在任务条显示内容move: true, // 是否允许拖拽任务移动日期barStyle: {round: true, // 圆角bgColor: '#fca60b', // 任务条的背景颜色completedBgColor: '#65c16f' // 已完成部分任务条的背景颜色}},taskViewConfig: {tableStyle: {width: 480 // 表格宽度}},taskLinkConfig: {lineType: 'flowDashed'},links: [{ from: 10001, to: 10002, type: VxeGanttDependencyType.FinishToFinish },{ from: 10004, to: 10005, type: VxeGanttDependencyType.StartToStart },{ from: 10005, to: 10006, type: VxeGanttDependencyType.FinishToStart },{ from: 10013, to: 10012, type: VxeGanttDependencyType.StartToFinish }],columns: [{ type: 'seq', width: 70 },{ field: 'title', title: '任务名称' },{ field: 'start', title: '开始时间', width: 100 },{ field: 'end', title: '结束时间', width: 100 },{ field: 'progress', title: '进度(%)', width: 80 }],data: [{ id: 10001, title: '任务1', start: '2024-03-01', end: '2024-03-04', progress: 3 },{ id: 10002, title: '任务2', start: '2024-03-03', end: '2024-03-08', progress: 10 },{ id: 10003, title: '任务3', start: '2024-03-03', end: '2024-03-11', progress: 90 },{ id: 10004, title: '任务4', start: '2024-03-05', end: '2024-03-11', progress: 15 },{ id: 10005, title: '任务5', start: '2024-03-08', end: '2024-03-15', progress: 100 },{ id: 10006, title: '任务6', start: '2024-03-10', end: '2024-03-21', progress: 5 },{ id: 10007, title: '任务7', start: '2024-03-15', end: '2024-03-24', progress: 70 },{ id: 10008, title: '任务8', start: '2024-03-05', end: '2024-03-15', progress: 50 },{ id: 10009, title: '任务9', start: '2024-03-19', end: '2024-03-20', progress: 5 },{ id: 10010, title: '任务10', start: '2024-03-12', end: '2024-03-20', progress: 10 },{ id: 10011, title: '任务11', start: '2024-03-01', end: '2024-03-08', progress: 90 },{ id: 10012, title: '任务12', start: '2024-03-03', end: '2024-03-06', progress: 60 },{ id: 10013, title: '任务13', start: '2024-03-02', end: '2024-03-05', progress: 50 },{ id: 10014, title: '任务14', start: '2024-03-04', end: '2024-03-15', progress: 0 },{ id: 10015, title: '任务15', start: '2024-03-01', end: '2024-03-05', progress: 30 }]
})
</script>

线颜色

通过设置 task-link-config.lineStatus 设置连接线的状态颜色,也可以给每条线单独设置状态颜色

image

<template><div><vxe-gantt v-bind="ganttOptions"></vxe-gantt></div>
</template><script setup>
import { reactive } from 'vue'
import { VxeGanttDependencyType } from 'vxe-gantt'const ganttOptions = reactive({border: true,height: 500,rowConfig: {keyField: 'id' // 行主键},taskBarConfig: {showProgress: true, // 是否显示进度条showContent: true, // 是否在任务条显示内容move: true, // 是否允许拖拽任务移动日期barStyle: {round: true, // 圆角bgColor: '#fca60b', // 任务条的背景颜色completedBgColor: '#65c16f' // 已完成部分任务条的背景颜色}},taskViewConfig: {tableStyle: {width: 480 // 表格宽度}},taskLinkConfig: {lineStatus: 'success' // 给所有线设置状态颜色,内置几种状态颜色 'primary', 'success', 'info', 'warning', 'danger', 'error'},links: [{ from: 10001, to: 10002, type: VxeGanttDependencyType.FinishToFinish },{ from: 10004, to: 10005, type: VxeGanttDependencyType.StartToStart },{ from: 10005, to: 10006, type: VxeGanttDependencyType.FinishToStart },{ from: 10013, to: 10012, type: VxeGanttDependencyType.StartToFinish }],columns: [{ type: 'seq', width: 70 },{ field: 'title', title: '任务名称' },{ field: 'start', title: '开始时间', width: 100 },{ field: 'end', title: '结束时间', width: 100 },{ field: 'progress', title: '进度(%)', width: 80 }],data: [{ id: 10001, title: '任务1', start: '2024-03-01', end: '2024-03-04', progress: 3 },{ id: 10002, title: '任务2', start: '2024-03-03', end: '2024-03-08', progress: 10 },{ id: 10003, title: '任务3', start: '2024-03-03', end: '2024-03-11', progress: 90 },{ id: 10004, title: '任务4', start: '2024-03-05', end: '2024-03-11', progress: 15 },{ id: 10005, title: '任务5', start: '2024-03-08', end: '2024-03-15', progress: 100 },{ id: 10006, title: '任务6', start: '2024-03-10', end: '2024-03-21', progress: 5 },{ id: 10007, title: '任务7', start: '2024-03-15', end: '2024-03-24', progress: 70 },{ id: 10008, title: '任务8', start: '2024-03-05', end: '2024-03-15', progress: 50 },{ id: 10009, title: '任务9', start: '2024-03-19', end: '2024-03-20', progress: 5 },{ id: 10010, title: '任务10', start: '2024-03-12', end: '2024-03-20', progress: 10 },{ id: 10011, title: '任务11', start: '2024-03-01', end: '2024-03-08', progress: 90 },{ id: 10012, title: '任务12', start: '2024-03-03', end: '2024-03-06', progress: 60 },{ id: 10013, title: '任务13', start: '2024-03-02', end: '2024-03-05', progress: 50 },{ id: 10014, title: '任务14', start: '2024-03-04', end: '2024-03-15', progress: 0 },{ id: 10015, title: '任务15', start: '2024-03-01', end: '2024-03-05', progress: 30 }]
})
</script>

https://gitee.com/x-extends/vxe-gantt

http://www.jsqmd.com/news/112137/

相关文章:

  • Typora 实现点击显示答案
  • 2025如何选择适合企业需求的舆情监测服务商?5大维度评估TOP服务商 - 深度智识库
  • 母婴沐浴露怎么选?2025最新沐浴露十款品牌排名推荐,纯草本无硅油温和清洁超安心 - 博客万
  • 2025年口碑好的四川球墨铸铁管公司用户推荐榜 - 朴素的承诺
  • 2025年12月长治潞城驾校综合测评TOP5:圆梦张燕教练领跑 - 2025年品牌推荐榜
  • 2025年东北地区叶面肥公司推荐,靠谱的叶面肥厂家全解析 - mypinpai
  • 《lvgl基础学习 —— switch》
  • 2025年12月潞城市驾校/驾驶员培训学校推荐:圆梦驾校张燕领跑 - 2025年品牌推荐榜
  • 景观大功率投光灯品牌与定制推荐 - 工业推荐榜
  • 奥罗拉连接器:优质连接解决方案的不二之选 - 工业品牌热点
  • 奥罗拉连接器:优质连接解决方案的不二之选 - 工业品牌热点
  • pine_参考
  • 2025年苗木批发基地采购指南:十大可靠供应商排名,苗木/红叶李/红叶石楠/国槐/白蜡/金叶复叶槭/栾树/樱花苗木批发基地种植排行 - 品牌推荐师
  • 版本发布| IvorySQL 5.1 发布
  • Shell Daily 2025-12-19: 优雅退场 (Trap)
  • 版本发布| IvorySQL 5.1 发布
  • 【2025-12-18】同事怀孕
  • 2025年年终外墙保温板批发商推荐排行榜单对比与评测分析 - 品牌推荐
  • 版本之殇
  • 江西赣州市自建房设计公司 / 机构权威测评推荐排行榜 - 苏木2025
  • 只卖授权的牌子注意
  • 让系统变慢,CPU50%性能运行
  • modelscope下载模型
  • 车机
  • 初效过滤棉制造商:行业优势与优质之选 - mypinpai
  • 2025年年终天津一般工业固废处置企业推荐:聚焦多行业客户案例与口碑的深度解析 - 品牌推荐
  • 2025年年终天津一般工业固废处置企业推荐:专家视角下的处理规模、一站式服务与性价比评估 - 品牌推荐
  • 在改变用户profile时,注意最后一次密码修改时间
  • 2025年年终外墙保温板批发商综合对比与推荐排行榜单分析 - 品牌推荐
  • 天津固废处置企业哪家强?2025年年终权威评测与1家高可靠性推荐 - 品牌推荐