📄 bm_zhiyuanu.pas
字号:
zhiwu.Text := '';
memo.Text := '';
email.Text :='';
bangong.Text :='';
zhuzhai.Text :='';
shouji.Text :='';
jichu.Text :='';
gangwei.Text := '';
jiaban.Text := '';
zhufang.Text := '';
xiaoyi.Text := '';
diqu.Text := '';
gongling.Text:= '';
heji.Text := '';
end;
procedure TBM_ZHIYUANF.saveClick(Sender: TObject);
var
strName: String;
begin
button_valid;
{DM.zhiyuan2.Close;
DM.zhiyuan2.Open ;
if DM.zhiyuan2.Locate('公司名称',xingming.text,[])then
begin
showmessage('已经有重复的人员名称,请区分输入!');
exit;
end ; }
// count;
with dm.qryRun do
begin
Close;
SQL.Text := ' update zhiyuan set 姓名 = "'
+ xingming.Text + '",'
+ '性别="' +cb1.Text +'",'
+ '出生时间="' +shengri.Text +'",'
+ '公司名称="' +xingming.Text +'",'
+ '籍贯="' +jiguan.Text +'",'
+ '学历="' +xueli.Text +'",'
+ '职称="' +zhicheng.Text +'",'
+ '身份="' +shenfen.Text +'",'
+ '职务="' +zhiwu.Text +'",'
+ '调入公司时间="' +diaoru.Text +'",'
+ 'email="' +email.Text +'",'
+ '办公电话="' +bangong.Text +'",'
+ '住宅电话="' +zhuzhai.Text +'",'
+ '手机号码="' +shouji.Text +'",'
+ '备注="' +memo.Text +'"'
+ ' where ID = '+IntToStr(vv);
// + IntToStr(Integer(TreeView1.Selected.Data));
Prepared := True;
ExecSQL;
DM.zhiyuan2.Open ;
//DM.ZHIGONG.Refresh;
saveimage;
end;
TreeView1.Selected.Text := xingming.Text ;
TreeView1.SetFocus;
TreeView1.Selected.Selected := True;
noedit;
end;
procedure TBM_ZHIYUANF.hui1Click(Sender: TObject);
begin
button_valid;
noedit;
// AORE:=true;
end;
procedure TBM_ZHIYUANF.SpeedButton6Click(Sender: TObject);
begin
OpenDialog1.Execute ;
if OpenDialog1.FileName<>'' then photo.Picture.LoadFromFile(OpenDialog1.FileName );
end;
procedure TBM_ZHIYUANF.SpeedButton7Click(Sender: TObject);
begin
photo.Picture.Assign(nil);
end;
procedure TBM_ZHIYUANF.N3Click(Sender: TObject);
begin
hui1Click(Sender);
end;
procedure TBM_ZHIYUANF.N4Click(Sender: TObject);
begin
saveClick(Sender);
end;
procedure TBM_ZHIYUANF.N6Click(Sender: TObject);
begin
SpeedButton4Click(Sender);
end;
procedure TBM_ZHIYUANF.change;
begin
with dm.bumen do
begin
open;
end;
end;
procedure TBM_ZHIYUANF.DBNavigator1Click(Sender: TObject;
Button: TNavigateBtn);
begin
//DBImage1.DataSource:=dm.D_ZHIGONG;
end;
procedure TBM_ZHIYUANF.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
n: TTreeNode;
begin
if not Node.HasChildren or (Node.Count <> 0) then Exit;
with dm.qryRun do
begin
//写入树
Close;
SQL.Text := 'select * from zhiyuan '
+ ' where 部门编码 = ' + IntToStr(integer(Node.data));
Open;
First;
while not eof do
begin
n := TreeView1.Items.AddChildObject(Node,FieldByName('公司名称').AsString,Pointer(FieldByName('ID').AsInteger));
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Text := 'select Count(*) from zhiyuan '
+ ' where 部门编码 = ' + dm.qryRun.FieldByName('ID').AsString; //查看是否有下级子树
dm.ADOQuery1.Open;
if dm.ADOQuery1.Fields[0].AsInteger <> 0 then
n.HasChildren := True;
Next;
end;
end;
end;
procedure TBM_ZHIYUANF.AddPID(Node: TTreeNode; StrName: String;
vi: Boolean);
var
n: TTreeNode;
begin
//增加数据 当 vi = True 是加入同级的
with dm.qryRun do
begin
Close;
if vi then
SQL.Text := ' select * from zhiyuan '
+ ' where 部门编码='+ IntToStr(Integer(Node.Parent.Data))
else
SQL.Text := ' select * from zhiyuan '
+ ' where 部门编码=' + IntToStr(Integer(Node.Data));
Open;
Append;
if vi then
dm.qryRun['部门编码']:=Integer(Node.Parent.Data)
else
dm.qryRun['部门编码']:=IntToStr(Integer(Node.Data));
dm.qryRun['公司名称']:=strName;
Post;
if vi then
n := treeview1.Items.AddObject
(treeview1.Selected,strName,Pointer(FieldByName('ID').AsInteger))
else
n := treeview1.Items.AddChildObject
(treeview1.Selected,strName,Pointer(FieldByName('ID').AsInteger));
end;
TreeView1.SetFocus;
n.Selected := True;
end;
procedure TBM_ZHIYUANF.DeleteData(AutoID: Integer);
var
QryTmp: TADOQuery;
begin
//删除树
with dm.qryRun do
begin
Close;
SQL.Text := ' delete from zhiyuan where ID = '
+ IntToStr(AutoID);
ExecSQL;
end;
QryTmp := TADOQuery.Create(Self);
QryTmp.Connection := dm.Cnn ;
with QryTmp do
begin
Close;
SQL.Text := 'Select * from zhiyuan '
+ ' where 部门编码 = ' + IntToStr(AutoID);
Open;
while not Eof do
begin
DeleteData(FieldByName('Id').AsInteger); //递归调用过程
Next;
end;
end;
QryTmp.Free;
end;
procedure TBM_ZHIYUANF.refreshTree;
begin
end;
procedure TBM_ZHIYUANF.TreeView1Click(Sender: TObject);
var
mynode: Ttreenode;
s_value_1,bianma: string;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
SpeedButton1.Enabled :=true;
SpeedButton11.Enabled :=true;
SpeedButton2.Enabled :=true;
SpeedButton3.Enabled :=true;
// SpeedButton19.Enabled :=true;
// SpeedButton17.Enabled :=true;
if mynode.Level = 3 then
begin
DM.zhiyuan2.Close;
DM.zhiyuan2.Open ;
DM.zhiyuan2.Locate('公司名称',mynode.text,[]);
// nos:=DM.zhiyuan2.fieldbyname('id').AsInteger ;
SpeedButton18.Enabled :=true;
SpeedButton20.Enabled :=true;
readdata;
end
else
begin
begin
SpeedButton18.Enabled :=false;
SpeedButton16.Enabled :=false;
SpeedButton21.Enabled :=false;
SpeedButton22.Enabled :=false;
SpeedButton8.Enabled :=false;
SpeedButton20.Enabled :=false;
SpeedButton19.Enabled :=false;
SpeedButton23.Enabled :=false;
SpeedButton24.Enabled :=false;
SpeedButton17.Enabled :=false;
cls;
photo.Picture.Assign(nil);
if (mynode.Level = 1) then
begin
mc:=Treeview1.selected.Text;
BM_OFFICEF.StatusBar1.Panels[0].TEXT :='【所属公司】:' +Treeview1.selected.Text ;
end;
if (mynode.Level = 2) then BM_OFFICEF.StatusBar1.Panels[0].TEXT :='【所属公司】:' +mc+'--【部门】:'+Treeview1.selected.Text ;
end;
noedit;
if hui1.Enabled then
begin
//button_valid;
SpeedButton1.Enabled :=true;
SpeedButton11.Enabled :=true;
SpeedButton2.Enabled :=true;
SpeedButton3.Enabled :=true;
hui1.Enabled :=false;
save.Enabled :=false;
end;
end;
label55.Caption :='职员:【'+xingming.text+'】';
label28.Caption :='职员:【'+xingming.text+'】';
end;
procedure TBM_ZHIYUANF.SpeedButton2Click(Sender: TObject);
var
mynode: Ttreenode;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
if mynode.Level <1 then exit ;
if MessageBox(0, '你确定删除该条记录吗?', '提示', MB_YESNO + MB_ICONQUESTION) =IDYES then
begin
DeleteData(Integer(TreeView1.Selected.Data));
TreeView1.Selected.Delete;
cls;
photo.Picture.Assign(nil);
end;
end;
procedure TBM_ZHIYUANF.SpeedButton11Click(Sender: TObject);
var
strName: String;
mynode: Ttreenode;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
if mynode.Level <1 then exit
else
begin
strName:=inputbox('新增','请输入同级分类名称: ','');
strName:=trim(strName);
if strName='' then exit;
AddPID(TreeView1.Selected, strName, True);
end;
end;
procedure TBM_ZHIYUANF.cb1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
begin
shengri.SetFocus ;
shengri.Text :=datetostr(date);
end;
end;
procedure TBM_ZHIYUANF.shengriKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN jiguan.SetFocus ;
end;
procedure TBM_ZHIYUANF.xueliKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN zhicheng.SetFocus ;
end;
procedure TBM_ZHIYUANF.zhichengKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN shenfen.SetFocus ;
end;
procedure TBM_ZHIYUANF.shenfenKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN zhiwu.SetFocus ;
end;
procedure TBM_ZHIYUANF.zhiwuKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN diaoru.SetFocus ;
end;
procedure TBM_ZHIYUANF.emailKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN bangong.SetFocus ;
end;
procedure TBM_ZHIYUANF.FormKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
begin
key:=#0;
PERFORM(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TBM_ZHIYUANF.dwDropDown(Sender: TObject);
var i:integer;
begin
dw.Items.Clear ;
bm.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 公司名称 from zhiyuan where 部门编码=-1');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
dw.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
end;
procedure TBM_ZHIYUANF.bmDropDown(Sender: TObject);
var i:integer;
ss:string;
begin
bm.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
ss:='select distinct 公司名称 from zhiyuan where 部门编码 in ';
ss:=ss+ '(select id from zhiyuan where 公司名称="'+dw.text+'")';
sql.Add(ss);
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
bm.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
end;
procedure TBM_ZHIYUANF.dwClick(Sender: TObject);
begin
bm.Items.Clear ;
end;
procedure TBM_ZHIYUANF.sfDropDown(Sender: TObject);
//var i:integer;
begin
{sf.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 身份 from zhiyuan where 身份 is not null');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
sf.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.zcDropDown(Sender: TObject);
//var i:integer;
begin
{zc.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 职称 from zhiyuan ');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
zc.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.zwDropDown(Sender: TObject);
//var i:integer;
begin
{zw.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 职务 from zhiyuan ');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
zw.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.SpeedButton10Click(Sender: TObject);
var str,str2:string;
begin
with dm.qzhiyuan do
begin
close;
sql.Clear ;
{
str:='select * from zhiyuan where id is not null ';
if xm.Text <>'' then
begin
str:='select a.公司名称 as gongsi,b.公司名称 as bumen,c.公司名称 as xingming,';
str:=str+'c.性别 as xingbie,c.出生时间 as chusheng,c.籍贯,';
str:=str+'c.学历 as xueli,c.职称,c.职务 as zhiwu,c.身份 as shenfen,c.调入公司时间 as diaoru,c.办公电话,';
str:=str+'c.住宅电话,c.手机号码,c.email ';
str:=str+'from zhiyuan a,zhiyuan b,zhiyuan c ';
str:=str+'where a.部门编码=-1 and b.部门编码=a.id and c.部门编码=b.id ';
end
else
begin
if (dw.Text <>'') and (bm.Text ='') then
begin
str2:=' 部门编码 in (select id from zhiyuan where 公司名称="'+dw.text+'")';
str:=str+' and '+str2;
if zw.Text <>'' then str:=str+' and 职务="' +trim(zw.text) +'"';
if zc.Text <>'' then str:=str+' and 职称="' +trim(zc.text) +'"';
if sf.Text <>'' then str:=str+' and 身份="' +trim(sf.text) +'"';
end;
if (dw.Text <>'') and (bm.Text <>'') then
begin
str2:=' 部门编码 in (select id from zhiyuan where 公司名称="'+trim(dw.text)+'")';
str2:=str2+' and 公司名称="' +bm.text +'"';
str:=str+' and 部门编码 in ';
str:=str+'(select id from zhiyuan where '+str2+')';
if zw.Text <>'' then str:=str+' and 职务="' +trim(zw.text) +'"';
if zc.Text <>'' then str:=str+' and 职称="' +trim(zc.text) +'"';
if sf.Text <>'' then str:=str+' and 身份="' +trim(sf.text) +'"';
end;
end; }
str:='select a.公司名称 as gongsi,b.公司名称 as bumen,c.公司名称 as xingming,';
str:=str+'c.性别 as xingbie,c.出生时间 as chusheng,c.籍贯,';
str:=str+'c.学历 as xueli,c.职称,c.职务 as zhiwu,c.身份 as shenfen,c.调入公司时间 as diaoru,c.办公电话,';
str:=str+'c.住宅电话,c.手机号码,c.email,c.id as bian ';
//str:=str+'d.基本工资,d.地区补贴,d.岗位工资,d.工龄补贴,d.加班工资 ';
//str:=str+'d.效益工资,d.住房补贴,d.工资合计,d.变更时间,e.调动时间,e.调动公司,';
//str:=str+'e.调动部门,e.调动职称,e.调动原因 ';
str:=str+'from zhiyuan a,zhiyuan b,zhiyuan c ';
str:=str+'where a.部门编码=-1 and b.部门编码=a.id and c.部门编码=b.id ';
if xm.Text <>'' then
begin
str:=str+' and c.公司名称 like "%'+xm.text+'%"' ;
end ;
if bm.Text <>'' then
begin
str:=str+' and b.公司名称 like "%'+bm.text+'%"' ;
end ;
if dw.Text <>'' then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -