瀏覽代碼

Task #1456 合同支付项,新增“不参与本期应付计算”功能

MaiXinRong 8 年之前
父節點
當前提交
c13e3b3624
共有 5 個文件被更改,包括 68 次插入18 次删除
  1. 18 12
      Forms/MainFrm.dfm
  2. 1 0
      Forms/MainFrm.pas
  3. 8 6
      Forms/OptionFrm.pas
  4. 9 0
      Frames/DealPaymentFme.dfm
  5. 32 0
      Frames/DealPaymentFme.pas

+ 18 - 12
Forms/MainFrm.dfm

@@ -21,7 +21,7 @@ object MainForm: TMainForm
   object jtsProjects: TJimTabSet
     Left = 0
     Top = 49
-    Width = 734
+    Width = 742
     Height = 21
     Align = alTop
     BackgroundColor = clGradientInactiveCaption
@@ -45,8 +45,8 @@ object MainForm: TMainForm
   end
   object dxStatusBar: TdxStatusBar
     Left = 0
-    Top = 480
-    Width = 734
+    Top = 487
+    Width = 742
     Height = 20
     Panels = <
       item
@@ -78,12 +78,12 @@ object MainForm: TMainForm
     object dxStatusBarContainer2: TdxStatusBarContainerControl
       Left = 604
       Top = 2
-      Width = 128
+      Width = 136
       Height = 16
       object ProgressBar: TProgressBar
         Left = 0
         Top = 0
-        Width = 128
+        Width = 136
         Height = 16
         Align = alClient
         Max = 200
@@ -94,8 +94,8 @@ object MainForm: TMainForm
   object jpsMain: TJimPages
     Left = 0
     Top = 70
-    Width = 734
-    Height = 410
+    Width = 742
+    Height = 417
     ActivePage = jpsMainProjectsManager
     ActivePageIndex = 0
     Align = alClient
@@ -103,8 +103,8 @@ object MainForm: TMainForm
     object jpsMainProjectsManager: TJimPage
       Left = 0
       Top = 0
-      Width = 734
-      Height = 410
+      Width = 742
+      Height = 417
       TabName = 'ProjectsManager'
       Caption = 'ProjsMgr'
       object pnlUser: TPanel
@@ -201,8 +201,8 @@ object MainForm: TMainForm
     object jpsMainProjects: TJimPage
       Left = 0
       Top = 0
-      Width = 734
-      Height = 410
+      Width = 742
+      Height = 417
       TabName = 'Projects'
       Caption = 'Projects'
       object jpsProjects: TJimPages
@@ -220,7 +220,7 @@ object MainForm: TMainForm
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
     Font.Height = -12
-    Font.Name = #24494#36719#38597#40657
+    Font.Name = 'Microsoft YaHei UI'
     Font.Style = []
     Bars = <
       item
@@ -1065,6 +1065,12 @@ object MainForm: TMainForm
       Hint = #20572#29992'/'#21551#29992
       Visible = ivAlways
     end
+    object dxbtnWithoutCalcCurPay: TdxBarButton
+      Caption = #19981#21442#19982#26412#26399#24212#20184#35745#31639
+      Category = 0
+      Hint = #19981#21442#19982#26412#26399#24212#20184#35745#31639
+      Visible = ivAlways
+    end
   end
   object Images: TImageList
     DrawingStyle = dsTransparent

+ 1 - 0
Forms/MainFrm.pas

@@ -159,6 +159,7 @@ type
     dxbtnImportDmf: TdxBarButton;
     actnImportDmf: TAction;
     dxbtnCanCalc: TdxBarButton;
