|
@@ -90,6 +90,7 @@ type
|
|
var HintInfo: THintInfo; const ACoord: TPoint);
|
|
var HintInfo: THintInfo; const ACoord: TPoint);
|
|
procedure actnExportUpdate(Sender: TObject);
|
|
procedure actnExportUpdate(Sender: TObject);
|
|
procedure actnOpenBackupFolderUpdate(Sender: TObject);
|
|
procedure actnOpenBackupFolderUpdate(Sender: TObject);
|
|
|
|
+ procedure pnlProgressClick(Sender: TObject);
|
|
private
|
|
private
|
|
FProjectManagerData: TProjectManagerData;
|
|
FProjectManagerData: TProjectManagerData;
|
|
|
|
|
|
@@ -366,7 +367,7 @@ begin
|
|
|
|
|
|
if not MainForm.CurProjectFrame.CheckFileAndCloudChekerList then
|
|
if not MainForm.CurProjectFrame.CheckFileAndCloudChekerList then
|
|
begin
|
|
begin
|
|
- sHint := '项目校验:“' + FWebBidName_OnLine + '”文件中的审核人和云端的审核人不一致,' +
|
|
|
|
|
|
+ sHint := '项目校验:“' + FWebBidName_OnLine + '”文件中的审批人和云端的审批人不一致,' +
|
|
'禁止继续操作,项目即将关闭!请删除本地项目重新从云端获取,' +
|
|
'禁止继续操作,项目即将关闭!请删除本地项目重新从云端获取,' +
|
|
'重新获取后如果仍然存在同样的问题,请联系纵横服务人员以寻求帮助。';
|
|
'重新获取后如果仍然存在同样的问题,请联系纵横服务人员以寻求帮助。';
|
|
Application.MessageBox(PChar(sHint), '文件错误', MB_OK +MB_ICONWARNING);
|
|
Application.MessageBox(PChar(sHint), '文件错误', MB_OK +MB_ICONWARNING);
|
|
@@ -443,7 +444,7 @@ begin
|
|
vNode.LocateInControl;
|
|
vNode.LocateInControl;
|
|
end;
|
|
end;
|
|
1: ErrorMessage('当前标段处于打开状态,未能成功接收,请先关闭标段再次接收。');
|
|
1: ErrorMessage('当前标段处于打开状态,未能成功接收,请先关闭标段再次接收。');
|
|
- 2: ErrorMessage('下载数据与审核状态不一致,未能成功接收,请再次接收。');
|
|
|
|
|
|
+ 2: ErrorMessage('下载数据与审批状态不一致,未能成功接收,请再次接收。');
|
|
3: ErrorMessage('升级数据失败,未能成功接收,请再次接收。');
|
|
3: ErrorMessage('升级数据失败,未能成功接收,请再次接收。');
|
|
end;
|
|
end;
|
|
vRP.Free;
|
|
vRP.Free;
|
|
@@ -1755,34 +1756,36 @@ end;
|
|
// 为了跟PHP的数组兼容,这里限制数组的第一个元素是A[0](不能是A[1])
|
|
// 为了跟PHP的数组兼容,这里限制数组的第一个元素是A[0](不能是A[1])
|
|
procedure TProjectManagerFrame.OnLineChecker(AAr: TOVArr; var ABegin,
|
|
procedure TProjectManagerFrame.OnLineChecker(AAr: TOVArr; var ABegin,
|
|
AEnd: Integer; var AOnLineEndIsOwner: Boolean);
|
|
AEnd: Integer; var AOnLineEndIsOwner: Boolean);
|
|
-var i, j, n: Integer;
|
|
|
|
|
|
+var i, j: Integer;
|
|
vCS: TCheckStatus;
|
|
vCS: TCheckStatus;
|
|
begin
|
|
begin
|
|
ABegin := 0;
|
|
ABegin := 0;
|
|
AEnd := 0;
|
|
AEnd := 0;
|
|
- AOnLineEndIsOwner := AAr[High(AAr), 7] = '1';
|
|
|
|
|
|
+ AOnLineEndIsOwner := AAr[High(AAr), 7] = '1'; // 接口返回的第7列是线上审批标记
|
|
|
|
|
|
- n := -1;
|
|
|
|
-
|
|
|
|
- for i := 0 to High(AAr) do
|
|
|
|
|
|
+ // 数组必须在位置n处截断,后面的部分作废。n的取值情况:
|
|
|
|
+ // ①轮到工作中的那个人的前一个人 ②审核不通过的那个人 ③ 审核通过的人是业主
|
|
|
|
+ if AOnLineEndIsOwner then
|
|
|
|
+ AEnd := High(AAr) + 1
|
|
|
|
+ else
|
|
begin
|
|
begin
|
|
- vCS := TCheckStatus(StrToInt(AAr[i, 5])-1);
|
|
|
|
- if vCS = csChecking then
|
|
|
|
|
|
+ for i := High(AAr) downto 0 do
|
|
begin
|
|
begin
|
|
- n := i - 1; // 非常重要:传入的数组必须从第一个审核人到轮到工作中的那个人的前一个人
|
|
|
|
- Break;
|
|
|
|
- end;
|
|
|
|
- end;
|
|
|
|
|
|
+ vCS := TCheckStatus(StrToInt(AAr[i, 5]) - 1);
|
|
|
|
+ if vCS = csChecking then
|
|
|
|
+ begin
|
|
|
|
+ if (i > 0) and (AAr[i - 1, 7] = '1') then // 前一个人且不是第一个人
|
|
|
|
+ AEnd := i;
|
|
|
|
|
|
- for i := n downto 0 do
|
|
|
|
- begin
|
|
|
|
- if AAr[i, 7] = '1' then // 接口返回的第7列是线上审批标记
|
|
|
|
- begin
|
|
|
|
- AEnd := i + 1;
|
|
|
|
- Break;
|
|
|
|
- end
|
|
|
|
- else
|
|
|
|
- Break;
|
|
|
|
|
|
+ Break;
|
|
|
|
+ end
|
|
|
|
+ else if vCS = csNotPass then
|
|
|
|
+ begin
|
|
|
|
+ if AAr[i, 7] = '1' then
|
|
|
|
+ AEnd := i + 1;
|
|
|
|
+ Break;
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
|
|
|
|
if AEnd = 0 then Exit;
|
|
if AEnd = 0 then Exit;
|
|
@@ -1821,4 +1824,15 @@ begin
|
|
(stdProjects.IDTree.Selected.Rec.ValueByName('Type').AsInteger = 1);
|
|
(stdProjects.IDTree.Selected.Rec.ValueByName('Type').AsInteger = 1);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TProjectManagerFrame.pnlProgressClick(Sender: TObject);
|
|
|
|
+var s: string;
|
|
|
|
+begin
|
|
|
|
+ if (GetKeyState(VK_LSHIFT) < 0) and (GetKeyState(VK_LCONTROL) < 0) then
|
|
|
|
+ begin
|
|
|
|
+ s := Format('%d, %d, %s', [FOnLineCheckerBegin, FOnLineCheckerEnd, BoolToStr(FOnLineCheckerEndIsOwner)]);
|
|
|
|
+ Application.MessageBox(Pchar(s), 'Hint');
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+end;
|
|
|
|
+
|
|
end.
|
|
end.
|