let _this = this;let data = [{list: [{colorNum: 0,endTime: "2019-10-10 00:00:00",item: "墙柱",quantity: 1960,startTime: "2019-10-08 00:00:00"}],plant: "墙柱"},{list: [{colorNum: 1,endTime: "2019-10-12 00:00:00",item: "楼面",quantity: 1960,startTime: "2019-10-09 00:00:00"}],plant: "楼面"},{list: [{colorNum: 2,endTime: "2019-10-10 00:00:00",item: "梁",quantity: 1960,startTime: "2019-10-08 00:00:00"}],plant: "梁"},{list: [{colorNum: 3,endTime: "2019-10-11 00:00:00",item: "吊模",quantity: 1960,startTime: "2019-10-09 00:00:00"}],plant: "吊模"},{list: [{colorNum: 4,endTime: "2019-10-10 00:00:00",item: "K版",quantity: 1960,startTime: "2019-10-08 00:00:00"}],plant: "K版"},{list: [{colorNum: 5,endTime: "2019-10-14 00:00:00",item: "盖板",quantity: 1960,startTime: "2019-10-11 00:00:00"}],plant: "盖板"},{list: [{colorNum: 6,endTime: "2019-10-13 00:00:00",item: "墙柱",quantity: 1960,startTime: "2019-10-12 00:00:00"}],plant: "墙柱"}];let start_ = "2019-10-08 00:00:00",end_ = "2019-10-14 24:00:00"; //自定义时间let seriesData = [];let yAxisData_plant = []; //工厂名
data.forEach((item, index) => {yAxisData_plant.push(item.plant);let bgColor;item.list.forEach((listItem, listIndex) => {switch (listItem.colorNum) {case 0:bgColor = "#9446FD";break;case 1:bgColor = "#5EBD3C";break;case 2:bgColor = "#169ADC";break;case 3:bgColor = "#4BE2DA";break;case 4:bgColor = "#F5C100";break;case 5:bgColor = "#FC677A";break;case 6:bgColor = "#FF8800";break;default:bgColor = "rgba(0,187,255,.4)";}let startTime = new Date(listItem.startTime).getTime();let endTime = new Date(listItem.endTime).getTime();seriesData.push({name: listItem.item,value: [index, startTime, endTime, listItem.quantity],itemStyle: {normal: {color: bgColor}}});});});let option = {// backgroundColor: "#26263C",
        tooltip: {formatter: function(params) {//console.log(params)return params.marker + params.name;}},grid: {top: 100,left: 150,right: 100,bottom: 50},xAxis: {type: "time",min: new Date(start_).getTime(),max: new Date(end_).getTime(),scale: true,position: "top",splitNumber: 7,axisLabel: {show: true,textStyle: {color: "#ffffff"},interval: 0,margin: 15,fontSize: 30,formatter: function(value, index) {var date = new Date(value);var texts = [date.getFullYear(),date.getMonth() + 1,date.getDate()].join("/");return texts;}},axisLine: {show: false},splitLine: {show: true,lineStyle: {color: "rgba(233,233,233,0.1)"}},axisTick: {lineStyle: {color: "#fff"}}},yAxis: {axisLine: {onZero: false,show: false},axisLabel: {show: true,textStyle: {color: "#ffffff"},fontSize: 30},splitLine: {show: true,lineStyle: {color: "rgba(233,233,233,0.1)"}},inverse: true,data: yAxisData_plant},series: [{type: "custom",renderItem: function(params, api) {var categoryIndex = api.value(0);var start = api.coord([api.value(1), categoryIndex]);var end = api.coord([api.value(2), categoryIndex]);var height = api.size([0, 1])[1] * 0.6;var rectShape = _this.$echarts.graphic.clipRectByRect({x: start[0],y: start[1] - 15,width: end[0] - start[0],height: 30},{x: params.coordSys.x,y: params.coordSys.y,width: params.coordSys.width,height: params.coordSys.height});return (rectShape && {type: "rect",shape: rectShape,style: api.style()});},encode: {x: [1, 2],y: 0},data: seriesData}]};let myChart = this.$echarts.init(this.$refs.ganttChart);myChart.setOption(option);window.onresize = function() {myChart.resize();};

转载于:https://www.cnblogs.com/cxf1992/p/11573161.html

vue echart甘特图相关推荐

  1. Vue Dhtmlxgantt甘特图/横道图 baselines 含(计划、实际时间对比)树形实例实现及部分扩展

    Vue Dhtmlxgantt甘特图/横道图 baselines 含(计划.实际时间对比)树形实例实现及部分扩展 背景: 需满足计划.实际时间对比需求,本人查看了很多文档和资料(对比了dhtmlxga ...

  2. vue 改变domclass_基于 vue 开发甘特图组件的心路历程(兼设计分享)

    语雀原文 有更好的排版体验~ 这篇文章主要讲述笔者开发 v-gantt 甘特图组件的经过. 起源 公司项目有个甘特图的需求. 笔者考察了世面上 常见的甘特图组件 后,本着 我上我也行 的心态,以及考虑 ...

  3. vue + element 甘特图

    参考地址:https://github.com/hql7/wl-gantt 安装:npm i wl-gantt --save 或 npm i wl-gantt -S 无需自定义时可用: 配置文件: i ...

  4. vue使用甘特图插件dhtmlx-gantt( 简单版)

    一. 文档地址 官方文档 使用html生成的图表,样式修改会容易的多 二. 引用方式 yarn install dhtmlx-gantt import { gantt } from 'dhtmlx-g ...

  5. 前端可排程的vue 排程甘特图

    话不多说 直接上图 结合全网的开源码,又根据echart 图 做出了前端可排程的vue 排程甘特图 首先要引入echart 模板 这里就不再赘述了 在这里插入图片描述 之后对它进行魔改 将横轴改为时间 ...

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

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

  7. 【Vue.JS】纯 Vue.js 制作甘特图

    效果图 在线预览 GitHub链接(包含 knockoutJS 版本与 Vue 版本) 推荐组合效果 推荐与双表头固定效果组合,实现如上例中横表头(日期)纵向固定,纵表头(类型)横向固定效果. 参照连 ...

  8. vue+echarts画甘特图

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

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

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

  10. vue甘特图(内网引入gantt-elastic以及源码扩展)

    前言:项目要求用甘特图展示计划的实施过程.之前用过dhtmlx,用着不是很舒服.又在网上看了jQueryGantt-master,wl-gantt-mater,gantt-elastic的大概源码,最 ...

最新文章

  1. ADO.NET连接数据库总结
  2. 壁纸引擎java运行库_Microsoft Windows Desktop Runtime v5.0.0 桌面程序运行库(含常规运行库)...
  3. React开发(150):判断方法有避免报错
  4. JavaWeb笔记:Html总结
  5. 2012总结--第10篇--工作篇
  6. 开源网店系统_做仿货国外网店系统被谷歌禁掉该怎么办?
  7. 优化数据库的思想及SQL语句优化的原则
  8. 查看SAP CRM和C4C的UI technical信息 1
  9. python好玩的代码-我珍藏的一些好的Python代码,技巧
  10. 笔记本电脑蓝牙设置开关消失不见的处理方法
  11. 炉石数据库以及django admin
  12. OSG智能指针---Referenced类
  13. 连接网络要求输入计算机密码是什么,上网时总是提示需要输入网络密码什么原因...
  14. 推荐一款跨平台视频播放器:ZY-Player
  15. 吃!吃!吃!(python)
  16. Springboot +AOP日志系统
  17. xlsx 导出 多级表头数据
  18. Mbus主机常用发送命令解析
  19. 教你如何禁用U盘、屏蔽USB端口的三种方法
  20. 2022年青龙面板部署完整版教程(多图)

热门文章

  1. c#绝对值函数图像_图像处理评价指标之模糊度、清晰度(待更新)
  2. 重定向与请求转发的区别
  3. C++ 把引用作为函数返回值
  4. MigrationSchemaMissing: Unableto createthe django_migrations
  5. solidity event是什么
  6. 安徽省计算机一级PDF,安徽省计算机一级考试试题 .pdf
  7. 基于springboot的家政服务网站
  8. combobox的method是get为什么发的请求是post_深入理解http get和post请求的区别,读完之后,大部分程序员收藏了...
  9. SpringMVC 整合Redis
  10. 聊聊我的 2018 年