扩展任务属性
对任务属性的扩展,主要处理如下几个地方:
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。