⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bm_zhiyuanu.pas

📁 Delphi办公管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    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 + -