位置: IT常识 - 正文

vue 甘特图 一行多条任务 可拖拽(基于vue的开源甘特图控件)

编辑:rootadmin
#1、安装 highcharts npm install highcharts --save #2、页面引用 // 引入 import Highcharts from 'highcharts/highcharts-gantt.src.js' // 引入拖拽 import factory from ' ... 1、安装 highchartsnpm install highcharts --save2、页面引用// 引入import Highcharts from 'highcharts/highcharts-gantt.src.js'// 引入拖拽import factory from 'highcharts/modules/draggable-points.js'factory(Highcharts)3、封装组件<!-- * @Descripttion: 新甘特图 * @version: 0.0.1 * @Author: PengShuai * @Date: 2023-01-12 13:20:44 * @LastEditors: PengShuai * @LastEditTime: 2023-02-01 15:00:55--><template> <div class="BaseNewGantt"> <div id="container"></div> </div></template><script>import Highcharts from 'highcharts/highcharts-gantt.src.js'import factory from 'highcharts/modules/draggable-points.js'factory(Highcharts)export default { name: 'BaseNewGantt', data() { return { isShow: true, tableConfig: [], } }, props: { // 甘特图配置 ganttConfig: { type: Object, default: () => { return { data: [], columnsConfig: [], } }, }, }, mounted() {}, methods: { // 页面初始化 init() { Highcharts.setOptions({ global: { useUTC: false, // 不使用utc时间 }, // 默认都是英文的,这里做了部分中文翻译 lang: { noData: '暂无数据', months: [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', ], shortMonths: [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', ], weekdays: ['日', '一', '二', '三', '四', '五', '六'], buttons: [ { type: 'month', count: 1, text: '月' }, { type: 'month', count: 3, text: '季度' }, { type: 'month', count: 6, text: '半年' }, { type: 'ytd', text: 'YTD' }, { type: 'year', count: 1, text: '年' }, { type: 'all', text: '所有' }, ], rangeSelectorZoom: '范围', }, }) this.getGantt() }, getGantt() { const _this = this const day = 1000 * 60 * 60 * 24 const map = Highcharts.map // 获取数据源 let series = this.ganttConfig.data // 左侧表格配置 this.columnsConfig = [] if (this.ganttConfig.tableConfig.length > 0) { this.ganttConfig.tableConfig.forEach((item) => { let obj = { title: { text: item.title, }, categories: map(series, function (s) { return s[item.labels] }), } this.columnsConfig.push(obj) }) } Highcharts.ganttChart('container', { plotOptions: { series: { animation: true, dragDrop: { draggableX: true, // 是否横向拖动 draggableY: false, // 是否纵向拖动 dragPrecisionX: day, }, dataLabels: { enabled: true, format: '{point.title}', style: { cursor: 'default', opacity: _this.isShow ? 0 : 1, pointerEvents: 'none', }, }, allowPointSelect: true, point: { events: { dragStart: _this.onDragStart, drag: _this.onDrag, drop: _this.onDrop, select: _this.onHandleSelect, }, }, }, }, yAxis: { type: 'category', grid: { enabled: true, borderColor: 'rgba(0,0,0,0.3)', borderWidth: 1, columns: _this.columnsConfig, }, }, xAxis: [ { currentDateIndicator: true, grid: { borderWidth: 1, // 右侧表头边框宽度 cellHeight: 0, // 右侧日期表头高度 }, labels: { format: '{value:%d}日', }, }, { labels: { format: '{value:%Y年-%m月}', }, }, ], // 提示信息 tooltip: { formatter: function () { return `<div> ${this.point.title}<br/> 开始时间: ${_this.$library.common.formatDate( new Date(this.point.start), 'YYYY-MM-DD', )}<br/> 结束时间: ${_this.$library.common.formatDate( new Date(this.point.end), 'YYYY-MM-DD', )}<br/> </div>` }, }, navigator: { enabled: true, series: { type: 'gantt', pointPlacement: 0.5, pointPadding: 0.25, }, yAxis: { min: 0, max: 6, reversed: true, categories: [], }, }, series: series, // 显示滚动条 scrollbar: { enabled: true, }, // 顶部筛选按钮 rangeSelector: { enabled: true, selected: 0, buttons: [ { type: 'month', count: 1, text: '月' }, { type: 'month', count: 3, text: '季度' }, { type: 'month', count: 6, text: '半年' }, { type: 'ytd', text: 'YTD' }, { type: 'year', count: 1, text: '年' }, { type: 'all', text: '所有' }, ], }, // // 去掉右下角版权信息 credits: { enabled: false, }, }) }, // 拖动开始 onDragStart(e) {}, // 拖动 onDrag(e) {}, // 拖动停止 onDrop(e) { this.$emit('onDragStop', e.target.options) }, // 选择事件 onHandleSelect(e) { this.$emit('onHandleSelect', e.target.options) console.log(e) }, // 是否显示标题 onShowTitle() { // 标题过长 隐藏 更改文字透明度 this.isShow = !this.isShow // 重新加载 this.getGantt() }, },}</script><style lang="less" scoped>.BaseNewGantt { height: calc(100% - 70px); overflow: auto;}</style>4、组件使用<base-gantt ref="gantt" :ganttConfig="ganttConfig" @onDragStop="onDragStop" @onHandleSelect="onHandleSelect"></base-gantt>

