SelectOnlineSignPhaseFrm.pas 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. unit SelectOnlineSignPhaseFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, JimCombos, StdCtrls, ExtCtrls, sdDB, PNGButton;
  6. type
  7. TSelectOnlineSignPhaseForm = class(TForm)
  8. pnlPhase: TPanel;
  9. jcbPhase: TJimComboBox;
  10. lblHint: TLabel;
  11. pbOk: TPNGButton;
  12. procedure pbOkClick(Sender: TObject);
  13. private
  14. function GetPhaseIndex: Integer;
  15. { Private declarations }
  16. public
  17. procedure Init(AProjectRec: TsdDataRecord);
  18. property PhaseIndex: Integer read GetPhaseIndex;
  19. end;
  20. function SelectOnlineSignPhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;
  21. function SelectEpurePhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;
  22. implementation
  23. {$R *.dfm}
  24. function SelectOnlineSignPhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;
  25. var
  26. vSelectFrm: TSelectOnlineSignPhaseForm;
  27. begin
  28. Result := False;
  29. vSelectFrm := TSelectOnlineSignPhaseForm.Create(nil);
  30. try
  31. vSelectFrm.Init(AProjectRec);
  32. vSelectFrm.lblHint.Caption := '只能对已审批完成的标段进行签署报表生成';
  33. Result := vSelectFrm.ShowModal = mrOk;
  34. if Result then
  35. APhase := vSelectFrm.PhaseIndex;
  36. finally
  37. vSelectFrm.Free;
  38. end;
  39. end;
  40. function SelectEpurePhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;
  41. var
  42. vSelectFrm: TSelectOnlineSignPhaseForm;
  43. begin
  44. Result := False;
  45. vSelectFrm := TSelectOnlineSignPhaseForm.Create(nil);
  46. try
  47. vSelectFrm.Init(AProjectRec);
  48. vSelectFrm.lblHint.Caption := '只能对已审批完成的标段进行报表生成';
  49. Result := vSelectFrm.ShowModal = mrOk;
  50. if Result then
  51. APhase := vSelectFrm.PhaseIndex;
  52. finally
  53. vSelectFrm.Free;
  54. end;
  55. end;
  56. { TSelectOnlineSignPhaseForm }
  57. function TSelectOnlineSignPhaseForm.GetPhaseIndex: Integer;
  58. begin
  59. Result := jcbPhase.ItemIndex + 1;
  60. end;
  61. procedure TSelectOnlineSignPhaseForm.Init(AProjectRec: TsdDataRecord);
  62. var
  63. iPhase: Integer;
  64. iPhaseCount: Integer;
  65. begin
  66. iPhaseCount := AProjectRec.ValueByName('PhaseCount').AsInteger;
  67. if AProjectRec.ValueByName('AuditStatus').AsInteger <> -1 then
  68. iPhaseCount := iPhaseCount - 1;
  69. for iPhase := 1 to iPhaseCount do
  70. jcbPhase.Items.Add(Format(' 第 %d 期数据', [iPhase]));
  71. jcbPhase.ItemIndex := jcbPhase.Items.Count - 1;
  72. end;
  73. procedure TSelectOnlineSignPhaseForm.pbOkClick(Sender: TObject);
  74. begin
  75. if jcbPhase.ItemIndex >= 0 then
  76. ModalResult := mrOk;
  77. end;
  78. end.