pubpersonal.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 248 行
PAS
248 行
unit pubpersonal;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, Db, ADODB, ImgList, Menus, INIFiles, StdCtrls;
type
TFormpubpersonal = class(TForm)
TreeView1: TTreeView;
ADOQuery1: TADOQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
ImageList1: TImageList;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
ADODataSet1: TADODataSet;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure PopupMenu1Popup(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
function GetFieldList: TStringList;
end;
var
Formpubpersonal: TFormpubpersonal;
FieldList: TStringList;
implementation
uses datamol, treefunc, main, formperson, profmove, raisepay, jiangchen,
formdismiss1, stoppay, changecard, atddata ;
{$R *.DFM}
procedure TFormpubpersonal.FormCreate(Sender: TObject);
begin
left:=0;
top:=75;
adoquery1.Open;
FieldList := TStringList.create;
TreeView1.items.BeginUpdate;
adoquery1.first;
while not adoquery1.eof do
begin
TreeAddItem(TreeView1, GetFieldList, adoquery1.getBookmark, false);
adoquery1.next;
end;
FieldList.clear;
TreeView1.Alphasort;
TreeView1.items.Endupdate;
end;
function TFormpubpersonal.GetFieldList: TStringList;
begin
FieldList.clear;
FieldList.add(adoquery1.fieldbyname('abm').asstring);
FieldList.add(adoquery1.fieldbyname('dept').asstring);
FieldList.add(adoquery1.fieldbyname('name').asstring);
Result := FieldList;
end;
procedure TFormpubpersonal.FormClose(Sender: TObject;
var Action: TCloseAction);
var ini:TINIFile;
begin
ini:=TINIFile.Create(extractfilepath(application.exename)+'Data\system.ini');
if application.messagebox('下次登入系统时是否显示《人事资料树状显示》','登入确认',mb_okcancel+mb_iconquestion)=idcancel then
ini.WriteInteger('TreeView','Enable',0)
else ini.WriteInteger('TreeView','Enable',1);
ini.Free;
adoquery1.close;
formpubpersonal:=nil;
end;
procedure TFormpubpersonal.PopupMenu1Popup(Sender: TObject);
var i:integer;
begin
for i:=0 to popupmenu1.Items.Count-1 do
begin
if treeview1.selected.level<>2 then
popupmenu1.Items[i].enabled:=false
else popupmenu1.items[i].enabled:=true;
end;
n12.Enabled:=true;
end;
procedure TFormpubpersonal.N4Click(Sender: TObject);
var pername,cardno,workno,con:string;
begin
con:=treeview1.Selected.Text;
pername:=copy(con,1,pos('(',con)-1);
delete(con,1,pos('(',con));
workno:=copy(con,1,pos(',',con)-1);
delete(con,1,pos(',',con));
cardno:=copy(con,1,pos(')',con)-1);
with datamod do
begin
case (sender as TMenuItem).tag of
1:begin //进入人事资料
if not assigned(formpeople) then
formpeople:=TFormpeople.create(self);
formpeople.show;
if adopersonal.active then
adopersonal.Locate('name;workno',VarArrayof([pername,workno]),[]);
end;
9:begin //进入人事异动
end;
2:begin //查看升迁资料
if not assigned(formprofmove) then
formprofmove:=tformprofmove.create(application);
formprofmove.show;
adoadvance.filter:='workno='''+workno+''' ';
adoadvance.filtered:=true;
end;
3:begin //查看调薪资料
if not assigned(formraisepay) then
formraisepay:=tformraisepay.create(application);
formraisepay.show;
adoraisepay.filter:='workno='''+workno+''' ';
adoraisepay.filtered:=true;
end;
4:begin //查看奖惩资料
if not assigned(formjiangchen) then
formjiangchen:=tformjiangchen.create(application);
formjiangchen.show;
adojiangchen.filter:='workno='''+workno+''' ';
adojiangchen.filtered:=true;
end;
41:begin //输入奖励资料
if not assigned(formjiangchen) then
formjiangchen:=tformjiangchen.create(application);
formjiangchen.show;
formjiangchen.PageControl1.activepageindex:=0;
formjiangchen.PageControl1.OnChange(formjiangchen.PageControl1);
if adojiangchen.Active then
begin
adojiangchen.append;
adojiangchen.FieldByName('workno').asstring:=workno;
formjiangchen.dbedit1.setfocus;
end;
end;
42:begin //输入惩罚资料
if not assigned(formjiangchen) then
formjiangchen:=tformjiangchen.create(application);
formjiangchen.show;
formjiangchen.PageControl1.activepageindex:=1;
formjiangchen.PageControl1.OnChange(formjiangchen.PageControl1);
if adojiangchen.Active then
begin
adojiangchen.append;
adojiangchen.FieldByName('workno').asstring:=workno;
formjiangchen.dbedit1.setfocus;
end;
end;
5:begin //进入离职作业
if not assigned(formdismiss) then
formdismiss:=tformdismiss.create(application);
formdismiss.show;
if adodismiss.active then
begin
adodismiss.append;
adodismiss.fieldbyname('workno').asstring:=workno;
formdismiss.wwDBLookupCombo3.setfocus;
end;
end;
6:begin //进入停薪留职
if not assigned(formstoppay) then
formstoppay:=tformstoppay.create(application);
formstoppay.show;
if adostoppay.active then
begin
adostoppay.append;
adostoppay.fieldbyname('workno').asstring:=workno;
formstoppay.dbedit1.setfocus;
end;
end;
7:begin //进入换卡作业
if not assigned(formchangecard) then
formchangecard:=Tformchangecard.create(self);
formchangecard.show;
with formchangecard do
begin
if ADOchangecard.Active then
begin
adochangecard.append;
adochangecard.FieldByName('oldcard').asstring:=cardno;
dbedit1.setfocus;
end;
end;
end;
8:begin //查看考勤资料
if not assigned(formatddata) then
formatddata:=TFormatddata.create(application);
formatddata.show;
formatddata.Edit1.text:=pername;
formatddata.Edit1.onexit(formatddata.Edit1);
formatddata.Edit4.text:=pername;
formatddata.Edit4.onexit(formatddata.Edit4);
end;
end;
end;
end;
procedure TFormpubpersonal.N12Click(Sender: TObject);
begin
formpubpersonal.Hide;
end;
procedure TFormpubpersonal.TreeView1Change(Sender: TObject;
Node: TTreeNode);
begin
{ i:string;
count1:string;
begin
// if node.Text=adoquery1.Locate(
adodataset1.Open;
i:=adodataset1.fieldbyname('dept').asstring;
if adodataset1.Locate('dept',node.text,[])=true then
begin
count1:=inttostr(adodataset1.RecordCount);
adodataset1.close;
adodataset1.CommandText:='Select distinct workno From per24010 where dept='''+i+''' and leave<>0';
adodataset1.open;
node.Text:=node.Text+i;
end;}
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?