SelectOnlineSignPhaseFrm.pas 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. Result := vSelectFrm.ShowModal = mrOk;
  33. if Result then
  34. APhase := vSelectFrm.PhaseIndex;
  35. finally
  36. vSelectFrm.Free;
  37. end;
  38. end;
  39. function SelectEpurePhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;
  40. var
  41. vSelectFrm: TSelectOnlineSignPhaseForm;
  42. begin
  43. Result := False;
  44. vSelectFrm := TSelectOnlineSignPhaseForm.Create(nil);
  45. try
  46. vSelectFrm.Init(AProjectRec);
  47. Result := vSelectFrm.ShowModal = mrOk;
  48. if Result then
  49. APhase := vSelectFrm.PhaseIndex;
  50. finally
  51. vSelectFrm.Free;
  52. end;
  53. end;
  54. { TSelectOnlineSignPhaseForm }
  55. function TSelectOnlineSignPhaseForm.GetPhaseIndex: Integer;
  56. begin
  57. Result := jcbPhase.ItemIndex + 1;
  58. end;
  59. procedure TSelectOnlineSignPhaseForm.Init(AProjectRec: TsdDataRecord);
  60. var
  61. iPhase: Integer;
  62. iPhaseCount: Integer;
  63. begin
  64. iPhaseCount := AProjectRec.ValueByName('PhaseCount').AsInteger;
  65. if AProjectRec.ValueByName('AuditStatus').AsInteger <> -1 then
  66. iPhaseCount := iPhaseCount - 1;
  67. for iPhase := 1 to iPhaseCount do
  68. jcbPhase.Items.Add(Format(' µÚ %d ÆÚÊý¾Ý', [iPhase]));
  69. jcbPhase.ItemIndex := jcbPhase.Items.Count - 1;
  70. end;
  71. procedure TSelectOnlineSignPhaseForm.pbOkClick(Sender: TObject);
  72. begin
  73. if jcbPhase.ItemIndex >= 0 then
  74. ModalResult := mrOk;
  75. end;
  76. end.