当前位置: 首页 > 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, 有任何问题请联系我, 尽量给出详细的解答! 
 

相关文章:

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

效果如图: 后台拿到数据 处理之后如图: 含义: 如上图所示, 如果一行需要展示多个 需要给父数据的那条添加render:split属性, 子数据的parent为父数据的Id即可 切记 父数据的id 别为0 为0 时 会出现错乱 因为有些小伙伴提出分段展示的数据结构还是有点问题,下面展示一个完整…...

COLORmap

在这段MATLAB代码中&#xff0c;surf(peaks)、map的定义以及colormap(map)的调用共同完成了以下任务&#xff1a; 1. **绘制曲面图**&#xff1a; - surf(peaks)&#xff1a;这个函数调用了MATLAB内置的peaks函数来生成数据&#xff0c;并使用surf函数将这些数据绘制成一个…...

手机在网状态查询接口如何用Java进行调用?

一、什么是手机在网状态查询接口&#xff1f; 手机在网状态查询接口&#xff0c;又叫运营商在网状态查询&#xff0c;手机号在网状态查询&#xff0c;传入手机号码&#xff0c;查询该手机号的在网状态&#xff0c;返回内容有正常使用、停机、在网但不可用、不在网&#xff08;…...

mysql性能优化- 数据库配置优化

MySQL 性能优化 - 数据库配置优化 MySQL 是一个广泛使用的关系型数据库管理系统&#xff0c;但随着数据量的增长和访问频率的提高&#xff0c;其性能可能会成为瓶颈。为了保持高效的性能&#xff0c;除了应用层的查询优化和索引优化之外&#xff0c;数据库配置优化 也是非常重…...

(算法)大数的进制转换

题目描述 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出输入描述: 多组数据&#xff0c;每行为一个长度不超过30位的十进制非负整数。 &#xff08;注意是10进制数字的个数可能有30个&#xff0c;而非30bits的整数&#xff09;解析 例子 &#xff1a;123&…...

演示jvm锁存在的问题

文章目录 1、AlbumInfoApiController --》testLock()2、redis添加键值对3、AlbumInfoServiceImpl --》testLock() 没有加锁4、使用ab工具测试4.1、安装 ab 工具4.2、查看 redis 中的值 5、添加本地锁 synchronized6、集群情况下问题演示 jvm锁&#xff1a;synchronized lock 只…...

Android SharedPreference详解

Android SharedPreference详解 SharedPreferences作为一种数据持久化的方式&#xff0c;是处理简单的key-value类型数据时的首选。 一般用法: //demo是该sharedpreference对应文件名,对应的是一个xml文件,里面存放key-value格式的数据. SharedPreferences sharedPreferences…...

论文阅读 | 可证安全隐写(网络空间安全科学学报 2023)

可证安全隐写&#xff1a;理论、应用与展望 一、什么是可证安全隐写&#xff1f; 对于经验安全的隐写算法&#xff0c;即使其算法设计得相当周密&#xff0c;隐写分析者&#xff08;攻击者&#xff09;在观察了足够数量的载密&#xff08;含有隐写信息的数据&#xff09;和载体…...

Arthas jvm(查看当前JVM的信息)

文章目录 二、命令列表2.1 jvm相关命令2.1.3 jvm&#xff08;查看当前JVM的信息&#xff09; 二、命令列表 2.1 jvm相关命令 2.1.3 jvm&#xff08;查看当前JVM的信息&#xff09; 基础语法&#xff1a; jvm [arthas18139]$ jvmRUNTIME …...

【c++】介绍

C是一种强大而灵活的编程语言&#xff0c;广泛用于开发各种应用程序和系统软件。它结合了C语言的高效性和面向对象编程的特性&#xff0c;为程序员提供了丰富的工具和功能&#xff0c;以满足各种编程需求。 C的历史可以追溯到上世纪80年代&#xff0c;最初由丹尼斯里奇和贝尔实…...