推荐整理分享vue 甘特图 一行多条任务 可拖拽(基于vue的开源甘特图控件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue 甘特图 一行 多个,vue甘特图实例,vue使用甘特图,vue 甘特图 一行 多个,vue 甘特图 一行 多个,甘特图一行上显示多个时段,vue 甘特图 一行 多个,vue甘特图实例,内容如对您有帮助,希望把文章链接给更多的朋友!

vue 甘特图 一行多条任务 可拖拽(基于vue的开源甘特图控件)

data中配置

// 甘特图配置 ganttConfig: { // 数据源 data: [], // 左侧表格列配置 tableConfig: [ { title: '设备名称', labels: 'machineName', }, { title: '设备编码', labels: 'machineNo', }, ], },

事件

// 拖动停止onDragStop(option) {},// 甘特图选中onHandleSelect(option) { this.selectGanttRowData = option},5、实例

6、官网地址

https://www.hcharts.cn/演示地址https://www.hcharts.cn/demo/gantt

本文链接地址:https://www.jiuchutong.com/zhishi/311949.html 转载请保留说明!

上一篇:织梦后台直接添加会员功能开发方法(织梦怎么建站)

下一篇:dedecms织梦去掉文档内链自动连接关键词的下划线(织梦的首页怎么换图片)

  • 女子跨年夜捡烟花废品赚552元 一晚上捡了920斤:网友叹服人勤劳怎么都赚钱

    女子跨年夜捡烟花废品赚552元 一晚上捡了920斤:网友叹服人勤劳怎么都赚钱

  • 东方航空电话是多少人工客服态度如何

    东方航空电话是多少人工客服态度如何

  • qq群课堂怎么开麦(qq群课堂怎么开视频聊天)

    qq群课堂怎么开麦(qq群课堂怎么开视频聊天)

  • 微信看删除好友(微信看删除好友怎么看)

    微信看删除好友(微信看删除好友怎么看)

  • gpp卡贴弹窗跳不出来怎么办(gpp卡贴怎么弹窗)

    gpp卡贴弹窗跳不出来怎么办(gpp卡贴怎么弹窗)

  • 撤销退款申请按钮没了(撤销退款申请按钮)

    撤销退款申请按钮没了(撤销退款申请按钮)

  • 取消撤回按哪个键(关闭撤回功能)

    取消撤回按哪个键(关闭撤回功能)

  • 知乎永久禁言可以让管理员解封吗(知乎永久禁言可以恢复吗)

    知乎永久禁言可以让管理员解封吗(知乎永久禁言可以恢复吗)

  • 华为mate30无线快充怎么使用(华为mate30epro无线)

    华为mate30无线快充怎么使用(华为mate30epro无线)

  • 戴尔强制重启快捷键(戴尔如何强制重启)

    戴尔强制重启快捷键(戴尔如何强制重启)

  • 抖音小店开通条件(抖音小店开通条件及保证金)

    抖音小店开通条件(抖音小店开通条件及保证金)

  • 小米手环4上市时间(小米8手环功能介绍)

    小米手环4上市时间(小米8手环功能介绍)

  • 数据线里面的4种颜色的线分别是(数据线里面的4种蓝白绿棕)

    数据线里面的4种颜色的线分别是(数据线里面的4种蓝白绿棕)

  • 分屏如何同时播放两个视频(分屏播放)

    分屏如何同时播放两个视频(分屏播放)

  • m1903c3ee小米什么型号(小米m1903c3et)

    m1903c3ee小米什么型号(小米m1903c3et)

  • 微信群链接多久失效(微信群链接发多了会封号吗)

    微信群链接多久失效(微信群链接发多了会封号吗)

  • 荣耀8x上市价格(荣耀8x刚出来的价格)

    荣耀8x上市价格(荣耀8x刚出来的价格)

  • 电脑连上wifi却上不了网(电脑连上wifi却上不了网怎么办)

    电脑连上wifi却上不了网(电脑连上wifi却上不了网怎么办)

  • 淘宝里的商品如何点赞(淘宝上产品步骤)

    淘宝里的商品如何点赞(淘宝上产品步骤)

  • 快手私密作品怎么解除(快手私密作品怎么改音乐)

    快手私密作品怎么解除(快手私密作品怎么改音乐)

  • 电脑运行一会自动重启(电脑运行一会自动关机怎么回事)

    电脑运行一会自动重启(电脑运行一会自动关机怎么回事)

  • 微信怎么扫码坐公交车(微信怎么扫码坐地铁成都)

    微信怎么扫码坐公交车(微信怎么扫码坐地铁成都)

  • r17有没有nfc功能(oppo带不带nfc功能)

    r17有没有nfc功能(oppo带不带nfc功能)

  • mt762ch/a是什么版本(型号mt762ch/a)

    mt762ch/a是什么版本(型号mt762ch/a)

  • 清晰度3mp是什么意思(清晰度1080p和3mp什么意思)

    清晰度3mp是什么意思(清晰度1080p和3mp什么意思)

  • 飞猪旅行怎么投诉(飞猪旅行怎么联系客服)

    飞猪旅行怎么投诉(飞猪旅行怎么联系客服)

  • 土豆下载的视频在手机哪个文件夹(土豆下载的视频在哪个文件夹)

    土豆下载的视频在手机哪个文件夹(土豆下载的视频在哪个文件夹)

  • 最多光圈叶片的镜头是什么(哪个光圈值最大)

    最多光圈叶片的镜头是什么(哪个光圈值最大)

  • esxcfg-advcfg命令  配置主机(ech命令)

    esxcfg-advcfg命令 配置主机(ech命令)

  • 福建税务网上办税流程
  • 公司税务注销流程是否要不发生业务多久
  • 计提存款利息
  • 购房发票是不是增值税
  • 房地产开发企业预收款预缴增值税
  • 免费更换配件如何做账
  • 折旧四种方法
  • 红字发票是否需要写进出仓单里
  • 工伤费用的伤残补助金属于福利费吗
  • 违约金没有发票
  • 当月认证的发票可以当月抵扣吗
  • 免税收入的财税处理
  • 地税评为d级纳税人是指
  • 民间非营利组织有哪些
  • 代收国税地税收入
  • 印花税征税范围包括所有合同
  • 个人取得的拍卖资格
  • 施工企业工作流程
  • 卖废品收入没开票怎么办
  • 2018新个税
  • 分公司向总公司转钱可以吗
  • 前期投资费用怎么做账
  • 库存商品结转会计分录
  • 存出保证金的核算内容
  • winds10企业版
  • 附有退货权商品是什么
  • 进程process.acore已停止怎么办
  • 免税有那些
  • 分配水电费会计分录需要写税吗?
  • 施工单位老板
  • 现金流量表补充资料怎么理解
  • 企业出售生产设备能开票吗怎么开
  • 货币盘盈盘亏账怎么算
  • 小规模纳税人研发费用加计扣除优惠政策
  • mongodb管道操作符
  • 小规模附加税减免政策2023
  • 财务报表申报错误情况说明范文
  • sql中order by 1
  • 应交税费企业所得税科目
  • 企业享受政府补贴的具体方式
  • 非营利组织增值税怎么处理
  • 国有集体企业是国企吗
  • 检查sqlserver是否安装完成
  • 企业管理费用科目期末一般是
  • 现金流量明细分类
  • 物业公司水费差额征税如何申报
  • 融资租赁会计处理实例承租人
  • 什么叫应纳税额六年级下册
  • 老板从公司借款怎么处理
  • 永续债的清偿顺序是什么
  • 多交增值税不能抵扣
  • 设置账簿的依据
  • mysql批量添加字段
  • 2021图解
  • win8cp
  • linux系统要求配置
  • ghost后恢复数据
  • 怎么调用windows api
  • win7如何格式化D盘
  • win10 edge浏览器怎样添加信任站点
  • 晚上睡觉艾草贴肚脐
  • jquery通过扩展select控件实现支持enter或focus选择的方法
  • 高级控件动态数据加载过程有哪些
  • python 简单例子
  • javascript按位与
  • 如何解决eclipse非正常关闭重打开编译代码
  • 批处理压缩
  • unityugui
  • python中os模块有什么作用
  • python django orm
  • 美国对中国纺织服装关税
  • 02112366电子税务局
  • 电子发票版式文件生成失败怎么办
  • 广东省国家税务总局官网
  • 常州国家税务局待遇
  • 稳岗补贴是否需在企业所得税汇算时调增
  • 扬州地方税务局在哪
  • 珠宝消费税怎么计算出来的
  • 税务稽查局工资高吗
  • 年终奖怎么报个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设