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

dhtmlxGantt 甘特图 一行展示多条任务类型

效果如图:


 后台拿到数据 处理之后如图:


 含义:

如上图所示, 如果一行需要展示多个 需要给父数据的那条添加render:split属性,

子数据的parent为父数据的Id即可 

切记 父数据的id 别为0 为0 时 会出现错乱

因为有些小伙伴提出分段展示的数据结构还是有点问题,下面展示一个完整的demo

<template>
    <div id="gantt" ref="gantt"></div>
</template>
 
<script>
import { gantt } from 'dhtmlx-gantt';
import "dhtmlx-gantt/codebase/dhtmlxgantt.css";
export default {
    name: 'SpeadDomeGantt',
 
    data() {
        return {
            
        };
    },
 
    mounted() {
        this.init()
    },
 
    methods: {
        init(){
            gantt.config.xml_date = "%Y-%m-%d %H:%i";
            gantt.config.scale_height = 50 //设置甘特图的表头高度
            //鼠标移入展示信息
            gantt.plugins({
                tooltip: true
            })
            //时间展示 2021-10-11 07:22
            gantt.templates.tooltip_date_format = gantt.date.date_to_str("%Y-%m-%d %H:%i")  
            //鼠标移入展示信息
            gantt.config.readonly = true //甘蔗图只读属性
            gantt.config.round_dnd_dates = false //将任务开始时间和结束时间自动“四舍五入'
            gantt.config.root_id = "root"
            //添加taba栏
            gantt.config.columns = [
                {name:"name", label:"名称", align: 'center', width: 120},
                {name:"age", label:"年龄", align: 'center', width: 120}
            ]
            //禁用拖拽项 拖拽类型
            gantt.attachEvent("onBeforeTaskDrag", function(id, mode, e){
                var modes = gantt.config.drag_mode;
                switch (mode){
                    case modes.move:
                    break;
                    case modes.resize:
                    break;
                    case modes.progress:
                    break;
                }
            })
            gantt.init(this.$refs.gantt)
            //模拟数据
            let datalist = [
                //第一组 //整条数据需要带上render属性  里面多段的数据parent执行整条的id
                { 
                    id: 1, name: '小花', age: 18, render: 'split', text: '' 
                },
                {
                    id: 100, parent: 1, start_date: '2022-08-19 07:20:00', end_date: '2022-08-20 20:00:00',
                    text: '玩游戏', color: '#F56C6C'
                },
                {
                    id: 101, parent: 1, start_date: '2022-08-20 23:20:00', end_date: '2022-08-21 20:00:00',
                    text: '事情一', color: '#67C23A'
                },
                {
                    id: 102, parent: 1, start_date: '2022-08-22 07:20:00', end_date: '2022-08-22 20:00:00', 
                    text: '事情二', color: '#E6A23C'
                },
                {
                    id: 103, parent: 1, start_date: '2022-08-23 07:20:00', end_date: '2022-08-24 20:00:00', 
                    text: '事情三', color: '#909399'
                },
 
                //第二组
                { 
                    id: 2, name: '小草', age: 16, render: 'split', text: '' 
                },
                {
                    id: 104, parent: 2, start_date: '2022-08-19 02:20:00', end_date: '2022-08-20 18:00:00',
                    text: '玩游戏', color: '#E6A23C'
                },
                {
                    id: 105, parent: 2, start_date: '2022-08-20 22:10:00', end_date: '2022-08-21 10:00:00',
                    text: '事情四', color: '#909399'
                },
                {
                    id: 106, parent: 2, start_date: '2022-08-21 17:20:00', end_date: '2022-08-22 20:00:00', 
                    text: '事情五', color: '#67C23A'
                },
                {
                    id: 107, parent: 2, start_date: '2022-08-23 00:20:00', end_date: '2022-08-23 20:00:00', 
                    text: '事情六', color: '#F56C6C'
                },
            ]
            gantt.parse({data: datalist})
        },
    },
};
</script>
 
<style scoped>
#gantt {
    height: 120px;
}
</style>


效果图如下: 


ok, 有任何问题请联系我, 尽量给出详细的解答! 
 

http://www.lryc.cn/news/443981.html

相关文章:

  • COLORmap
  • 手机在网状态查询接口如何用Java进行调用?
  • mysql性能优化- 数据库配置优化
  • (算法)大数的进制转换
  • 演示jvm锁存在的问题
  • Android SharedPreference详解
  • 论文阅读 | 可证安全隐写(网络空间安全科学学报 2023)
  • Arthas jvm(查看当前JVM的信息)
  • 【c++】介绍
  • JavaScript typeof与instanceof的区别
  • C++11 可变的模板参数
  • 手机在网状态查询接口如何用PHP进行调用?
  • MATLAB中多张fig图合并为一个图
  • Java启动Tomcat: Can‘t load IA 32-bit .dll on a AMD 64-bit platform报错问题解决
  • 基于微信小程序的家教信息管理系统的设计与实现(论文+源码)_kaic
  • 【Android】BottomSheet基本用法总结(BottomSheetDialog,BottomSheetDialogFragment)
  • Linux下实现ls命令的功能
  • 【中国留学网-注册_登录安全分析报告】
  • jvm中的程序计数器、虚拟机栈和本地方法栈
  • 安卓数据存储——SharedPreferences
  • 【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制
  • Apache CVE-2021-41773漏洞复现
  • 带线无人机现身俄罗斯抗干扰技术详解
  • ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤)
  • 生信服务器 | 组蛋白甲基化修饰、DNA亲和纯化测序、优青博导团队指导设计、解读实验结果。
  • 【machine learning-14-特征缩放-归一化】
  • 二叉树堆的建立与排序
  • 【软件测试】Bug 篇
  • oracle 多表查询
  • layui 可以使点击图片放大