+    dxbtnWithoutCalcCurPay: TdxBarButton;
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
     procedure jtsProjectsChange(Sender: TObject; NewTab: Integer;

+ 8 - 6
Forms/OptionFrm.pas

@@ -50,15 +50,17 @@ uses
 
 procedure ModifiedOptions;
 var
-  OptionFrom: TOptionForm;
+  OptionForm: TOptionForm;
 begin
-  OptionFrom := TOptionForm.Create(nil);
+  OptionForm := TOptionForm.Create(nil);
   try
-    OptionFrom.Load;
-    if OptionFrom.ShowModal = mrOk then
-      OptionFrom.Save;
+    OptionForm.Load;
+    OptionForm.ClientHeight := 338;
+    OptionForm.ClientWidth := 479;
+    if OptionForm.ShowModal = mrOk then
+      OptionForm.Save;
   finally
-    OptionFrom.Free;
+    OptionForm.Free;
   end;
 end;
 

+ 9 - 0
Frames/DealPaymentFme.dfm

@@ -315,6 +315,10 @@ object DealPaymentFrame: TDealPaymentFrame
         BeginGroup = True
         Item = MainForm.dxbtnCanCalc
         Visible = True
+      end
+      item
+        Item = MainForm.dxbtnWithoutCalcCurPay
+        Visible = True
       end>
     UseOwnFont = False
     OnPopup = dxpmDealPaymentPopup
@@ -342,5 +346,10 @@ object DealPaymentFrame: TDealPaymentFrame
       OnExecute = actnCanCalcExecute
       OnUpdate = actnCanCalcUpdate
     end
+    object actnWithoutCalcCurPay: TAction
+      Caption = #19981#21442#19982#26412#26399#24212#20184#35745#31639
+      OnExecute = actnWithoutCalcCurPayExecute
+      OnUpdate = actnWithoutCalcCurPayUpdate
+    end
   end
 end

+ 32 - 0
Frames/DealPaymentFme.pas

@@ -25,6 +25,7 @@ type
     actnCalculatePhasePay: TAction;
     actnSetDealPayPlan: TAction;
     actnCanCalc: TAction;
+    actnWithoutCalcCurPay: TAction;
     procedure zgParameterCellCanEdit(Sender: TObject; const ACoord: TPoint;
       var Allow: Boolean);
     procedure imgHelpClick(Sender: TObject);
@@ -49,6 +50,8 @@ type
     procedure actnSetDealPayPlanUpdate(Sender: TObject);
     procedure actnCanCalcExecute(Sender: TObject);
     procedure actnCanCalcUpdate(Sender: TObject);
+    procedure actnWithoutCalcCurPayExecute(Sender: TObject);
+    procedure actnWithoutCalcCurPayUpdate(Sender: TObject);
   private
     FDealPaymentData: TDealPaymentData;
 
@@ -164,6 +167,7 @@ begin
   SetDxBtnAction(actnCalculatePhasePay, MainForm.dxbtnCalculatePhasePay);
   SetDxBtnAction(actnSetDealPayPlan, MainForm.dxbtnSetDealPayPlan);
   SetDxBtnAction(actnCanCalc, MainForm.dxbtnCanCalc);
+  SetDxBtnAction(actnWithoutCalcCurPay, MainForm.dxbtnWithoutCalcCurPay);
 end;
 
 procedure TDealPaymentFrame.actnCalculatePhasePayExecute(Sender: TObject);
@@ -190,6 +194,8 @@ begin
     // 本期应付
     if Rec.ValueByName('CalcType').AsInteger = 1 then
       AColor := clSkyBlue
+    else if Rec.ValueByName('CalcType').AsInteger = 3 then
+      AColor := $00E6E6E6
     // 本期实付
     //else if Rec.ValueByName('CalcType').AsInteger = 2 then
     else if iCurPhase = 0 then
@@ -438,4 +444,30 @@ begin
     TAction(Sender).Caption := '停用';
 end;
 
+procedure TDealPaymentFrame.actnWithoutCalcCurPayExecute(Sender: TObject);
+var
+  Rec, PhaseRec: TsdDataRecord;
+begin
+  Rec := sdDealPayment.DataView.Current;
+  Rec.ValueByName('CalcType').AsInteger := 3;
+
+  TProjectData(FDealPaymentData.ProjectData).PhaseData.PhasePayData.CalculateAll;
+end;
+
+procedure TDealPaymentFrame.actnWithoutCalcCurPayUpdate(Sender: TObject);
+var
+  Rec: TsdDataRecord;
+begin
+  Rec := sdDealPayment.DataView.Current;
+  if not Assigned(Rec) or Rec.ValueByName('PreDefined').AsBoolean or
+    (Rec.ValueByName('CalcType').AsInteger <> 0) or
+    (Rec.ValueByName('Name').AsString = '本期完成计量') then
+  begin
+    TAction(Sender).Visible := False;
+    Exit;
+  end;
+  TAction(Sender).Visible := TProjectData(FDealPaymentData.ProjectData).ValidStageIsRefer and
+      (TProjectData(FDealPaymentData.ProjectData).PhaseIndex = Rec.ValueByName('CreatePhaseID').AsInteger);
+end;
+
 end.