📄 lenddetail.~pas
字号:
unit LendDetail;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
base, StdCtrls, Buttons, DBCtrls, Mask, Db, ExtCtrls,adodb;
type
TFrm_LendDetail = class(TFrm_Base)
btnOk: TBitBtn;
btnCancel: TBitBtn;
ds_Data: TDataSource;
Label3: TLabel;
Label4: TLabel;
Label27: TLabel;
dbeHouseArea: TDBEdit;
dbeCreateDate: TDBEdit;
dbcHouseRegion: TDBComboBox;
ADOQ_Data: TADOQuery;
pnlTop: TPanel;
Label2: TLabel;
dbeNo: TDBEdit;
Label8: TLabel;
dbeHouseAdd: TDBEdit;
Label1: TLabel;
Label13: TLabel;
dbeHouseLayer: TDBEdit;
Label14: TLabel;
Label15: TLabel;
dbePrice: TDBEdit;
Label16: TLabel;
Label17: TLabel;
dbeHouseStartDate: TDBEdit;
Label18: TLabel;
dbcHouseType: TDBComboBox;
Label19: TLabel;
dbcHouseWay: TDBComboBox;
Label7: TLabel;
dbeHousePassID: TDBEdit;
Label20: TLabel;
dbeHouseEnv: TDBEdit;
Label23: TLabel;
dbeHousefitment: TDBEdit;
Label24: TLabel;
dbeHouseEstab: TDBEdit;
Label25: TLabel;
dbetraffic: TDBEdit;
Label29: TLabel;
Label11: TLabel;
Label22: TLabel;
Label31: TLabel;
dbeLinkName: TDBEdit;
dbeLinkPhoto: TDBEdit;
dbeLinkPassId: TDBEdit;
Label21: TLabel;
dbeMemo: TDBEdit;
Bevel1: TBevel;
Label30: TLabel;
pnlBargainProc: TPanel;
btnStatus_Lend: TSpeedButton;
btnStatus_Rest: TSpeedButton;
btnStatus_Cancel: TSpeedButton;
pnlBargain: TPanel;
Bevel2: TBevel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Bevel3: TBevel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label9: TLabel;
dbeBargainName: TDBEdit;
dbeBargainPhoto: TDBEdit;
dbeBargainPassId: TDBEdit;
dbeBargainPrice: TDBEdit;
dbeBargainDate: TDBEdit;
dbeBargainEndDate: TDBEdit;
dbeBargainMemo: TDBEdit;
dbeCommisionAmt: TDBEdit;
dbeBargainNo: TDBEdit;
dbeProcDate: TDBEdit;
dbrStatus: TDBRadioGroup;
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnCloseClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnStatus_LendClick(Sender: TObject);
private
{ Private declarations }
function f_CheckValue:Boolean; // 检查数据录入的有效性
procedure f_StatusChangeProc;
public
ParmEditorMode:string; // 参数:编辑器模式(ADD:新增,EDIT:修改)
ParmId:string;
RetuId:string;
//
{ Public declarations }
end;
var
Frm_LendDetail: TFrm_LendDetail;
implementation
uses DataBase,common;
{$R *.DFM}
{-------------------------------------------
检查数据录入的有效性
-------------------------------------------}
function TFrm_LendDetail.f_CheckValue:Boolean;
begin
//
if dbePrice.Text='' then
begin
MessageBox(handle,'请输入租金!','提示',MB_OK+MB_ICONINFORMATION);
dbePrice.SetFocus;
Result :=False;
Exit;
end;
//
if dbeLinkName.Text='' then
begin
MessageBox(handle,'请输入联系人!','提示',MB_OK+MB_ICONINFORMATION);
dbeLinkName.SetFocus;
Result :=False;
Exit;
end;
//
if ADOQ_Data.FieldByName('状态').AsString='已处理' then
begin
//
if dbeBargainName.Text='' then
begin
MessageBox(handle,'请输入承租人姓名!','提示',MB_OK+MB_ICONINFORMATION);
dbeBargainName.SetFocus;
Result :=False;
Exit;
end;
//
if dbeBargainPrice.Text='' then
begin
MessageBox(handle,'请输入承租价格!','提示',MB_OK+MB_ICONINFORMATION);
dbeBargainPrice.SetFocus;
Result :=False;
Exit;
end;
//
if dbeCommisionAmt.Text='' then
begin
MessageBox(handle,'请输入佣金金额!','提示',MB_OK+MB_ICONINFORMATION);
dbeCommisionAmt.SetFocus;
Result :=False;
Exit;
end;
end;
//
result:=True;
end;
{-------------------------------------------
保存数据
-------------------------------------------}
procedure TFrm_LendDetail.btnOkClick(Sender: TObject);
var
strSQL :string;
strCode :string;
begin
inherited;
// 检查数据录入的有效性
if f_CheckValue()=False then exit;
// 数据保存处理
DataModule1.ADOConnection1.BeginTrans;
try
ADOQ_Data.UpdateBatch;
//
DataModule1.ADOConnection1.CommitTrans;
except
DataModule1.ADOConnection1.RollbackTrans;
MessageBox(handle,'数据保存失败!','警告',MB_OK);
exit;
end;
MessageBox(handle,'数据保存成功!','提示',MB_OK+MB_ICONINFORMATION);
// 继续新增
if ParmEditorMode = 'ADD' then
begin
ParmId :='';
FormShow(nil);
end;
end;
{-------------------------------------------
放弃编辑
-------------------------------------------}
procedure TFrm_LendDetail.btnCancelClick(Sender: TObject);
begin
inherited;
ADOQ_Data.CancelBatch;
ADOQ_Data.close;
//
close;
end;
procedure TFrm_LendDetail.FormActivate(Sender: TObject);
begin
// inherited;
end;
{-------------------------------------------
表单初始化
-------------------------------------------}
procedure TFrm_LendDetail.FormCreate(Sender: TObject);
begin
inherited;
//
end;
{-------------------------------------------
退出时,放弃修改的数据
-------------------------------------------}
procedure TFrm_LendDetail.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
// 数据已修改?
if ADOQ_Data.Modified then
begin
// 放弃修改
btnCancelClick(nil);
end;
end;
procedure TFrm_LendDetail.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
//
end;
procedure TFrm_LendDetail.btnCloseClick(Sender: TObject);
begin
inherited;
close;
end;
procedure TFrm_LendDetail.FormShow(Sender: TObject);
begin
inherited;
// 打开数据
with ADOQ_Data do
begin
close;
Parameters.ParamByName('id').Value := ParmId;
open;
//
if ParmEditorMode = 'ADD' then
begin
append;
FieldByName('类型').AsString :='出租';
FieldByName('创建用户').AsString :=gs_login_username;
FieldByName('创建日期').AsString :=FormatDateTime('yyyy-mm-dd',f_GetNow());
FieldByName('成交价格').AsString :='0';
FieldByName('佣金金额').AsString :='0';
FieldByName('状态').AsString :='未处理';
POST;
end;
end;
//操作按钮
if ParmEditorMode = 'ADD' then
begin
pnlBargain.Visible:=false;
pnlBargainProc.Visible:=false;
dbrStatus.Visible:=false;
self.Height := 330;
end else
begin
pnlBargain.Visible:=true;
pnlBargainProc.Visible:=true;
dbrStatus.Visible:=true;
self.Height := 490;
end;
//
f_StatusChangeProc();
//
dbeNo.SetFocus();
end;
procedure TFrm_LendDetail.f_StatusChangeProc;
var
strStatus:string;
clBackColor:TColor;
i:integer;
begin
//
strStatus := ADOQ_Data.FieldByName('状态').AsString;
//
if (strStatus='已处理') then
begin
pnlBargain.Enabled := true;
clBackColor := clWindow;
end else
begin
pnlBargain.Enabled := false;
clBackColor := clBtnFace;
end;
dbeBargainName.Color := clBackColor;
dbeBargainPhoto.Color := clBackColor;
dbeBargainPassId.Color := clBackColor;
dbeBargainPrice.Color := clBackColor;
dbeBargainDate.Color := clBackColor;
dbeBargainEndDate.Color := clBackColor;
dbeBargainMemo.Color := clBackColor;
dbeCommisionAmt.Color := clBackColor;
dbeBargainNo.Color := clBackColor;
//
if (strStatus='未处理') then
begin
btnStatus_Lend.Enabled := true;
btnStatus_Cancel.Enabled := true;
btnStatus_Rest.Enabled := false;
end else
begin
btnStatus_Lend.Enabled := false;
btnStatus_Cancel.Enabled := false;
btnStatus_Rest.Enabled := true;
end;
end;
procedure TFrm_LendDetail.btnStatus_LendClick(Sender: TObject);
var
strCommandName:string;
begin
inherited;
//
strCommandName := TButton(Sender).Caption;
//
with ADOQ_Data do
begin
edit;
//
if strCommandName ='房屋出租' then
begin
FieldByName('状态').AsString:='已处理';
FieldByName('受理用户').AsString :=gs_login_username;
FieldByName('受理日期').AsString :=FormatDateTime('yyyy-mm-dd',f_GetNow());
end else if strCommandName ='房屋作废' then
begin
FieldByName('状态').AsString:='已作废';
FieldByName('受理用户').AsString :=gs_login_username;
FieldByName('受理日期').AsString :=FormatDateTime('yyyy-mm-dd',f_GetNow());
end else
begin
FieldByName('状态').AsString:='未处理';
FieldByName('成交人姓名').AsString:='';
FieldByName('成交人电话').AsString:='';
FieldByName('成交人身份证').AsString:='';
FieldByName('成交价格').AsString:='';
FieldByName('成交日期').AsString:='';
FieldByName('成交截止日期').AsString:='';
FieldByName('成交备注').AsString:='';
FieldByName('合同号').AsString:='';
FieldByName('佣金金额').AsString:='0';
FieldByName('受理用户').AsString:='';
FieldByName('受理日期').AsString:='';
end;
//
post;
end;
//
f_StatusChangeProc();
//
if pnlBargain.Enabled =true then
begin
dbeBargainName.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -