Pārlūkot izejas kodu

Merge branch 'master' of http://192.168.1.12:3000/maixinrong/measure

MaiXinRong 9 gadi atpakaļ
vecāks
revīzija
821cad0ad4

+ 2 - 2
Dprs/CSL/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1054
+Build=1060
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1054
+FileVersion=3.1.3.1060
 InternalName=Measure
 LegalCopyright=版权所有(C) 珠海纵横创新软件有限公司 2003-2014。保留所有权利。
 LegalTrademarks=Measure

BIN
Dprs/CSL/Measure_Cloud.res


+ 1 - 1
Forms/FindUserFrm.pas

@@ -152,7 +152,7 @@ begin
     btnAdd.Enabled := False;
     btnAdd.Caption := 'Ìí¼Ó³É¹¦';
     vOwner := TCheckerFrame(TOrderCheckerFrame(Owner).Owner);
-    vOwner.AddNewChecker(cftChecker, StrToInt(UserArr[4]), UserArr[1], UserArr[2], UserArr[3], PicPath, '', csNotBegin);
+    vOwner.AddNewChecker(cftChecker, StrToInt(UserArr[4]), UserArr[1], UserArr[2], UserArr[3], PicPath, '', csNotBegin, '', -1);
     vOwner.RepairOrder;
     vOwner.RepairDelete(True);
   end;

+ 8 - 6
Frames/CheckerFme.pas

@@ -47,7 +47,8 @@ type
     procedure Init;
     // 审核人的名字、职位、公司、图像
     procedure AddNewChecker(AType: TCheckerFrameType; AID: Integer; AName,
-      ARole, ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus);
+      ARole, ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus;
+      ACheckeTime: string; ACheckeOnLine: Integer);
     function InCheckerList(ACheckerID: Integer): Boolean;
     function HasNormalChecker: Boolean;        // 有普通审核人就返回True(光有业主不算)
     function HasChecker: Boolean;              // 列表不为空即返回True(光Add也算)
@@ -70,12 +71,13 @@ uses FindUserFrm, PHPWebDm, ProjectData, CslJson, ConstUnit, ProjectFme;
 {$R *.dfm}
 
 procedure TCheckerFrame.AddNewChecker(AType: TCheckerFrameType; AID: Integer;
-  AName, ARole, ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus);
+  AName, ARole, ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus;
+  ACheckeTime: string; ACheckeOnLine: Integer);
 var vChecker: TOrderCheckerFrame;
 begin
   vChecker := TOrderCheckerFrame.Create(Self);
   vChecker.Owner := Self;
-  vChecker.Init(AType, AID, AName, ARole, ACompany, AImagePath, ACheckerMemo, ACheckStatus);
+  vChecker.Init(AType, AID, AName, ARole, ACompany, AImagePath, ACheckerMemo, ACheckStatus, ACheckeTime, ACheckeOnLine);
 
   sbChecker.Height := sbChecker.Height + vChecker.Height;
   vChecker.Parent := sbChecker;
@@ -172,15 +174,15 @@ begin
          因为无法得知当前项目是数据库中已存在的最新一期还是仅存于本地尚末入库
          的最新一期。改由添加的位置给出提示}
          if (TProjectData(ProjectData).PhaseIndex > 0) and (not TProjectFrame(Owner).IsUped) then
-           AddNewChecker(cftAdd, -1, '', '', '', '', '', csNotBegin);
+           AddNewChecker(cftAdd, -1, '', '', '', '', '', csNotBegin, '', -1);
         end;
 
         AddNewChecker(cftOwner, StrToInt(sID),
-          vA[i, 0], vA[i, 2], vA[i, 1], sPicPath, vA[i, 6], vStatus);
+          vA[i, 0], vA[i, 2], vA[i, 1], sPicPath, vA[i, 6], vStatus, vA[i, 8], StrToInt(vA[i, 7]));
       end
       else
         AddNewChecker(cftChecker, StrToInt(vA[i, 4]),
-          vA[i, 0], vA[i, 2], vA[i, 1], sPicPath, vA[i, 6], vStatus);
+          vA[i, 0], vA[i, 2], vA[i, 1], sPicPath, vA[i, 6], vStatus, vA[i, 8], StrToInt(vA[i, 7]));
 
       vCM := TChecker.Create;
       vProj.Checkers.Add(StrToInt(vA[i, 4]), vA[i, 0], vA[i, 2], vA[i, 6]);

