dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。它允许你创建动态甘特图,并以一个方便的图形化方式可视化项目进度。有了dhtmlxGantt,你可以显示活动之间的依赖关系,显示具有完成百分比阴影的当前任务状态以及组织活动到树结构。
dhtmlxGantt试用版
导出到MS Project
甘特组件允许将链接,任务和资源导出到MS Project中。
要将数据从甘特图导出到MS Project,请执行以下操作:
- 在页面上包含“ https://export.dhtmlx.com/gantt/api.js”文件以启用在线导出服务:
<script src="codebase/dhtmlxgantt.js"></script><script src="https://export.dhtmlx.com/gantt/api.js"></script> <link rel="stylesheet" href="codebase/dhtmlxgantt.css" type="text/css">
- 调用exportToMSProject方法以从甘特图导出数据。
gantt.exportToMSProject();
该方法将向远程服务发送请求,该服务将输出XML Project文件或返回url以下载生成的文件。
响应
响应将包含以下结构的JSON:
{ data: {}, config: {}, resources: [], worktime: {}}
- 数据-甘特数据对象。每个任务具有以下属性:id,open,parent,progress,start_date,text,resource。日期以“%Y-%m-%d%H:%i”格式进行字符串化。
- 配置-甘特配置有从项目文件中检索设置对象。
- resources-资源的数组(代表每个对象具有以下属性:{ id:字符串,name:string,type:string }),它们表示项目文件中的资源列表。
- 工作时间-包含从项目日历的工作时间设置的对象。
汇出设定
所述exportToMSProject()方法作为一个参数的对象与多个属性(所有属性是可选的):
- name- (string)获得的文件(“gantt.xml”默认)的名称。
gantt.exportToMSProject({ name:'custom.xml'});
- auto_scheduling-(布尔值)指示导出项目中任务的计划模式。true会将任务标记为自动调度,false会将任务标记为手动调度(默认状态)。
gantt.exportToMSProject({ auto_scheduling: false});
- skip_circular_links-(布尔值)指示是否将删除循环链接(true-将被删除(默认模式),false-将不会被删除)。
gantt.exportToMSProject({ skip_circular_links: false});
- project-(object)允许为导出的项目实体设置自定义属性
gantt.exportToMSProject({ project: { 'Author': 'I am!', 'MinutesPerDay': function () { return gantt.config.hours_per_day * 60; } }});
该对象的属性对应于Project实体的适当属性。可以在此处找到受支持属性的列表。这些属性可以包含固定值或在调用export时将执行的函数。
- tasks-(object)允许为导出的任务项设置自定义属性
gantt.exportToMSProject({ tasks: { 'StartVariance': function (task) { if (task.startVariance) return task.startVariance; else return 0; }, 'PercentWorkComplete': function (task) { return (task.progress + 0.1); }, 'Custom': function (task) { return 'Custom value'; }, 'Custom 2': 'My Custom value' }});
该对象的属性与Task实体的适当属性相对应,这里是受支持属性的列表。这些属性可以包含固定值或函数,在调用export时将为数据集中的每个任务调用这些函数。
- callback-(函数)如果要接收下载下载生成的XML的URL,则可以使用callback属性。它接收到具有url属性的JSON对象:
gantt.exportToMSProject({ callback: function(res){ alert(res.url); }});
- 资源-(数组)允许将资源列表导出到MS Project文件中
gantt.exportToMSProject({ resources: [ {"id":"1","name":"John","type":"work"}, {"id":"2","name":"Mike","type":"work"}, {"id":"3","name":"Anna","type":"work"} ]});
可能的资源类型为“工作”,“成本”,“材料”。使用任务配置的ResourceAssignments属性指定资源分配:
var users = [// resources {key:'0', label: "N/A"}, {key:'1', label: "John"}, {key:'2', label: "Mike"}, {key:'3', label: "Anna"}];gantt.exportToMSProject({ resources: users .filter(function(u){ if(u.key === '0')//skip the default option return false; return true; }) .map(function(u){ return { id: u.key, name: u.label, type: "work" }; }), tasks: { ResourceAssignments: function(task){ return task.user; } }});
所述ResourceAssignments属性被设定为开出任务对象作为参数并返回一个字符串/数值或串/数值的数组的函数:
tasks: { ResourceAssignments: function(task){ return [task.user, task.office]; }}
- 服务器-(字符串)请求的API端点。可以与导出服务的本地安装一起使用。默认值为https://export.dhtmlx.com/gantt。
gantt.exportToMSProject({ server:"https://myapp.com/myexport/gantt"});
从MS Project导入
为了转换XML或MPP MS Project文件,您需要将以下请求发送到导出服务:
- 请求 址-https: //export.dhtmlx.com/gantt
- 请求方法-POST
- 内容类型-多部分/表单数据
请求参数为:
- 文件-MPP或XML MS Project文件
- 类型-“ msproject-parse”
- 数据-(可选)带有设置的JSON字符串
例如:
<form action="https://export.dhtmlx.com/gantt" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="hidden" name="type" value="msproject-parse"> <button type="submit">Get</button></form>
另外,您可以使用客户端API,如下所示:
gantt.importFromMSProject({ data: file, taskProperties: ["Notes", "Name"], callback: function (project) { if (project) { gantt.clearAll(); if (project.config.duration_unit) { gantt.config.duration_unit = project.config.duration_unit; } gantt.parse(project.data); } }});
其中file是File的实例,其中应包含XML或MPP Project文件。
gantt.importFromMSProject需要HTML5 File API支持。
响应
响应将包含以下结构的JSON:
{ data: {}, config: {}, resources: [], worktime: {}}
- 数据-甘特数据对象。每个任务具有以下属性:id,open,parent,progress,start_date,text,resource。日期以“%Y-%m-%d%H:%i”格式进行字符串化。
- 配置-甘特配置有从项目文件中检索设置对象。
- 资源-对象的数组(每个对象具有以下属性:{ id:string,name:string,type:string },代表项目文件中的资源列表。
- 工作时间-包含从项目日历的工作时间设置的对象。
导入设置
设置持续时间单位
要设置预期的持续时间单位,还可以将durationUnit(“分钟”,“小时”,“天”,“周”,“月”,“年”)字符串发送到服务器。
<form action="https://export.dhtmlx.com/gantt" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="hidden" name="type" value="msproject-parse"> <input type="hidden" name="data" value="{ "durationUnit"": ""hour"" }"" /> <button type=""submit"">Get</button></form>
要么
gantt.importFromMSProject({ data: file声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!