扩展任务属性

对任务属性的扩展,主要处理如下几个地方:

1. 增加plus_task表的一个字段

2. 修改TaskDAL的ModelMapper方法,将新字段增加到任务对象上。

3. 修改TaskDAL的Insert方法,将新字段在sql语句中增加。

4. 修改TaskDAL的Update方法,将新字段在sql语句中增加。

5. 在Javascript内扩展一个表格列,根据不同数据类型进行扩展。具体参考:自定义表格列demo/diyColumn.html,后续有详细介绍。

plus_task表的新字段,是用来存放新字段数据的;在加载数据时,确保任务对象上有新字段的属性值。因为任务对象是一个Hashtable,所以这一点极其简单。在保存数据时,修改任务的新增和保存的sql语句,把新字段的值写入到数据库,保存起来。做好这几点,其实任务的属性已经扩展了。下面只是需要一个界面显示和操作的载体,一般用表格列来完成。

标准列

PlusProject针对任务的各种标准属性,如"ID","Name","Start","Finish","PercentComplete","Department","Principal"等提供了相应的标准列。开发者在创建标准任务属性范围内的列时,直接使用这里例举的标准列用来创建表格列集合。

var project = new PlusProject();

project.setColumns([
    new PlusProject.IDColumn(),
    new PlusProject.StatusColumn(),
    new PlusProject.NameColumn(),
    new PlusProject.PredecessorLinkColumn(),
    new PlusProject.PercentCompleteColumn(),
    new PlusProject.DurationColumn(),
    new PlusProject.StartColumn(),
    new PlusProject.FinishColumn(),
    new PlusProject.WorkColumn(),
    new PlusProject.DepartmentColumn(),
    new PlusProject.PrincipalColumn(),
    new PlusProject.AssignmentsColumn()
]);

以下是官方提供的标准列介绍

列名

任务属性

描述

PlusProject.IDColumn

ID

任务序号。

PlusProject.WBSColumn

WBS

WBS编码。

PlusProject.ManualColumn

Manual

任务类型。

PlusProject.NameColumn

Name

任务名称。

PlusProject.DurationColumn

Duration

工期。

PlusProject.StartColumn

Start

开始日期。

PlusProject.FinishColumn

Finish

完成日期。

PlusProject.PercentCompleteColumn

PercentComplete

完成百分比。

PlusProject.WorkColumn

Work

工时。

PlusProject.WeightColumn

Weight

权重。

PlusProject.PriorityColumn

Priority

重要级别。

PlusProject.OutlineNumberColumn

OutlineNumber

大纲字段。

PlusProject.OutlineLevelColumn

OutlineLevel

任务层次。

PlusProject.ConstraintDateColumn

ConstraintDate

限制日期。

PlusProject.ConstraintTypeColumn

ConstraintType

限制类型。

PlusProject.PredecessorLinkColumn

PredecessorLink

前置任务。

PlusProject.StatusColumn

状态列。它使用图标反映任务的一些状态,比如受限制、已完成、有注释等。

PlusProject.DepartmentColumn

Department

部门。

PlusProject.PrincipalColumn

Principal

负责人。

PlusProject.AssignmentsColumn

Assignments

资源名称。

PlusProject.ActualStartColumn

ActualStart

实际开始日期。

PlusProject.ActualFinishColumn

ActualFinish

实际完成日期。

PlusProject.Critical2Column

Critical2

手动设置关键任务。

自定义表格列

开发者可以根据自己扩展的任务属性类型,来创建自己的列。

请参考demo/diyColumns.html。