jQuery甘特图/日程图/横道图/插件

摘要:
data.itemName:"";varseriesName=data.seriesName?data.seriesName:"";vartext=data.text?data.text:"";varsYYYY=data.start.getYear();sYYYY=sYYYY˂1000?

基于JQ的一款灵活高效,支持自定义拓展的甘特图/日程图插件

支持月/周/小时等显示方式 支持拖动改变时间 展开与收起 添加/删除,刷新 节假日高亮 clicked,dblClicked,changed事件 ...

jQuery甘特图/日程图/横道图/插件第1张

jQuery甘特图/日程图/横道图/插件第2张

jQuery甘特图/日程图/横道图/插件第3张

jQuery甘特图/日程图/横道图/插件第4张jQuery甘特图/日程图/横道图/插件第5张

调用方式:

$("#ganttChart").ganttView({
            ganttScale: "hours",// months  weeks days  hours
            showWeekends: true, //是否现在周末高亮
            showLine: true,//是否显示 当前时间线(为"周"时显示背景颜色)
            data: ganttData2, //数据来源
            vtHeaderWidth: 300,//左侧任务模块宽度
            cellWidth: 50, //格子宽度(ganttScale = hours/weeks:宽度重新计算 最小为50)
            cellHeight: 40,//格子行高
            titileHeight: 40,//标题行高
            start: new Date(2019, 06, 14), //范围最小时间(请根据 ganttScale 参数调节初始时间范围)
            end: new Date(2019, 06, 20), //范围最大时间
            slideWidth: '100%',//甘特图宽度
            excludeWeekends: true,//排除星期的最后一天
            showDayOfWeek: true,//是否显示星期
            showHolidays: false,//显示节假日
            excludeHolidays: false,//排除节假日
            gridHoverL:true,//是否显示鼠标移入效果(列)
            gridHoverH:true,//是否显示鼠标移入效果(行)
            isUnfold:true,//模块下任务超过2条 显示展开收起按钮
            unfoldConfig:false,//初始化展开/收起(模块下任务超过2条 显示展开收起按钮) true:收起
            clicked: function (o) {
                selectedObj = o;
                var data = selectedObj.data('block-data');
                var itemName = data.itemName ? data.itemName : "";
                var seriesName = data.seriesName ? data.seriesName : "";
                var text = data.text ? data.text : "";
                var sYYYY = data.start.getYear();
                sYYYY = sYYYY < 1000 ? sYYYY + 1900 : sYYYY;
                var sMM = data.start.getMonth() + 1;
                var sDD = data.start.getDate();
                var eYYYY = data.end.getYear();
                eYYYY = eYYYY < 1000 ? eYYYY + 1900 : eYYYY;
                var eMM = data.end.getMonth() + 1;
                var eDD = data.end.getDate();
                $('#ganttData-item-id').val(data.itemId);
                $('#ganttData-item-name').val(itemName);
                $('#ganttData-series-id').val(data.seriesId);
                $('#ganttData-series-name').val(seriesName);
                $('#ganttData-series-start').val(sYYYY + "/" + sMM + "/" + sDD);
                $('#ganttData-series-end').val(eYYYY + "/" + eMM + "/" + eDD);
                $('#ganttData-series-text').val(text);
                console.log(`${data.itemId} ${itemName} ${data.seriesId} ${seriesName} ${sYYYY + "/" + sMM + "/" + sDD} ${eYYYY + "/" + eMM + "/" + eDD}`)
            },

            dblClicked: function (o) {
                if (selectedObj == null) { return; }
                if (selectedObj.data('block-data').seriesId == o.data('block-data').seriesId) {
                    $('#ganttData-reset').trigger("click");
                }
            },
            changed: function (o) {
                o.trigger("click");
            }
  });

插件地址:https://github.com/WalkerHJ/GanttView

注意事项:

  • 支持月,周,小时
  • 选择月时,注意调整start/end时间(时间月份默认从0开始)
  • 选择周/小时,插件自动忽略年份与月份
  • 插件支持模块下任务超过2条数据自动显示展开/收起按钮
  • 插件支持节假日Holidays表格高亮,excludeHolidays:true
  • cellWidth表格宽度(ganttScale = hours/weeks:宽度重新计算 最小为50) 避免未撑满整个屏幕
  • showLine是否显示当前时间节点(小时为线条展示,周/月为表格高亮)
  • 关于版本问题(jquery-ui-1.8.2/jquery-1.4.2)JQ版本可为高版本,JQ-ui版本暂不支持高版本
  • 图表上所有样式可自定义或取消

免责声明:文章转载自《jQuery甘特图/日程图/横道图/插件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pm2用法详解+ecosystem.configVS2019 技巧下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件

jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使用方法,这个组件依赖于 DataGrid(数据表格)组件。 一.加载方式 建立一个 JSON 文件 [ { "id": 1,...

20 个非常棒的jQuery内容滑动插件

Wow SliderWOW Slider是一款小巧易用的网页滑块设计。该软件内置大量的模版和工具,让你轻松设计出完美的视觉效果。他还可以帮助用户在短时间内创造出梦幻般的滑块,而无需编码和图像编辑,是很不错的图像滑块设计工具。 Nivo Slider Nivo Slider是一款出色的jQuery幻灯片插件,支持多种切换效果,可定制性强. Simple...

React和Jquery比较

Jquery的工作方式: 假如你需要给一个按扭添加一个点击事件。 首先根据CSS规则找到对应的dom元素,挂上一个匿名事件处理函数,在事件处理函数中,选中那个需要被修改的DOM元素,读取他的文本值,加以修改,然后修改这个dom元素。 优点:直观易懂。缺点:对于庞大的项目,会造成代码结构复杂,难以维护。 React的工作理念:   打一个比方, Rea...

jquery EasyUi 添加节点、展开所有节点、默认选中第一个节点

感觉easyUi 的树用起来不如 Ext 的树方便,首先,root节点不太好自定义, 异步加载时,只能通过后台判断生成root节点,但是这样一来有一个问题,就是第一次访问界面时, 树的初始化比较慢,大概会有一秒左右的时间,树是空白的,虽然只有一秒左右的时间,但是对于我来说是没有办法容忍的,所以,我是用 ajax 的方法通过append 将子节点加入进去,然...

使用jquery实现文本框输入特效:文字逐个显示逐个消失反复循环

        前两天看到某个网站上的输入框有个小特效:文字逐个显示,并且到字符串最大长度后,逐个消失,然后重新循环显示消失,循环显示字符串数组。我对这个小特效有点好奇,于是今天自己尝试用jquery写一个简单的小demo,终于把效果整出来了。首先看一下实现后的效果: 接下来上代码。 <!DOCTYPE html> <html lan...

jQuery kxbdMarquee 无缝滚动

转:http://code.ciaoca.com/jquery/kxbdmarquee/ <marquee> 曾是 IE 下独有的一个走马灯效果的标签,其他浏览器并不兼容,于是出现了使用 JavaScript 来模拟该效果的插件。 版本:jQuery v1.3.2+ 下载 jQuery kxbdMarquee 查看 Demo   使用方法...