news 2026/6/18 3:02:43

vue 甘特图 vxe-gantt 设置每个进度条分为计划和实际两条,实现上下分布任务条

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue 甘特图 vxe-gantt 设置每个进度条分为计划和实际两条,实现上下分布任务条

vue 甘特图 vxe-gantt 设置每个进度条分为计划和实际两条,实现上下分布任务条,实现方式是利用子任务的子视图渲染模式,来间每条任务拆分成2条子任务,就可以利用自带的子视图渲染功能来渲染。

https://gantt.vxeui.com

由于放2行超出默认高度,所以还需要通过 cell-config.height设置一下行高,再通过树形表格的子任务来渲染

<template><div><vxe-ganttv-bind="ganttOptions"></vxe-gantt></div></template><scriptsetup>import{reactive}from'vue'import{VxeGanttTaskType}from'vxe-gantt'importXEUtilsfrom'xe-utils'constganttOptions=reactive({border:true,height:500,loading:false,cellConfig:{height:60},treeConfig:{transform:true,rowField:'id',parentField:'parentId'},taskConfig:{startField:'start',endField:'end',typeField:'type'},taskBarSubviewConfig:{barStyle({row}){if(row.flag===1){return{transform:'translateY(-24px)','--vxe-ui-gantt-view-task-bar-completed-background-color':'#409eff'}}if(row.flag===2){return{transform:'translateY(1px)','--vxe-ui-gantt-view-task-bar-completed-background-color':'#31d231'}}}},taskBarConfig:{showContent:true,barStyle:{round:true}},taskViewConfig:{tableStyle:{width:480}},columns:[{field:'title',title:'任务名称',minWidth:100},{field:'planStartDate',title:'计划开始时间',width:100},{field:'planEndDate',title:'计划结束时间',width:100},{field:'actualStartDate',title:'实际开始时间',width:100},{field:'actualEndDate',title:'实际结束时间',width:100}],data:[]})// 模拟后端接口constloadList=()=>{ganttOptions.loading=truesetTimeout(()=>{constlist=[{id:10001,parentId:null,title:'A项目',planStartDate:'2024-03-03',planEndDate:'2024-03-15',actualStartDate:'2024-03-03',actualEndDate:'2024-03-12'},{id:10002,parentId:null,title:'B项目',planStartDate:'2024-03-10',planEndDate:'2024-03-25',actualStartDate:'2024-03-08',actualEndDate:'2024-03-16'},{id:10003,parentId:null,title:'C项目',planStartDate:'2024-03-20',planEndDate:'2024-04-10',actualStartDate:'2024-03-22',actualEndDate:'2024-04-01'},{id:10004,parentId:null,title:'D项目',planStartDate:'2024-03-28',planEndDate:'2024-04-19',actualStartDate:'2024-03-28',actualEndDate:'2024-04-12'},{id:10005,parentId:null,title:'E项目',planStartDate:'2024-04-05',planEndDate:'2024-04-28',actualStartDate:'2024-04-01',actualEndDate:'2024-04-24'}]// 转成子任务视图constganttData=[]list.forEach(item=>{constcurrRow=XEUtils.assign({},item,{type:VxeGanttTaskType.Subview})constplanRow=XEUtils.assign({},item,{id:10000000+item.id,title:'计划',parentId:item.id,start:item.planStartDate,end:item.planEndDate,flag:1})constactualRow=XEUtils.assign({},item,{id:20000000+item.id,parentId:item.id,title:'实际',start:item.actualStartDate,end:item.actualEndDate,flag:2})ganttData.push(currRow)ganttData.push(planRow)ganttData.push(actualRow)})ganttOptions.data=ganttData ganttOptions.loading=false},200)}loadList()</script>

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 1:09:23

【Dubbo服务找不到?从抓耳挠腮到一键解决,全流程干货!】

作为一名天天和BUG贴贴的程序员&#xff0c;排查问题就像拆盲盒——你永远不知道下一个坑是逻辑bug、环境搞怪&#xff0c;还是同事偷偷改的配置让你当场破防。而最让人崩溃的&#xff0c;当属Dubbo服务找不到的坑&#xff01;就像你约了朋友吃饭&#xff0c;到地方发现人没影&…

作者头像 李华
网站建设 2026/6/9 21:31:42

【netty】EventLoop

eventloop 可以处理channel上 accept、read、write等io事件1.单线程执行器2.维护了一个selector如果传入线程数&#xff0c;则使用传入的线程数如果没有传入线程数&#xff0c;则获取配置的线程数 与 系统的cpu核数*2 比大小防。 止存在0线程的情况&#xff0c;所以与1比大小&a…

作者头像 李华
网站建设 2026/6/15 2:21:25

GLM-4.7-Flash参数详解:flash-attn2启用条件、量化选项与推理精度权衡

GLM-4.7-Flash参数详解&#xff1a;flash-attn2启用条件、量化选项与推理精度权衡 1. 模型基础认知&#xff1a;不只是“更快的GLM-4” 你可能已经听说过GLM-4系列&#xff0c;但GLM-4.7-Flash不是简单的小版本迭代。它是一次面向实际部署场景的深度重构——目标很明确&#…

作者头像 李华
网站建设 2026/6/17 14:55:41

GLM-4-9B-Chat-1M代码补全:vLLM支持的IDE插件开发

GLM-4-9B-Chat-1M代码补全&#xff1a;vLLM支持的IDE插件开发 1. 引言 作为一名长期在AI和智能硬件领域工作的工程师&#xff0c;我经常需要处理复杂的代码项目。最近在开发一个大型Python项目时&#xff0c;遇到了一个典型问题&#xff1a;当代码文件超过几千行后&#xff0…

作者头像 李华