📄 viewunit.pas
字号:
unit viewunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, dxCntner, dxEditor,
dxExEdtr, dxEdLib,typinfo, Menus, db, ExtDlgs, adodb;
type
TViewForm = class(TForm)
MainPage: TPageControl;
RSPage: TTabSheet;
GZpage: TTabSheet;
TXpage: TTabSheet;
OtherPage: TTabSheet;
Panel1: TPanel;
CancelBtn: TBitBtn;
OKbtn: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
photo: TImage;
name: TEdit;
sex: TComboBox;
MZ: TComboBox;
born: TdxDateEdit;
XL: TComboBox;
ZM: TComboBox;
HY: TComboBox;
IDcard: TEdit;
DAH: TEdit;
BM: TComboBox;
DW: TComboBox;
WorkLB: TComboBox;
GW: TComboBox;
JobDate: TdxDateEdit;
CGdate: TdxDateEdit;
DNH: TEdit;
YLcard: TEdit;
YG: TComboBox;
Label19: TLabel;
YBH: TEdit;
Label20: TLabel;
ZC: TComboBox;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
JNpay: TdxCurrencyEdit;
GSBT: TdxCurrencyEdit;
GW94: TdxCurrencyEdit;
GW96: TdxCurrencyEdit;
GW2003: TdxCurrencyEdit;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
LGdate: TdxDateEdit;
TXdate: TdxDateEdit;
TXBL: TdxSpinEdit;
TXstarPay: TdxCurrencyEdit;
TXAddPay: TdxCurrencyEdit;
TXNY: TdxCurrencyEdit;
TXSD: TdxCurrencyEdit;
TXGS: TdxCurrencyEdit;
TXTolPay: TdxCurrencyEdit;
NTpage: TTabSheet;
TYpage: TTabSheet;
JSpage: TTabSheet;
NTdate: TdxDateEdit;
NTBL: TdxSpinEdit;
NTTolPay: TdxCurrencyEdit;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
TYdate: TdxDateEdit;
TYBL: TdxSpinEdit;
TYstarPay: TdxCurrencyEdit;
TYSD: TdxCurrencyEdit;
TYNY: TdxCurrencyEdit;
TYGS: TdxCurrencyEdit;
TYTolPay: TdxCurrencyEdit;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
JSDate: TdxDateEdit;
JSwhy: TComboBox;
TingXinDate: TdxDateEdit;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
LiangXi: TMemo;
Address: TMemo;
JTQK: TMemo;
JL: TMemo;
PopupMenu1: TPopupMenu;
Label52: TLabel;
ZM_date: TdxDateEdit;
OpenPictureDialog1: TOpenPictureDialog;
PhotoMenu: TPopupMenu;
C1: TMenuItem;
ViewFrmTOPmenu: TPopupMenu;
T1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure bornKeyPress(Sender: TObject; var Key: Char);
procedure MainPageChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure BMChange(Sender: TObject);
procedure photoDblClick(Sender: TObject);
procedure OKbtnClick(Sender: TObject);
procedure IDcardKeyPress(Sender: TObject; var Key: Char);
procedure DWEnter(Sender: TObject);
procedure C1Click(Sender: TObject);
procedure T1Click(Sender: TObject);
private
{ Private declarations }
function GetNewID():integer;
public
{ Public declarations }
procedure getbmlist(bmlst:tstrings);
procedure getdwlist(bm:string;dwlst:tstrings);
function getdwid(bm,dw:string):string;
procedure ZZView;
procedure NTView;
procedure TYView;
procedure TXView;
procedure JSView;
procedure DelRecord(quy:tadoquery;mainid:integer);
procedure EmptyEdit; //清空所有输入框
procedure SetPages(pgs:TPageControl; CanUse:boolean);
procedure CheckRecord;
procedure AddRecord; //Add a new record
procedure UpdateRecord;
end;
var
ViewForm: TViewForm;
implementation
uses dataunit,MainUnit,barunit;
{$R *.dfm}
procedure tviewform.getbmlist(bmlst:tstrings);
begin
with dataform.selquy do
begin
bmlst.Clear;
Close;
SQL.Clear;
SQL.Add('select distinct bm from dw');
Open;
while not Eof do
begin
bmlst.Add(trim(fields.fieldbyname('bm').AsString));
Next;
end; // while
Close;
end; // with
end;
procedure tviewform.getdwlist(bm:string;dwlst:tstrings);
begin
with dataform.selquy do
begin
dwlst.Clear;
Close;
SQL.Clear;
SQL.Add('select distinct dw from dw where bm=:bm');
Parameters.ParamByName('bm').Value := bm;
Open;
while not Eof do
begin
dwlst.Add(trim(Fields.fieldbyname('dw').AsString));
Next;
end; // while
Close;
end; // with
end;
function tviewform.getdwid(bm,dw:string):string;
begin
with dataform.selquy do
begin
Close;
SQL.Clear;
SQL.Add('select dw_id from dw where (bm=:bm)and(dw=:dw)');
Parameters.ParamByName('bm').Value := bm;
Parameters.ParamByName('dw').Value := dw;
Open;
if Fields.Count > 0 then
result := trim(Fields.fieldbyname('dw_id').AsString)
else
result := '';
Close;
end; // with
end;
procedure tviewform.UpdateRecord; //update record
var
ms:tmemorystream;
i:integer;
tempsql:tstrings;
begin
with dataform.CMD do
begin
if fileexists(filepath+'SQL\update.sql') then
begin
tempsql := tstringlist.Create;
try
tempsql.LoadFromFile(filepath+'SQL\update.sql');
commandtext:=tempsql.Text;
finally
tempsql.Free;
end;
end;
parameters.ParamByName('name').Value := viewform.name.Text;
parameters.ParamByName('sex').Value := viewform.sex.Text;
parameters.ParamByName('mz').Value := viewform.MZ.Text;
if trim(viewform.born.Text) = '' then
parameters.ParamByName('born').Value := null
else
parameters.ParamByName('born').Value := viewform.born.Date;
if trim(viewform.JobDate.Text) = '' then
parameters.ParamByName('jobdate').Value := null
else
parameters.ParamByName('jobdate').Value := viewform.JobDate.Date;
if trim(viewform.CGdate.Text) = '' then
parameters.ParamByName('cgdate').Value := null
else
parameters.ParamByName('cgdate').Value := viewform.CGdate.Date;
parameters.ParamByName('hunyin').Value := viewform.HY.Text;
parameters.ParamByName('gw').Value := viewform.GW.Text;
parameters.ParamByName('xueli').Value := viewform.XL.Text;
parameters.ParamByName('zc').Value := viewform.ZC.Text;
parameters.ParamByName('zm').Value := viewform.ZM.Text;
if trim(viewform.ZM_date.Text) = '' then
parameters.ParamByName('zm_date').Value := null
else
parameters.ParamByName('zm_date').Value := viewform.ZM_date.Date;
if trim(viewform.LiangXi.Text) = '' then
parameters.ParamByName('lianxi').Value := ' '
else
parameters.ParamByName('lianxi').Value := viewform.LiangXi.Text;
if trim(viewform.Address.Text) = '' then
parameters.ParamByName('address').Value := ' '
else
parameters.ParamByName('address').Value := viewform.Address.Text;
if trim(viewform.JL.Text) = '' then
parameters.ParamByName('jl').Value := ' '
else
parameters.ParamByName('JL').Value := viewform.Jl.Text;
if trim(viewform.JTQK.Text) = '' then
parameters.ParamByName('jtqk').Value := ' '
else
parameters.ParamByName('jtqk').Value := viewform.JTQK.Text;
parameters.ParamByName('idcard').Value := viewform.IDcard.Text;
parameters.ParamByName('dangan').Value := viewform.DAH.Text;
parameters.ParamByName('diannao').Value := viewform.DNH.Text;
parameters.ParamByName('yiliaocard').Value := viewform.YLcard.Text;
parameters.ParamByName('jnpay').Value := viewform.JNpay.Value;
parameters.ParamByName('gw94').Value := viewform.GW94.Value;
parameters.ParamByName('gw96').Value := viewform.GW96.Value;
parameters.ParamByName('gw2003').Value := viewform.GW2003.Value;
parameters.ParamByName('worklb').Value := viewform.WorkLB.Text;
parameters.ParamByName('yonggong').Value := viewform.YG.Text;
if (photo.Tag = 0) and (not photo.Picture.Bitmap.Empty) then //load photo
begin
ms := tmemorystream.Create;
photo.Picture.Bitmap.SaveToStream(ms);
parameters.ParamByName('photo').LoadFromStream(ms,ftblob);
end
else
begin
parameters.ParamByName('photo').Value := null;
end;
parameters.ParamByName('dw_id').Value := getdwid(bm.Text,dw.Text);
case barform.Tag of //
0:begin //zz
i := dataform.ZZquy.Fields.fieldbyname('main_id').AsInteger;
parameters.ParamByName('mainid').Value := i;
parameters.ParamByName('zt').Value := 'zz';
parameters.ParamByName('gsbt').Value := viewform.GSBT.Value;
parameters.ParamByName('bl').Value := null; //
parameters.ParamByName('lgdate').Value := null; //
parameters.ParamByName('txdate').Value := null; //
parameters.ParamByName('starpay').Value := null; //
parameters.ParamByName('tolpay').Value := null; //
parameters.ParamByName('ztsd').Value := null; //
parameters.ParamByName('ztny').Value := null; //
Execute;
barform.DelNode(barform.ZZTree,i);
barform.ZZAddNode(bm.Text,dw.Text,viewform.name.Text,sex.Text,i);
barform.ZZTree.Refresh;
dataform.ZZquy.Requery();
dataform.ZZquy.Locate('main_id',i,[]);
end;
1:begin //nt
i := dataform.NTquy.Fields.fieldbyname('main_id').AsInteger;
parameters.ParamByName('mainid').Value := i;
parameters.ParamByName('zt').Value := 'nt';
parameters.ParamByName('gsbt').Value := viewform.GSBT.Value;
parameters.ParamByName('lgdate').Value := viewform.NTdate.Date;
parameters.ParamByName('bl').Value := viewform.NTBL.Value;
parameters.ParamByName('tolpay').Value := viewform.NTTolPay.Value;
parameters.ParamByName('txdate').Value := null; //
parameters.ParamByName('starpay').Value := null; //
parameters.ParamByName('ztsd').Value := null; //
parameters.ParamByName('ztny').Value := null; //
Execute;
barform.DelNode(barform.NTTree,i);
barform.AddNode(barform.NTTree,bm.Text,viewform.name.Text,sex.Text,i);
barform.NTTree.Refresh;
dataform.NTquy.Requery();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -