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

vue 甘特图 vxe-gantt 手动增加一条依赖线,删除连接线的用法

vue 甘特图 vxe-gantt 手动增加一条依赖线,删除连接线的用法,通过设置 links 定义连接线,from 对应源任务的行主键,tom 对应目标任务的行主键通

extend_gantt_chart_gantt_dependency_manual

过调用 setTaskLinks、clearTaskLinks 方法来设置或清除连接线可以很简单的画连接线或清除连接线

<template><div><vxe-button status="primary" @click="addLink1">新增一条线7-6</vxe-button><vxe-button status="primary" @click="addLink2">新增二条线2-9</vxe-button><vxe-button status="error" @click="delLink1">删除一条线7</vxe-button><vxe-button status="error" @click="delLink2">删除一条线2</vxe-button><vxe-button status="success" @click="updateLink1">重新设置连接线1</vxe-button><vxe-button status="success" @click="updateLink2">重新设置连接线2</vxe-button><vxe-button status="error" @click="clearLink">清除全部连接线</vxe-button><vxe-gantt ref="ganttRef" v-bind="ganttOptions"></vxe-gantt></div>
</template><script setup>
import { ref, reactive } from 'vue'
import { VxeGanttDependencyType } from 'vxe-gantt'const ganttRef = ref()const ganttOptions = reactive({border: true,height: 600,rowConfig: {keyField: 'id' // 行主键},taskBarConfig: {showProgress: true, // 是否显示进度条showContent: true, // 是否在任务条显示内容move: true, // 是否允许拖拽任务移动日期resize: true, // 是否允许拖拽任务调整日期barStyle: {round: true, // 圆角bgColor: '#fca60b', // 任务条的背景颜色completedBgColor: '#65c16f' // 已完成部分任务条的背景颜色}},taskViewConfig: {tableStyle: {width: 480 // 表格宽度}},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 }]
})const addLink1 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.addTaskLink({ from: 10007, to: 10006, type: VxeGanttDependencyType.StartToStart })}
}const addLink2 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.addTaskLink([{ from: 10002, to: 10009, type: VxeGanttDependencyType.StartToStart },{ from: 10003, to: 10001, type: VxeGanttDependencyType.FinishToFinish }])}
}const delLink1 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.removeTaskLink(10007)}
}const delLink2 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.removeTaskLink(10002)}
}const updateLink1 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.setTaskLinks([{ 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 }])}
}const updateLink2 = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.setTaskLinks([{ from: 10001, to: 10003, type: VxeGanttDependencyType.StartToStart },{ from: 10008, to: 10004, type: VxeGanttDependencyType.FinishToStart }])}
}const clearLink = () => {const $gantt = ganttRef.valueif ($gantt) {$gantt.clearTaskLinks()}
}
</script>
http://www.jsqmd.com/news/122076/

相关文章:

  • LangFlow构建动态调价建议引擎
  • 基于节点的LangChain构建器LangFlow,让AI应用开发更高效
  • 2025年12月金属熔剂品牌哪家专业 - 2025年品牌推荐榜
  • 《代码大全》读后感(8)
  • 35、集群管理与Visual Basic .NET编程基础
  • LangFlow创建交叉销售机会发现工具
  • LangFlow构建文化差异风险提示系统
  • 迈向智能时代:软件测试管理的创新路径与实战策略
  • LangFlow开发抄袭内容比对分析器
  • 37、Visual Studio .NET:全面开发解决方案解析
  • LangFlow实现用户留存影响因素分析
  • 测试服务创新:从质量保障到价值创造的新范式
  • 2025年第50周最热门的开源项目(Github)
  • LangChain框架中的记忆
  • 从成本中心到价值引擎:软件测试的商业模式创新路径
  • Excalidraw构建消费者洞察:用户行为分析框架
  • LangFlow打造冷链物流温控报警系统
  • LangFlow开发拣货路径优化算法接口
  • LangFlow实现仓储空间利用率分析
  • 2026-2030软件测试演化白皮书:从自动化到智能化的战略跃迁
  • LangFlow实现目标客群定向触达策略
  • 制药计量检测公司2025年12月服务商推荐 - 2025年品牌推荐榜
  • LangFlow实现直播带货话术优化建议
  • LangFlow构建学术不端行为检测流程
  • 2025年12月安徽充电桩产品十大厂家 - 2025年品牌推荐榜
  • LangFlow创建满意度驱动因素挖掘流程
  • Python元编程:赋予代码“自我认知”与“自我塑造”的能力
  • 口碑好的通风气楼厂家推荐2025 - 2025年品牌推荐榜
  • leetcode 955
  • 股票搜索热度分析报告 - 2025-12-22 07:58:55