位置: 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织梦去掉文档内链自动连接关键词的下划线(织梦的首页怎么换图片)

  • ipad和ipadair有什么区别(ipad和ipadair的区别2021)

    ipad和ipadair有什么区别(ipad和ipadair的区别2021)

  • ipad如何关闭wps副屏(iPad如何关闭软件自动更新)

    ipad如何关闭wps副屏(iPad如何关闭软件自动更新)

  • 系统miui12是安卓几

    系统miui12是安卓几

  • qq怎么设置名片背景免费自定义(qq怎么设置名片赞不可见)

    qq怎么设置名片背景免费自定义(qq怎么设置名片赞不可见)

  • 苹果蓝牙耳机音量大解决办法(苹果蓝牙耳机音质怎么调)

    苹果蓝牙耳机音量大解决办法(苹果蓝牙耳机音质怎么调)

  • 小米盒子卸载应用(小米盒子 卸载)

    小米盒子卸载应用(小米盒子 卸载)

  • cod16连不上服务器(cod16连接不到服务器)

    cod16连不上服务器(cod16连接不到服务器)

  • qq空间的照片模糊了怎么恢复(qq空间的照片模糊了怎么恢复清晰)

    qq空间的照片模糊了怎么恢复(qq空间的照片模糊了怎么恢复清晰)

  • oppo手机声音突然变小是什么原因(Oppo手机声音突然很低是什么原因)

    oppo手机声音突然变小是什么原因(Oppo手机声音突然很低是什么原因)

  • 同一个微信号怎么迁移聊天记录(同一个微信号怎么登录两个微信)

    同一个微信号怎么迁移聊天记录(同一个微信号怎么登录两个微信)

  • 带耳机有电流声怎么办手机(带耳机有电流声音怎么回事)

    带耳机有电流声怎么办手机(带耳机有电流声音怎么回事)

  • 苹果XR系列和苹果11系列区别(苹果xr与苹果)

    苹果XR系列和苹果11系列区别(苹果xr与苹果)

  • 手环屏幕不亮什么情况(手环屏幕不亮屏幕出问题怎么解决)

    手环屏幕不亮什么情况(手环屏幕不亮屏幕出问题怎么解决)

  • 微信怎么充qq钱包(怎样用微信充qq钱包)

    微信怎么充qq钱包(怎样用微信充qq钱包)

  • 数据模型是什么(数据模型是什么的核心)

    数据模型是什么(数据模型是什么的核心)

  • 手机上的照片如何重改名称(手机上的照片如何压缩大小)

    手机上的照片如何重改名称(手机上的照片如何压缩大小)

  • ip协议的两个版本(ip协议种类)

    ip协议的两个版本(ip协议种类)

  • 联想笔记本win10怎么进入bios(联想笔记本win10系统)

    联想笔记本win10怎么进入bios(联想笔记本win10系统)

  • ipad2声音小怎么解决(ipad2020声音小)

    ipad2声音小怎么解决(ipad2020声音小)

  • 淘宝无需物流算销量吗(淘宝无需物流算快递吗)

    淘宝无需物流算销量吗(淘宝无需物流算快递吗)

  • 备忘录可以重命名吗(备忘录重命名)

    备忘录可以重命名吗(备忘录重命名)

  • 手机一直关机怎么找人(手机一直关机怎么给别人交代)

    手机一直关机怎么找人(手机一直关机怎么给别人交代)

  • 二类卡能绑微信吗(微信身份证证件在哪里)

    二类卡能绑微信吗(微信身份证证件在哪里)

  • 苹果6p电池容量(苹果14的电池容量)

    苹果6p电池容量(苹果14的电池容量)

  • vivox27怎么开启快充(vivox27手机怎么设置)

    vivox27怎么开启快充(vivox27手机怎么设置)

  • windows10截图键是哪一个(windows10截图键是哪个)

    windows10截图键是哪一个(windows10截图键是哪个)

  • 当当网如何更换手机号(当当网怎么换货)

    当当网如何更换手机号(当当网怎么换货)

  • Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

    Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

  • 商贸的增值税税率
  • 企业所得税不预缴年终汇算可以吗
  • 结转完工产品生产成本会计科目
  • 递延收益负债类科目
  • 进口货物的应纳增值税
  • 知道增值税如何计算开票金额
  • 土地结转会计分录是什么
  • 跨年主营业务成本直接冲回可以吗
  • 工会经费怎样申报
  • 企业成立股东没有实际出资分录怎么写?
  • 固定资产的发票
  • 未认缴出资的股东退股
  • 不动产租赁异地预缴需要携带什么
  • 6%的增值税专用发票怎么开
  • 建筑施工企业印花税计税依据
  • 文化传媒行业会计
  • 酱菜税率是多少
  • 海关完税凭证抵扣税率
  • 物业收租金必须要发票吗
  • 成本费用率偏低
  • 小规模纳税人购买货物怎么入账
  • 新企业残保金免交三年超过30人
  • 酒店客房收入怎么算
  • wind10激活密钥
  • 怎么进入登录
  • 税盘的服务费
  • linux系统用法
  • 反射调用set方法
  • 查补以前年度所得税如何申报
  • 新准则规定
  • php输出姓名
  • thinkphp登录验证
  • 工程竣工决算会计账务处理
  • 详解php处理字符的方法
  • 企业非流动资产占比多说明什么
  • javaweb知识点汇总
  • web核心的三个标准
  • ls -all命令
  • 出口会计分录该怎么写
  • 怎么填专项扣除
  • 企业给企业借款收入会计处理
  • 增值税专用发票丢了怎么补救
  • 2.MyBatis
  • java替换集合的元素
  • 公司还款给个人怎么操作
  • python输出inf
  • 织梦cms怎么样
  • 分公司从总公司进货不开票违法吗
  • 不在经营范围内经营违反了什么法
  • 企业贴现会计分录
  • 外商投资有限合伙企业
  • 债券收益可以表现为三种形式
  • 公司注销后如何起诉他人
  • 建筑行业会计怎么样,有前景吗
  • 财产保险的金额
  • 金税盘里显示有报税资料怎么处理
  • sql基础问题
  • 在SQL查询中使用WHERE子句指出的是
  • solaris vi命令
  • win10系统中怎么安装安卓应用
  • pax是什么文件
  • win8超级按钮在哪
  • win7无法安装怎么办
  • win8 应用商店
  • 磁盘分区右键是灰色的
  • cocos2dx怎么用啊
  • Javascript HTML5 Canvas实现的一个画板
  • javascript程序代码
  • jquery实现
  • 给a标签加css的伪类
  • python入门后学什么
  • js获取时间精确到毫秒
  • JavaScript浏览器插件制作
  • u3d地形编辑贴图
  • 一个超简单的纸飞机
  • 员工离职了个人所得税年度汇算应申报未申报怎么处理
  • 公寓土地增值税30%-60%阶梯税
  • 如何认真贯彻落实中央八项规定,切实改进工作作风
  • 个体工商户怎样交税
  • 深圳市龙华区企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设