📄 untvlease.pas
字号:
unit untvlease;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BillBase, FR_DSet, FR_DBSet, MSNPopUp, FR_Class, DB, DBClient,
ActnList, Menus, Buttons, Grids, DBGridEh, StdCtrls, Mask, wwdbedit,
ExtCtrls, DBCtrlsEh, wwcheckbox, wwdblook, DBCtrls;
type
Tfrmvlease = class(TfrmBillBase)
Label7: TLabel;
Label8: TLabel;
Label11: TLabel;
DBMemo1: TDBMemo;
MaskEdit1: TMaskEdit;
wwDBLookupCombo1: TwwDBLookupCombo;
wwDBEdit2: TwwDBEdit;
Label6: TLabel;
Label12: TLabel;
wwCheckBox1: TwwCheckBox;
wwDBEdit1: TwwDBEdit;
DBDateTimeEditEh1: TDBDateTimeEditEh;
Label9: TLabel;
Label10: TLabel;
wwDBEdit3: TwwDBEdit;
SpeedButton1: TSpeedButton;
Label13: TLabel;
wwDBEdit4: TwwDBEdit;
Label14: TLabel;
wwCheckBox2: TwwCheckBox;
wwDBEdit6: TwwDBEdit;
Label15: TLabel;
wwDBEdit7: TwwDBEdit;
Label16: TLabel;
DBDateTimeEditEh2: TDBDateTimeEditEh;
Label17: TLabel;
MaskEdit2: TMaskEdit;
wwDBLookupCombo2: TwwDBLookupCombo;
CDSType: TClientDataSet;
CDSTypefname: TWideStringField;
CDSTypefcode: TWideStringField;
CDSTypefid: TAutoIncField;
CDSTypefremark: TWideStringField;
CDSDriver: TClientDataSet;
CDSDriverfID: TAutoIncField;
CDSDriverfCode: TWideStringField;
CDSDriverfName: TWideStringField;
CDSDriverfDeptCode: TWideStringField;
CDSDriverfDriveID: TWideStringField;
CDSDriverfSex: TWideStringField;
CDSDriverfPosition: TWideStringField;
CDSDriverfAddress: TWideStringField;
CDSDriverfEmail: TWideStringField;
CDSDriverfTel: TWideStringField;
CDSDriverfMobile: TWideStringField;
CDSDriverfBP: TWideStringField;
CDSDriverfDegree: TWideStringField;
CDSDriverfCollege: TWideStringField;
CDSDriverfBirthAddress: TWideStringField;
CDSDriverfBirthday: TDateTimeField;
CDSDriverfInTime: TDateTimeField;
CDSDriverfOutTime: TDateTimeField;
CDSDriverfMoney: TBCDField;
CDSDriverfStatus: TBooleanField;
CDSDriverfNotes: TWideStringField;
CDSDriverfPicture: TWideStringField;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure CDSMasterBeforePost(DataSet: TDataSet);
procedure CDSMasterAfterScroll(DataSet: TDataSet);
procedure MaskEdit1Exit(Sender: TObject);
procedure MaskEdit2Exit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure wwCheckBox2Click(Sender: TObject);
procedure CDSMasterAfterPost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmvlease: Tfrmvlease;
implementation
uses DataProcess, untCustomerSearch, Global, untLookupOrderLease,
untvLeaseState;
{$R *.dfm}
procedure Tfrmvlease.FormCreate(Sender: TObject);
begin
inherited;
Maintable:='TvLease';
MainView:='VvLease';
DetailTable:='TvLeaseSub';
DetailView:='VvLeaseSub';
MKeyField:='fid';
DkeyField:='fid';
Relatkey:='fsn';
iBillTypeID:=31;
MasterField:='fno';
CompanyNamefield:='fCustomerName';
RemarkField:='fremark';
SearchForm:=TfrmLookupOrderLease;
StatusForm:=TfrmvLeaseState;
end;
procedure Tfrmvlease.FormDestroy(Sender: TObject);
begin
inherited;
frmvlease:=nil;
end;
procedure Tfrmvlease.CDSMasterBeforePost(DataSet: TDataSet);
begin
With CDSMaster do
Begin
if VarisNUll(FieldValues['fcustomerCode']) then
Raise Exception.Create('客户代码不能为空 !');
if VarisNUll(FieldValues['fdate']) then
Raise Exception.Create('租车日期不能为空 !');
if VarisNUll(FieldValues['freturndate']) then
Raise Exception.Create('还车日期不能为空 !');
if VarisNUll(FieldValues['fmoney']) then
Raise Exception.Create('租车压金不能为空 !');
end;
inherited;
CDSMaster.FieldByName('fTime').AsString:=MaskEdit1.Text;
CDSMaster.FieldByName('fReturnTime').AsString:=MaskEdit2.Text;
end;
procedure Tfrmvlease.CDSMasterAfterScroll(DataSet: TDataSet);
begin
inherited;
if CDSMaster.fieldbyname('ftime').AsString<>'' then
MaskEdit1.Text:=CDSMaster.fieldbyname('ftime').AsString
else
MaskEdit1.Text:='';
if CDSMaster.fieldbyname('freturntime').AsString<>'' then
MaskEdit2.Text:=CDSMaster.fieldbyname('freturntime').AsString
else
MaskEdit2.Text:='';
end;
procedure Tfrmvlease.MaskEdit1Exit(Sender: TObject);
begin
inherited;
try
if Strtoint(copy(Maskedit1.Text,1,2))>=24 then
begin
messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
Maskedit1.Text:='';
Exit;
end;
if Strtoint(copy(Maskedit1.Text,3,2))>=60 then
begin
messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
Maskedit1.Text:='';
Exit;
end;
except
end;
end;
procedure Tfrmvlease.MaskEdit2Exit(Sender: TObject);
begin
inherited;
try
if Strtoint(copy(Maskedit2.Text,1,2))>=24 then
begin
messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
Maskedit2.Text:='';
Exit;
end;
if Strtoint(copy(Maskedit2.Text,3,2))>=60 then
begin
messagedlg('输入值只能在范围 23:59 - 00:01 , 请重新输入 ! ',mtWarning,[mbok],0);
Maskedit2.Text:='';
Exit;
end;
except
end;
end;
procedure Tfrmvlease.FormShow(Sender: TObject);
begin
inherited;
GetsqlData(CDSType,'tRentType','fid','fid>0',20);
Getsqldata(CDSdriver,'tEmployee','fid','fid>0',20);
wwDBLookupCombo2.Enabled:=False;
end;
procedure Tfrmvlease.SpeedButton1Click(Sender: TObject);
var
SearchCDS:TclientDataset;
begin
inherited;
openModalForm(TfrmCustomerSearch,self,tForm(frmCustomerSearch));
if SearchReturnID=0 then
Exit;
try
SearchCDS:=Tclientdataset.create(nil);
Searchcds.FetchOnDemand:=False;
GetsqlData(SearchCDS,'tcustomer','fid','fid='+vartosql(SearchReturnID),1);
if SearchCDS.RecordCount > 0 then
begin
with CDSMaster do
begin
Fieldbyname('fCustomerID').AsInteger:=SearchCDS.fieldbyname('fID').AsInteger;
Fieldbyname('fCustomercode').AsString:=SearchCDS.fieldbyname('fcode').asstring;
Fieldbyname('fCustomerName').AsString:=SearchCDS.fieldbyname('fName').asstring;
Fieldbyname('fCustomerAddress').AsString:=SearchCDS.fieldbyname('fAddress').asstring;
Fieldbyname('fCustomerMobile').AsString:=SearchCDS.fieldbyname('fMobile').asstring;
end;
end;
finally
SearchCDS.Close;
Searchcds.Free;
end;
end;
procedure Tfrmvlease.wwCheckBox2Click(Sender: TObject);
begin
inherited;
if wwCheckBox2.Checked then
wwDBLookupCombo2.Enabled:=True
else
wwDBLookupCombo2.Enabled:=False;
end;
procedure Tfrmvlease.CDSMasterAfterPost(DataSet: TDataSet);
begin
inherited;
if FormStatus = 'Add' then
WriteBalance(1,1,CDSMaster.fieldbyname('fno').AsString,self.Caption,
CDSMaster.fieldbyname('fCustomerID').AsInteger,
CDSMaster.fieldbyname('fRemark').AsString+'--租车压金',
0,0,0,0,CDSMaster.fieldbyname('fMoney').AsInteger,0,0,0,0);
if FormStatus = 'Edit' then
WriteBalance(2,1,CDSMaster.fieldbyname('fno').AsString,self.Caption,
CDSMaster.fieldbyname('fCustomerID').AsInteger,
CDSMaster.fieldbyname('fRemark').AsString+'--租车压金',
0,0,0,0,CDSMaster.fieldbyname('fMoney').AsInteger,0,0,0,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -