对比以下代码,在相应位置进行修改.之前没有这样的需求,所以要做一遍好用了才可以,再整理出来贴给你, 108之类的是页号
楼主,需要耐心些才可以,这不是一二句就能解决完的.
协同常量库 :108:
1.增加FinishTaskTypeStr函数
static function PostTaskTypeStr: string; //源
static function FinishTaskTypeStr: string;
static function TRTLConsts.FinishTaskTypeStr: string;
begin
Result := 'ftFinish';
end;
394:
// CreateDesktopPanel('提交任务', cPostDocURL, cTaskFuncURL, SysUtils.Format('-vvmTaskGrid -f%s -d已完成', [TRTLConsts.FinishTaskTypeStr])),
任务导航(基类) :
1.增加TFilterType类型 : 9
type
TFilterType = (ftNone, ftNeedProcess, ftPost, ftFinish);
2.修改TRTLConsts : 89
function TTASKNAV.GetFilterTypeStr: string;
begin
case FilterType of
TFilterType.ftNeedProcess:
Result := TRTLConsts.NeedProcessTaskTypeStr;
TFilterType.ftPost:
Result := TRTLConsts.PostTaskTypeStr;
TFilterType.ftFinish:
Result := TRTLConsts.FinishTaskTypeStr;
else
begin
Result := TRTLConsts.NeedProcessTaskTypeStr; // 去除警告
Assert(False, 'FilterType值不合法');
end;
end;
end;
3.修改FilterTypeChanged : 130
procedure TTASKNAV.FilterTypeChanged;
begin
case FilterType of
TFilterType.ftNeedProcess:
begin
FFilterBuilder.ProcessStates := [TProcessState.psProcess];
TaskDataSet.SQLFilter := FFilterBuilder.GetFilter;
TaskDataSet.SQLFiltered := True;
end;
TFilterType.ftPost:
begin
FFilterBuilder.ProcessStates := [TProcessState.psPost];
TaskDataSet.SQLFilter := FFilterBuilder.GetFilter;
TaskDataSet.SQLFiltered := True;
end;
TFilterType.ftFinish:
begin
FFilterBuilder.ProcessStates := [TProcessState.psFinish];
TaskDataSet.SQLFilter := FFilterBuilder.GetFilter;
TaskDataSet.SQLFiltered := True;
end;
end;
end;
4.修改GetFilterTypeStr : 89
function TTASKNAV.GetFilterTypeStr: string;
begin
case FilterType of
TFilterType.ftNeedProcess:
Result := TRTLConsts.NeedProcessTaskTypeStr;
TFilterType.ftPost:
Result := TRTLConsts.PostTaskTypeStr;
TFilterType.ftFinish:
Result := TRTLConsts.FinishTaskTypeStr;
else
begin
Result := TRTLConsts.NeedProcessTaskTypeStr; // 去除警告
Assert(False, 'FilterType值不合法');
end;
end;
end;
5.修改SetFilterTypeStr: 106
procedure TTASKNAV.SetFilterTypeStr(const Value: string);
begin
if SysUtils.SameText(Value, TRTLConsts.NeedProcessTaskTypeStr) then
FilterType := TFilterType.ftNeedProcess
else if SysUtils.SameText(Value, TRTLConsts.PostTaskTypeStr) then
FilterType := TFilterType.ftPost
else if SysUtils.SameText(Value, TRTLConsts.FinishTaskTypeStr) then
FilterType := TFilterType.ftFinish
else
Assert(False, 'FilterType值不合法');
end;
6.继承"任务导航(基类)" 为新的"任务导航(完成)",并修改界面提示
加入以下代码
uses CollaborationConsts
FilterTypeStr := TRTLConsts.Fini****askTypeStr;
我的任务
7.在"我的任务",设置代码过滤: 127
else if SysUtils.SameText(lFilterType, TRTLConsts.PostTaskTypeStr) then
MyTaskDoc.ProcessStates := [TProcessState.psPost]
else if SysUtils.SameText(lFilterType, TRTLConsts.FinishTaskTypeStr) then
MyTaskDoc.ProcessStates := [TProcessState.psFinish]
else
MyTaskDoc.ProcessStates := [TProcessState.psProcess, TProcessState.psFinish, TProcessState.psPost, TProcessState.psPostFinished];
设置面板
8.用System进入系统. 系统面板配置->风格->新加一个面板 |