vue3 手动简单 24h 甘特图封装

甘特图

手动封装简版甘特图,纯展示功能,无其他操作

文章目录

  • 甘特图
  • 前言
  • 效果图
  • 组件
  • 使用
  • 总结


前言

开始的思路是使用echarts 瀑布图来体现,但是试验后发现,头部时间功能不满足,然未找到其他组件,于是手动封装一个,比较简陋,凑乎看。

echarts效果
echarts效果


效果图

请添加图片描述

组件

<template><div class="gantt_chart"><ul class="title" :style="{height}"><li  v-for="i in 24" :key="i"><p class="title_font">{{ i.toString().length == 1 ? `0${i}` : i }}</p><p class="title_node"></p></li></ul><div class="gantt_chart_columns" v-for="v,i in chartData" :key="i" :style="{height}"><p class="time_value" :style="{width:getWidth(v),left:getLeft(v)}"></p></div></div></template><script setup>import {computed,toRefs } from 'vue';let props = defineProps({chartData:{type:Object,default:() =>  {return []}},height:{type:String,default:() =>  {return ''}}
})const { chartData } = toRefs(props);const getWidth = computed(() =>{return function (val) {if (val.length == 2) {if (val[0] > val[1]) {let num = ((val[0] - val[1]) / 24 * 100).toString() + '%'return num} else {let num = ((val[1] - val[0]) / 24 * 100).toString() + '%'return num}}}})const getLeft = computed(() =>{return function (val) {if (val.length == 2) {if (val[0] > val[1]) {let num = (val[1] / 24 * 100).toString() + '%'return num} else {let num = (val[0] / 24 * 100).toString() + '%'return num}}}
})</script>
<style scoped lang="scss">.gantt_chart{width: 100%;height: 100%;border: 1px solid #2e5c80;overflow: auto;.title{width: 100%;// height: 16.6666%;overflow: hidden;display: flex;justify-content: space-evenly;overflow: hidden;border-bottom: 1px solid #2e5c80;margin: 0;padding: 0;li {width: 4%;position: relative;text-align: center;list-style:none;box-sizing: border-box;}.title_font {display: inline-block;height: 22px;margin: 0;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);}.title_node {width: 1px;height: 10px;margin: 0;background: #1ea9fa;position: absolute;left: 50%;bottom: 0;transform: translateX(-50%);}}.gantt_chart_columns {width: 100%;// height: 16.6666%;overflow: hidden;border-bottom: 1px solid #2e5c80;.time_value {height: 50%;position: relative;top: 50%;transform: translateY(-50%);margin: 0;background-color: #00ccff;}}.gantt_chart_columns:last-child {border-bottom:none;}}
</style>

使用

import GanttChart from '@/components/GanttChart.vue';<GanttChart style="width:50%;height:30%; margin-top: 1.1%;" :chartData="chartData" height="16.3%"/>import { ref } from 'vue';
let chartData = ref([[1.2,16.4],[5.5,10.8],[1,6.2],[5.2,9],[8.3,10.8],
])

总结

简单使用,至于数据需要处理后传入
感谢各位大佬观看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VTK实现三视图显示及交互STL模型

VTK实现STL模型的三视图显示及交互 最近收到需求&#xff0c;要实现多视图显示同一个STL模型&#xff0c;并且控制主窗口要其他试图窗口也跟着交互&#xff0c;花了点时间去尝试一下&#xff0c;把这个效果给实现出来了&#xff0c;而且实现也挺简单。 效果演示 要点 用同一个…

微火全域运营平台成优选,业内人士纷纷研究!

随着全域运营赛道的兴盛&#xff0c;越来越多的全域运营平台陆续上线&#xff0c;拓宽全域运营服务商选择空间的同时&#xff0c;也让全域运营平台选择成为了他们最为头疼的问题。在此背景下&#xff0c;各大全域运营平台背后的研发公司开始各出奇招&#xff0c;以获得更多全域…

EI期刊的定金和尾款

当涉及到EI&#xff08;工程索引&#xff09;期刊发表并支付定金和尾款时&#xff0c;许多学者和研究人员可能会感到担忧&#xff0c;因为这涉及到一定的风险。在探讨这个话题时&#xff0c;我们需要考虑几个因素&#xff0c;包括期刊的声誉、可信度、出版质量以及作者的权益保…

windows上安装miniforge和jupyterlab

1&#xff0c;下载miniforge3 GitHub - conda-forge/miniforge: A conda-forge distribution. 下载下来后傻瓜式安装就可以了 配置环境变量&#xff0c;在系统环境变量的path添加下列就行了&#xff0c;根据自己的路径修改 2&#xff0c;创建虚拟环境 conda create -n test …

layui实现表格根据数据来勾选已保存的数据

示例图 勾选一次保存后&#xff0c;每次进到查询都会看到被勾选的数据&#xff0c;代码如下&#xff1a; done: function(res, curr, count) {var groupId "[[${groupId}]]";$.ajax({url: //写后端获取数据的接口type: GET,success: function(data) {console.log(d…

ArcGIS常规操作-带你创建正确的空间数据库

ArcGIS常规操作-带你创建正确的空间数据库 ArcGIS一词在各行业中出现得越来越多&#xff0c;尤其在国土空间规划中&#xff0c;依赖大量GIS工具和技术的应用&#xff0c;ArcGIS成为了必备的技能之一。今天讲解一下ArcGIS的基础操作&#xff0c;让大家可以快速地上手ArcGIS&…

亮相CCIG2024,合合信息文档解析技术破解大模型语料“饥荒”难题

近日&#xff0c;2024中国图象图形大会在古都西安盛大开幕。本届大会由中国图象图形学学会主办&#xff0c;空军军医大学、西安交通大学、西北工业大学承办&#xff0c;通过二十多场论坛、百余项成果&#xff0c;集中展示了生成式人工智能、大模型、机器学习、类脑计算等多个图…

SQL问题的常用信息收集命令及解决思路 |OceanBase应用实践

面对SQL问题&#xff0c;大家的常用的分析思路是&#xff1a; 一、问题是否源于SQL本身&#xff1f;是的话需进行SQL调优。 二、SQL语句本身无误&#xff0c;但执行效果并未达到我们的预期效果。 检查当前的服务器负载状况&#xff0c;例如CPU利用率、内存占用、IO读写等关键…

敏感数据的授权和传输加密解决方案

需求背景&#xff1a;解决敏感数据的访问授权和安全传输。 KSP密钥管理系统结合USB Key实现CA证书签发的过程可以大致分为以下几个步骤&#xff1a; 1. 生成密钥对&#xff1a; 用户首先使用USB Key生成一对密钥&#xff0c;包括公钥和私钥。公钥用于加密和验证数字签名&…

教程来咯!如何在Windows10中设置代理IP?

很多用户在使用win10系统的时候&#xff0c;网络设置都是默认的&#xff0c;一般情况下代理服务器都是关闭的状态&#xff0c;而在一些特殊情况下&#xff0c;需要设置代理地址启动功能使用&#xff0c;有不少的用户不知道应该怎么进行设置添加&#xff0c;接下来就和各位用户们…

逍遥散人的“痛婚”,让《光夜》玩家悄悄破防了

网红博主的一场求婚&#xff0c;让《光与夜之恋》玩家破防了。 知名游戏博主逍遥散人发微博公布求婚成功&#xff0c;本来应该是一件喜事&#xff0c;但却因为求婚场景布满了《光与夜之恋》男主角之一陆沉的谷子&#xff08;周边&#xff09;&#xff0c;遭到了“6推”&#x…

AI知识库和Agent简介及实现

AI知识库和Agent简介及实现 引言 随着人工智能的发展&#xff0c;大规模预训练模型&#xff08;Large Pre-trained Models&#xff0c;简称大模型&#xff09;成为了AI领域的重要研究方向。大模型通过大量的数据训练&#xff0c;能够在各种任务中展现出强大的性能。本文将重点…

深入解析多维数组与主对角线元素之和

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;多维数组的奥秘 二、多维数组的基本概念 1. 定义与创建 2. 维度与形…

Downie 4 for Mac:视频下载的新选择

对于Mac用户来说&#xff0c;想要轻松下载网上的视频内容&#xff0c;Downie 4无疑是一个绝佳的选择。这款专为Mac打造的视频下载工具&#xff0c;凭借其强大的功能和简洁的操作界面&#xff0c;让视频下载变得轻松又高效。 Downie 4支持从众多网站下载视频&#xff0c;包括各…

秋招突击——算法——模板题——区间DP(1)——加分二叉树

文章目录 题目描述思路分析实现代码分析总结 题目描述 思路分析 实现代码 不过我的代码写的真的不够简洁&#xff0c;逻辑不够清晰&#xff0c;后续多练练吧。 // 组合数问题 #include <iostream> #include <algorithm>using namespace std;const int N 35; int…

FreeSwitch视频会议同时支持内网和外网接入

我们在使用freeswitch进行视频会议时&#xff0c;之前所有的用户都是通过外网的方式接入&#xff0c;因为fs给其返回的sdp协议内容里&#xff0c;只需要fs配置的外网IP就可以了&#xff1b;最近由于引入新的业务需要有其他内网的服务器也可以直接接入fs的视频会议房间&#xff…

v4l2抓取rv1126图像

0.准备工作 本文是基于正点原子的rv1126开发板使用mx415摄像头对不同节点的图像进行抓取 1.数据流向 图1 mx415采集到的数据为原始的拜尔格式&#xff08;也就是raw格式&#xff09;&#xff0c;我们需要通过isp进行图像的调节才符合视觉&#xff0c;其中isp和ispp是两个处理的…

zynq PS端 GPIO

记录一下PS端 GPIO 1. GPIO 简介 ZYNQ PS 中包含一组丰富的外设&#xff0c;用于和外部设备进行通信。ZYNQ 的 IO 包括对外连接的 GPIO 和内部 PS 与 PL 通信的 AXIO。其中对外的 GPIO 又分为两种&#xff1a;MIO 和 EMIO。 MIO 和 EMIO 只是 GPIO 信号的两种接口&#xff0c…

从零到一建设数据中台 - 数据可视化

从零到一建设数据中台(八)- 数据可视化 一、数据可视化大屏 数据可视化是借助于图形化手段,清晰有效地传达与沟通信息。 将一些业务的关键指标通过数据可视化的方式展示到一块或多块LED大屏上,以大屏为主要展示载体的数据可视化设计。 在数据可视化大屏构建过程中,为了…

排序(前篇)

1.排序的概念及其运用 2.插入排序的概念及实现 3.希尔排序的概念及实现 4.选择排序概念及实现 总代码&#xff08;对比各个排序在大量的数据情况排序所化的时间&#xff09;&#xff1a; 1.排序的概念及其运用 1.1排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使…