JavaScript typeof与instanceof的区别

typeof 和 instanceof 都是 JavaScript 中的运算符&#xff0c;用于检查数据类型或对象的类型。它们有不同的用途和适用场景&#xff1a; 1. typeof 作用&#xff1a;返回变量的数据类型&#xff0c;适用于原始数据类型&#xff08;如 number、string、boolean 等&#xff09…...

C++11 可变的模板参数

前言 本期我们接着继续介绍C11的新特性&#xff0c;本期我们介绍的这个新特性是很多人都感觉抽象的语法&#xff01;它就是可变的模板参数&#xff01; 目录 前言 一、可变的模板参数 1.1可变的参数列表 1.2可变的参数包 1.3可变参数包的解析 • 递归展开解析 • 逗号…...

手机在网状态查询接口如何用PHP进行调用?

一、什么是手机在网状态查询接口&#xff1f; 手机在网状态查询接口&#xff0c;即输入手机号码查询手机号在网状态&#xff0c;返回有正常使用、停机、在网但不可用、不在网&#xff08;销号/未启用/异常&#xff09;、预销户等多种状态。 二、手机在网状态查询适用哪些场景…...

MATLAB中多张fig图合并为一个图

将下列两个图和为一个图 打开查看-----绘图浏览器 点击第一幅图中曲线右键复制&#xff0c;到第二幅图中粘贴即可完成...

Java启动Tomcat: Can‘t load IA 32-bit .dll on a AMD 64-bit platform报错问题解决

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

基于微信小程序的家教信息管理系统的设计与实现(论文+源码)_kaic

摘 要 随着互联网时代的来临&#xff0c;使得传统的家教模式已不复存在&#xff0c;亟需一种方便、快捷的在线教学平台。因此&#xff0c;利用Java语言作为支撑和MySQL数据库存储数据&#xff0c;结合微信小程序的便利性&#xff0c;为用户开发出了一个更加人性化、方便的家庭…...

【Android】BottomSheet基本用法总结(BottomSheetDialog,BottomSheetDialogFragment)

BottomSheet BottomSheet 是一种位于屏幕底部的面板&#xff0c;用于显示附加内容或选项。提供了从屏幕底部向上滑动显示内容的交互方式。这种设计模式在 Material Design 中被广泛推荐&#xff0c;因为它可以提供一种优雅且不干扰主屏幕内容的方式来展示额外信息或操作。 具体…...

Linux下实现ls命令的功能

教材:<Linux编程技术详解> 杜华 编著 人民邮电出版社 参考页码:P136 书中源代码: //p4.10.c 实现类似ls命令的功能 #include<stdio.h> #include<sys/types.h> #include<dirent.h> #include<stdlib.h> #include<sys/stat.h> #include&l…...

【中国留学网-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…...

jvm中的程序计数器、虚拟机栈和本地方法栈

引言 本文主要介绍一下jvm虚拟机中的程序计数器、虚拟机栈和本地方法栈。 程序计数器 作用 作用&#xff1a;记录下一条jvm指令的执行地址。 下面具体描述一下程序计数器的作用。 这里有两个代码&#xff0c;右边的为源代码&#xff0c;左边为编译之后的字节码。 当我们…...

Gumbo-parser内存管理终极指南:7个简单步骤避免常见陷阱

Gumbo-parser内存管理终极指南&#xff1a;7个简单步骤避免常见陷阱 【免费下载链接】gumbo-parser An HTML5 parsing library in pure C99 项目地址: https://gitcode.com/gh_mirrors/gu/gumbo-parser Gumbo-parser是一个纯C99编写的HTML5解析库&#xff0c;高效的内存…...

光谱特征选择实战:UVE算法原理、实现与避坑指南

1. UVE算法原理&#xff1a;噪声如何帮你筛选特征&#xff1f; 第一次听说用噪声来筛选特征时&#xff0c;我也觉得不可思议——噪声不是应该干扰数据分析吗&#xff1f;但UVE算法的精妙之处恰恰在于它把噪声变成了"标尺"。想象你在超市挑选苹果&#xff0c;如果闭着…...

别再只会用na.omit删数据了!R语言缺失值处理保姆级教程:从均值填补到随机森林实战

R语言缺失值处理实战&#xff1a;从基础填补到随机森林的完整指南 第一次拿到带有缺失值的数据集时&#xff0c;大多数人的本能反应是直接删除那些不完整的记录。这种简单粗暴的做法看似省事&#xff0c;却可能让你的分析结果偏离真实情况。想象一下&#xff0c;你正在分析一组…...

Java集成LibreOffice实现高效Office文档批量转PDF方案

1. 为什么选择LibreOffice进行文档转换 在企业日常办公中&#xff0c;我们经常需要处理大量的Office文档。想象一下这样的场景&#xff1a;财务部门每月要生成上百份报表&#xff0c;人力资源部门要处理大量简历&#xff0c;而市场部门则需要频繁修改和分享各种方案文档。这些文…...

UE5 UMG坐标转换实战:用SlateBlueprintLibrary搞定UI拖拽与点击检测

UE5 UMG坐标转换实战&#xff1a;用SlateBlueprintLibrary搞定UI拖拽与点击检测 在虚幻引擎5的UMG开发中&#xff0c;精准控制UI元素的交互行为是提升用户体验的关键。想象一下&#xff0c;当玩家拖动一个自定义背包中的物品&#xff0c;或是点击复杂HUD中的某个区域时&#xf…...

省考面试必看!初心教育不玩虚的,真实口碑+实战演练,上岸更稳

公考面试有多卷&#xff1f;千人争一岗&#xff0c;拼的不只是实力&#xff0c;更是选择&#xff01;选对培训机构&#xff0c;能少走半年弯路&#xff1b;选不对&#xff0c;再努力也可能白费功夫 今天给所有进面考生避坑&#xff0c;推荐一家深耕公考面试多年、口碑拉满的宝藏…...

西交提出 OdysseyArena:让智能体真正“学会探索”的长程归纳推理基准

&#x1f4cc; 一句话总结&#xff1a; 本工作提出 OdysseyArena&#xff0c;一个面向长时程&#xff08;long-horizon&#xff09;、主动探索&#xff08;active&#xff09;、归纳学习&#xff08;inductive&#xff09;三大核心能力的交互式评测平台&#xff0c;系统性检验…...

电子工程师眼中的城市电路板:无人机航拍引发的职业思考

1. 电子工程师的强迫症与无人机视角的冲突作为一名从业十年的电子工程师&#xff0c;我完全理解小舒所说的那种"焊盘上的电阻、电容不能歪"的强迫症。这种职业习惯已经深深烙印在我们的工作方式中 - 从PCB布局到元件焊接&#xff0c;从线缆走线到机箱布线&#xff0c…...

他没有打断我,没有说“小孩子懂什么” ,30岁这年,我不仅拿到了父亲的认可,更拿到了他毫无保留的信任

30岁这年,我和我爸 今天和我爸坐在阳台的小茶桌前,泡了他藏了快十年的普洱,烟缸里攒了四根烟蒂,聊了整整两个小时。 散场的时候我站在窗边看他下楼开车,突然反应过来——我们今天这场对话,从头到尾没有一句“你要听话”,没有一句“钱够不够花”,没有长辈居高临下的说…...

08_微服务划分与团队人数之监控治理与跨团队协作

微服务划分与团队人数之监控治理与跨团队协作 体系内容 可观测性三支柱:指标、日志、链路追踪 治理要素:SLO、Dashboard、告警分级、容量视图、契约审计 Spring Cloud Alibaba 关联:Nacos、Sentinel、Gateway、RocketMQ、Dubbo 与观测平台协同 跨团队机制:接口契约、消息契…...