+ 8 - 1
Frames/OrderCheckerFme.dfm

@@ -327,7 +327,7 @@ object OrderCheckerFrame: TOrderCheckerFrame
       Pen.Style = psDot
     end
     object lblOrderStatus: TLabel
-      Left = 266
+      Left = 269
       Top = 23
       Width = 76
       Height = 26
@@ -384,6 +384,13 @@ object OrderCheckerFrame: TOrderCheckerFrame
       ParentShowHint = False
       ShowHint = True
     end
+    object lblOrderCheckerTime: TLabel
+      Left = 253
+      Top = 8
+      Width = 94
+      Height = 19
+      Caption = '['#26102#38388']['#32447#19979#23457#26680']'
+    end
     object btnDelete: TCslButton
       Left = 336
       Top = 30

+ 30 - 2
Frames/OrderCheckerFme.pas

@@ -43,6 +43,7 @@ type
     imgNotPass: TImage;
     btnDelete: TCslButton;
     lblOrderCheckerMemo: TLabel;
+    lblOrderCheckerTime: TLabel;
     procedure shpAddMouseDown(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     procedure btnDeleteClick(Sender: TObject);
@@ -55,6 +56,8 @@ type
     FCheckStatus: TCheckStatus;
     FUserRole: string;
     FCheckerMemo: string;
+    FCheckeOnLine: Integer;
+    FCheckeTime: string;
     procedure SetOrder(const Value: Integer);
     procedure SetCheckStatus(const Value: TCheckStatus);
     procedure SetCheckerMemo(const Value: string);
@@ -62,7 +65,8 @@ type
   public
     { Public declarations }
     procedure Init(AType: TCheckerFrameType; AID: Integer; AName, ARole,
-    ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus);
+    ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus;
+    ACheckeTime: string; ACheckeOnLine: Integer);
     function IsMe(AID: Integer; AName: string): string;
     function IsChecking: Boolean;
     function IsFinished: Boolean;
@@ -76,6 +80,8 @@ type
     property CheckerFrameType: TCheckerFrameType read FCheckerFrameType write FCheckerFrameType;   // 审核人类型
     property CheckStatus: TCheckStatus read FCheckStatus write SetCheckStatus;     // 审核状态
     property CheckerMemo: string read FCheckerMemo write SetCheckerMemo;           // 审核意见
+    property CheckeTime: string read FCheckeTime write FCheckeTime;
+    property CheckeOnLine: Integer read FCheckeOnLine write FCheckeOnLine;  // 0 线下审批(默认);1 线上审批。
   end;
 
 implementation
@@ -88,8 +94,10 @@ uses FindUserFrm, CheckerFme, PHPWebDm, ProjectData, ProjectFme,
 { TOrderCheckerFrame }
 
 procedure TOrderCheckerFrame.Init(AType: TCheckerFrameType; AID: Integer;
-  AName, ARole, ACompany, AImagePath, ACheckerMemo: string; ACheckStatus: TCheckStatus);
+  AName, ARole, ACompany, AImagePath, ACheckerMemo: string;
+  ACheckStatus: TCheckStatus; ACheckeTime: string; ACheckeOnLine: Integer);
 var bAdd, bOwner: Boolean;
+  sOnLine: string;
 begin
   bAdd := AType = cftAdd;
   shpAdd.Visible := bAdd;
@@ -99,6 +107,7 @@ begin
   lblOrderCheckerRole.Visible := not bAdd;
   lblOrderCheckerCompany.Visible := not bAdd;
   lblOrderStatus.Visible := not bAdd;
+
   shpImage.Visible := not bAdd;
   lblOrderCheckerMemo.Visible := not bAdd;
 
@@ -109,6 +118,10 @@ begin
   CheckerFrameType := AType;
   CheckStatus := ACheckStatus;
 
+  if lblOrderStatus.Visible then
+    lblOrderStatus.Left := btnDelete.Left + btnDelete.Width - lblOrderStatus.Width;
+  lblOrderCheckerTime.Visible := (not bAdd) and (CheckStatus in [csFinished, csNotPass]);
+
   case AType of
     cftChecker, cftOwner:
     begin
@@ -119,6 +132,20 @@ begin
       lblOrderCheckerName.Caption := UserName;
       lblOrderCheckerRole.Caption := ARole;
       lblOrderCheckerCompany.Caption := ACompany;
+
+      if CheckStatus in [csFinished, csNotPass] then
+      begin
+        CheckeTime := ACheckeTime;
+        CheckeOnLine := ACheckeOnLine;
+        if ACheckeOnLine = 0 then
+          sOnLine := '线下审核'
+        else if ACheckeOnLine = 1 then
+          sOnLine := '线上审核';
+
+        lblOrderCheckerTime.Caption := Format('[%s][%s]', [ACheckeTime, sOnLine]);
+        lblOrderCheckerTime.Left := btnDelete.Left + btnDelete.Width - lblOrderCheckerTime.Width;
+      end;
+
       CheckerMemo := RecoverCharsFromJson(ACheckerMemo);
       if FileExists(AImagePath) then
         imgOrderCheckerPic.Picture.LoadFromFile(AImagePath)
@@ -164,6 +191,7 @@ begin
   lblOrderStatus.Font.Color := vColor;
   lblLast.Font.Color := vColor;
   lblOrderCheckerMemo.Font.Color := vColor;
+  lblOrderCheckerTime.Font.Color := vColor;
 //  cxHintStyleController1.HintStyle.Color := clWindow;        气泡Hint,很帅,但是有Bug,频繁操作时会出错,废弃不用,可惜!
 //  cxHintStyleController1.HintStyle.Font.Color := vColor;
 

+ 1 - 1
Frames/ProjectFme.dfm

@@ -207,7 +207,7 @@ object ProjectFrame: TProjectFrame
           Tag = 5
           Left = 305
           Top = 0
-          Caption = #23457#25209#20154
+          Caption = #23457#26680#20154
           Enabled = False
           ImageIndex = 4
           Style = tbsCheck

+ 1 - 0
Frames/ProjectFme.pas

@@ -976,6 +976,7 @@ begin
       if PHPWeb.UpDataFile(PHPWeb.UserID, ProjectData.WebID, ProjectData.PhaseIndex,
         sZipFile, sMD5_JL, bSubmit, sResult, ACheckPassed, sCheckerMemo) then
       begin
+        DeleteFile(sAppFile);
         ProgressProRun('ÉÏ´«Êý¾Ý°üµ½Ôƶˡ£OK', 90, pmtEdit, pptSet);
         if ProjectData.CurUserIsChecker then
           ProjectData.Checkers.FindByID(PHPWeb.UserID).Memo := sCheckerMemo;

+ 8 - 4
Frames/ProjectManagerFme.pas

@@ -295,6 +295,7 @@ var
           Exit;
         end;
       end;
+      DeleteFile(sLocalFile);
 
       // 编制人且项目末通过
       if (FWebAuthorID = PHPWeb.UserID) and (FProjectCheckStatus = csNotPass) then
@@ -1048,7 +1049,7 @@ var
     sPicPath := PHPWeb.UserPath + '1_' + AArr[0] + '.jpg';
     PHPWeb.DownFile(AArr[4], sPicPath);
     vChecker.Init(AType, StrToInt(AArr[0]), AArr[1], AArr[3],
-      AArr[2], sPicPath, AArr[6], TCheckStatus(StrToInt(AArr[5])-1));
+      AArr[2], sPicPath, AArr[6], TCheckStatus(StrToInt(AArr[5])-1), AArr[8], StrToInt(AArr[7]));
     vChecker.Name := 'ProjectOrderFrame' + AArr[0];
   end;
 
@@ -1060,13 +1061,15 @@ var
   end;
 
   procedure RefreshProjectCheckers;
-  var i, j: Integer;
-    vOwner: array[0..6] of string;    // 业主信息
+  var i, j, n: Integer;
+    vOwner: array of string;  // 业主信息
   begin
     FCheckerList.Clear;
     sbChecker.Height := 0;
     FCurPos := 0;
 
+    n := Length(vCArr[Low(vCArr)]);
+    SetLength(vOwner, n);
     sbChecker.VertScrollBar.Range := 0;
     for i := Low(vCArr) to High(vCArr) do
     begin
@@ -1075,7 +1078,7 @@ var
 
       if StrToInt(vCArr[i, 0]) = FWebOwnerID then
       begin
-        for j := 0 to 6 do
+        for j := 0 to n - 1 do
           vOwner[j] := vCArr[i, j];
 
         Continue;
@@ -1337,6 +1340,7 @@ begin
               Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
               Exit;
             end;
+            DeleteFile(sLocalFile);
           end;
         end;