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 + -
显示快捷键?