甘特图

  • 工单甘特图
    • 写出来后的效果
  • 直接上代码
    • 有看不懂的可以联系

工单甘特图

最近项目需要工单的甘特图,所以上echarts官网搜了一遍没有关于甘特图的案例,于是自己动手写了一个甘特图,当然 ,一部分是从各个网站拆分过来的,最后组成了自己的工单甘特图。

写出来后的效果

直接上代码

<template><el-card class="box-card"><div slot="header" class="clearfix"><i style="font-size: 20px;">工单甘特图</i><div class="grol"><div style="display: inline-block;background: #f6071c;" class="man"></div> 小于3天<div style="display: inline-block;background: #faa019" class="man"></div> 小于5天<div style="display: inline-block;background: #0aeabc;" class="man"></div> 大于4天</div></div><div style="text-align: center"><div id="renwu" style="width: 100%;height: 650px">任务进度</div></div></el-card>
</template><script>
import * as echarts from 'echarts'
export default {name: 'TaskProgress',data() {let projectItem = ['任务一','任务二','任务三','任务四','任务五', '任务六'],projectItemStart = ['2021-01-01 12:32:09','2021-01-02 12:32:09','2021-01-10 12:32:09','2021-01-14 12:32:09','2021-01-03 12:32:09','2021-01-18 12:32:09'],projectItemEnd = ['2021-01-03 10:32:09','2021-01-12 06:32:09','2021-01-16 16:32:09','2021-01-17 15:32:09','2021-01-09 16:32:09','2021-01-23 18:32:09'];let projectItemStartValue = projectItemStart.map((item)=>{return new Date(item).valueOf() // 在这把日期转换成数字})let projectItemDuringValue = projectItemEnd.map((item,i)=>{return new Date(item).valueOf()-projectItemStartValue[i]})let dateMin = projectItemStartValue[0];return {option3: {title: {subtext: '任务日期'},tooltip: {trigger: 'axis',formatter: function (params) {const tar = params[1];let start;let enDate;for (let i=0; i<projectItem.length; i++){if (tar.axisValue === projectItem[i]){start=projectItemStart[i];enDate=projectItemEnd[i];}}return tar.name + '<br/>' +tar.seriesName + ' : ' + Math.round(tar.value/(1000*60*60*24))+'天'+'<br/>'+'开始:'+start+'<br/>'+'结束:'+enDate;}},grid: {left: '3%',right: '4%',bottom: '15%',containLabel: true},yAxis: {type: 'category',splitLine: {show: false},data: projectItem},xAxis: {type: 'value',min: dateMin,axisLabel: {color: '#333', // 坐标轴文字颜色formatter: function (param) {let date = new Date(param);let dateLabel = date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate(); //x轴显示的日期格式return dateLabel;}}},series: [{name: 'Placeholder',type: 'bar',stack: 'Total',itemStyle: {borderColor: 'transparent',color: 'transparent'},emphasis: {itemStyle: {borderColor: 'transparent',color: 'transparent'}},data: projectItemStartValue},{name: '周期',type: 'bar',stack: 'Total',barWidth: '30%',itemStyle:{normal: {color: function (params) {var dater = params.data/(1000*60*60*24)//自定义颜色let number ;if(dater < 3){number=0}else if (dater < 5){number = 1}else {number=2}const colorList = ['#f6071c', '#faa019', '#0aeabc'];return colorList[number]}}},data: projectItemDuringValue}]}}},mounted() {// 基于准备好的dom,初始化echarts实例setTimeout(() => {let chartDom = document.getElementById('renwu')let myChart = echarts.init(chartDom)// 绘制图表myChart.setOption(this.option3)}, 400)}}
</script><style scoped>
.grol{text-align: right;float: right;margin-right: 10%
}
.man{width: 40px;height: 17px;margin-left: 10px;
}
</style>

有看不懂的可以联系

还是那句话为中华人民服务。

微信:mayir_1

echarts甘特图相关推荐

  1. echart 时间滚动_基于 ECharts 封装甘特图并实现自动滚屏

    项目中需要用到甘特图组件,之前的图表一直基于 EChart 开发,但 EChart 本身没有甘特图组件,需要自行封装 经过一番鏖战,终于完成了... 我在工程中参考 v-chart 封装了一套图表组件 ...

  2. ECharts画分类甘特图

    项目最近做任务排产,需要绘画甘特图,并且每两份一组,做了一个JQuery快速做了POC,实现了大部分功能,后来持续开发,做到了划定当前时间,任务多了后固定左侧列和顶部坐标轴行等等. 分享博客的话就简单 ...

  3. echarts实现甘特图

    效果如下图:y轴为餐桌编号,x轴为客人预订的时间: 以8号餐桌为例,甘特数据为阴影部分,表示不同时间段客人用餐占用的时间.如果时间段有交集则说明有时间冲突,应做时间调整. vue 部分代码: < ...

  4. vue+echarts画甘特图

    vue项目中添加echarts,只需要增加echarts依赖,然后在main.js中引入echarts就可以使用了. 1.npm install echarts --save 2.修改main.js ...

  5. Vue 中使用 Echarts 实现项目进度甘特图

    Vue 中使用 Echarts 实现项目进度甘特图 参考:echarts实现甘特图(项目进度/任务进度) 简易版 1. 项目中安装 echarts npm i echarts 2. 实现甘特图 < ...

  6. 使用 Echarts 实现项目进度甘特图

    Echarts 功能十分强大,可以实现多种图表效果,下面简单介绍下最近使用 Eharts 实现的一个项目进度甘特图. 下面是实现的效果: 目录 一.概览 Echarts 基本内容 1.官网文档 2.查 ...

  7. echarts gantt甘特图示例

    甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目.进度和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·劳伦斯·甘特(Henry L ...

  8. Echarts之甘特图type: ‘custom‘参数详解

    甘特图 const groupData = XEUtils.groupBy(data, "eqpName"); //分组后的数据 const yAxisData = Object. ...

  9. 使用Highcharts来画一个简易的甘特图

    前端组件 – 甘特图 由于在项目中需要画一个基于时间的对比甘特图,但缺乏前端知识,便在网上寻找相关插件或者已有代码. 文章目录 前端组件 -- 甘特图 前言 一.Highcharts? 二.使用 1. ...

  10. 如何在前端实现甘特图?SpreadJS两招搞定

    SpreadJS v14.0正式版下载 如果一个项目由多个任务组成,而任务之间又有关联,我们该怎样准确的显示项目整体进度呢? 使用甘特图,应该是最好的方式. 甘特图,不仅能够让管理者实时有效的掌握项目 ...

最新文章

  1. spring-amqp生产者手动ACK
  2. 萤火虫算法_智能优化算法萤火虫算法
  3. [机器学习] XGBoost 自定义损失函数-FocalLoss
  4. console类详细解释
  5. flash不能访问本地文件
  6. JavaScript:改变li前缀图片和样式
  7. php tp3 操作绑定到类,操作绑定到类 · ThinkPHP3.2.3完全开发手册 · 看云
  8. 个人的博客搭建(持续更新)
  9. 从RGB扫描图到数字化等高线矢量图
  10. 前端—每天5道面试题(1)
  11. pytorch: MaxUnpool2d 与 Upsampling
  12. 极客大学产品经理训练营 产品文档和原型 第7课总结
  13. 操作系统课程设计——文件系统
  14. 【fiddler抓包修改订单金额】
  15. 智能晾衣器全国产化电子元件推荐方案
  16. Effective C++ 读书笔记(五)
  17. 照片上传分辨率低怎么改?图片分辨率dpi怎么调?
  18. html背景图片纵向缩小,css怎么把背景图片缩小?
  19. linux编译安装openssl3.0.7
  20. linux - CP命令

热门文章

  1. 证书错误 SSLCertVerificationError
  2. 一个基于WinHttp的轻量级的分片下载库介绍
  3. linux命令中 root@ubuntu:/# 与 root@ubuntu:~# 区别
  4. seo入门最重要的是什么?
  5. 《Java并发编程的艺术》-方腾飞、魏鹏、程晓明
  6. 国美易卡的标识符和关键字是什么(国美易卡)
  7. 强大的合成器微信小程序源码支持视频,gif动态证件照等等几十种功能
  8. verilog 四舍五入_Verilog进行饱和与截位操作
  9. JVM-深入理解JVM内存模型、类加载机制、内存分配机制
  10. 大数据简介、Hadoop 起源以及 Google 三大论文介绍