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

📄 hm_pinf.~pas

📁 本课题是为企业人事管理提供现代化技术支持的管理信息系统
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
unit hm_pinf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, ImgList, DBCtrls, Grids, DBGrids,
  Mask, DB, ADODB, jpeg,Math, Buttons;

type
  Thm_pinfForm = class(TForm)
    ImageList1: TImageList;
    Splitter1: TSplitter;
    GroupBox1: TGroupBox;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label24: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label23: TLabel;
    Label22: TLabel;
    hm_pname: TDBEdit;
    hm_psex: TDBComboBox;
    hm_pdep: TDBComboBox;
    hm_psorts: TDBEdit;
    hm_pduty: TDBEdit;
    hm_pprovi: TDBEdit;
    hm_pfolk: TDBEdit;
    hm_pslevel: TDBComboBox;
    hm_pspecial: TDBEdit;
    hm_pdes: TDBEdit;
    hm_pcardid: TDBEdit;
    hm_recnum: TDBEdit;
    hm_politics: TDBEdit;
    hm_plevel: TDBEdit;
    hm_pmarried: TDBComboBox;
    hm_phealth: TDBEdit;
    hm_pbaryear: TDBEdit;
    hm_paddress: TDBEdit;
    hm_ppcode: TDBEdit;
    pnlimg: TPanel;
    imgi: TImage;
    button1: TButton;
    button2: TButton;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    dbgrid2: TDBGrid;
    Label25: TLabel;
    Label27: TLabel;
    Label29: TLabel;
    Label28: TLabel;
    Label26: TLabel;
    dbgrid3: TDBGrid;
    Label30: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label32: TLabel;
    Label31: TLabel;
    dbgrid4: TDBGrid;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label39: TLabel;
    Label38: TLabel;
    Label40: TLabel;
    dbgrid5: TDBGrid;
    Label41: TLabel;
    Label42: TLabel;
    Label45: TLabel;
    Label43: TLabel;
    ADOQuery1: TADOQuery;
    Panel1: TPanel;
    Image1: TImage;
    TreeView1: TTreeView;
    Image2: TImage;
    DBGrid1: TDBGrid;
    Label21: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Image3: TImage;
    DataSource1: TDataSource;
    Label51: TLabel;
    DataSource2: TDataSource;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    hm_pnum: TDBEdit;
    Label52: TLabel;
    Label53: TLabel;
    DataSource3: TDataSource;
    ADOQuery4: TADOQuery;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    ComboBox1: TComboBox;
    Edit11: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    Edit17: TEdit;
    Label44: TLabel;
    Label54: TLabel;
    StatusBar1: TStatusBar;
    Edit10: TEdit;
    Edit18: TEdit;
    Memo2: TMemo;
    Memo1: TMemo;
    SpeedButton1: TSpeedButton;
    Image4: TImage;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    OpenDialog1: TOpenDialog;
    ADOQuery5: TADOQuery;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker6: TDateTimePicker;
    DateTimePicker7: TDateTimePicker;
    DateTimePicker8: TDateTimePicker;
    hm_StartEnd: TDBEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Label21MouseEnter(Sender: TObject);
    procedure Label21MouseLeave(Sender: TObject);
    procedure Label21Click(Sender: TObject);
    procedure Label46MouseEnter(Sender: TObject);
    procedure Label46MouseLeave(Sender: TObject);
    procedure Label46Click(Sender: TObject);
    procedure Label47MouseEnter(Sender: TObject);
    procedure Label47MouseLeave(Sender: TObject);
    procedure Label47Click(Sender: TObject);
    procedure Label48Click(Sender: TObject);
    procedure Label48MouseEnter(Sender: TObject);
    procedure Label48MouseLeave(Sender: TObject);
    procedure Label49Click(Sender: TObject);
    procedure Label49MouseEnter(Sender: TObject);
    procedure Label49MouseLeave(Sender: TObject);
    procedure Label50Click(Sender: TObject);
    procedure Label50MouseEnter(Sender: TObject);
    procedure Label50MouseLeave(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure TabSheet1Show(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure TabSheet4Show(Sender: TObject);
    procedure TabSheet5Show(Sender: TObject);
    procedure dbgrid2CellClick(Column: TColumn);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure dbgrid3CellClick(Column: TColumn);
    procedure dbgrid4CellClick(Column: TColumn);
    procedure dbgrid5CellClick(Column: TColumn);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure button1Click(Sender: TObject);
    procedure button2Click(Sender: TObject);
    procedure ADOQuery2BeforeScroll(DataSet: TDataSet);
    procedure ADOQuery2AfterOpen(DataSet: TDataSet);
   // procedure hm_psexExit(Sender: TObject);
   // procedure hm_pmarriedExit(Sender: TObject);
   // procedure hm_pdepExit(Sender: TObject);
   // procedure hm_pslevelExit(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
  private
    ActiveIndex: Integer;
    procedure ShowData;
    procedure ButtonState;
    procedure TabSheetState(Index: Integer=-1);
    { Private declarations }
  public
    { Public declarations }
  end;
type
 Ttable=array[1..2000,1..2] of string;
 Tindextable=array[1..2000,1..1] of integer;
var
  hm_pinfForm: Thm_pinfForm;
  temptable:Ttable;
  indextable:Tindextable;

implementation

uses hm_main, hm_login;

{$R *.dfm}
//--------------窗口生成时,对普通用户封锁编辑类选项-------------
procedure Thm_pinfForm.FormCreate(Sender: TObject);
begin
  //if hm_loginForm.idright < 2 then
  //begin
     SpeedButton2.Enabled:=false;
     //SpeedButton3.Enabled:=false;
     SpeedButton4.Enabled:=false;
  //end;
  ADOQuery2.close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Text := 'select * from 基本信息';
  ADOQuery2.Open;
  TabSheetState;
end;
//--------员工信息窗口关闭时,显示主窗口--------------
procedure Thm_pinfForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    hm_mainForm.Visible:=true;
end;


//---------共有六种导引方式----------------------------------

//----------第一种 组织关系导引 ,显示组织关系图
procedure Thm_pinfForm.Label21Click(Sender: TObject);
var
    pnode:TTreeNode;
    pnum,snum:integer;
    sname:string;
    ItemLevel:integer;
begin
    //未显示时,显示
    if not TreeView1.Visible then
    begin
        TreeView1.Visible:=true;
        Label21.Caption:='取消';
        adoquery1.Close;
        adoquery2.Close;
        //读入部门信息
        adoquery1.Open;

        while not adoquery1.Eof  do//表不空
        begin
            pnum:=adoquery1.FieldByName('父编号').AsInteger;
            snum:=adoquery1.FieldByName('编号').AsInteger;
            sname:=adoquery1.FieldByName('名称').AsString;
            ItemLevel:=adoquery1.FieldByName('层次').AsInteger;
            temptable[snum,2]:=adoquery1.FieldByName('最大子号').AsString;

            if (ItemLevel=0) then
            begin
                pnode:=treeview1.Items.AddFirst(nil,sname);
                indextable[pnode.AbsoluteIndex+1,1]:=snum;
                //如果是第一个节点,那么它没有父节点,其父节点是nil(空),创建第一个节点的数据
                temptable[snum,1]:=inttostr(pnode.AbsoluteIndex);
            end
            else
            begin//根据记录的父节点在树中的编号,依次将记录插入图中
                pnode:=treeview1.Items.Item[strtoint(temptable[pnum,1])];
                pnode:=treeview1.Items.AddChild(pnode,sname);
                indextable[pnode.AbsoluteIndex+1,1]:=snum;
                temptable[snum,1]:=inttostr(pnode.AbsoluteIndex);
            end;
            adoquery1.Next;
        end;
    end
    else
    begin //如果组织图已存在,则清除
        if treeview1.Items.Count <> 0 then
        begin
            treeview1.Items.Item[0].Delete;
        end;
        TreeView1.Visible:=false;
        Label21.Caption:='组织关系导引';
    end;
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label21MouseEnter(Sender: TObject);
begin
    Label21.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label21MouseLeave(Sender: TObject);
begin
    Label21.Font.Style:=[];
end;
//--------------点击组织关系图,显示该部门全部人员名单
procedure Thm_pinfForm.TreeView1Click(Sender: TObject);
begin
    DBGrid1.Enabled :=true;
    ADOQuery2.close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Text := 'select * from 基本信息 where 部门编号 < '+inttostr(indextable[treeview1.Selected.AbsoluteIndex+1,1]+strtoint(floattostr(intpower(10,3-treeview1.Selected.Level))))+' and 部门编号>='+inttostr(indextable[treeview1.Selected.AbsoluteIndex+1,1]);
    ADOQuery2.Open;
    Label51.Caption:=inttostr(ADOQuery2.RecordCount)+' 人';
end;

//------------------第二种基本信息导引,显示基本信息TabSheet1,等待输入查询信息-----
procedure Thm_pinfForm.Label46Click(Sender: TObject);
begin
    if Label21.Enabled <> false then
    begin
        DBGrid1.Enabled:=false;
        PageControl1.ActivePage:=TabSheet1;
        ADOQuery3.Close;
        ADOQuery3.SQL.Clear;
        ADOQuery3.SQL.Text := 'select * from 基本信息 where 编号=0';
        ADOQuery3.Open;
        ADOQuery3.Append;
        SpeedButton1.Visible :=true;
        Label21.Enabled:=false;
        Label47.Enabled:=false;
        Label48.Enabled:=false;
        Label49.Enabled:=false;
        Label50.Enabled:=false;
        Image4.Top:=Label46.Top-4;
        Image4.Visible:=true;
    end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label46MouseEnter(Sender: TObject);
begin
    Label46.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label46MouseLeave(Sender: TObject);
begin
    Label46.Font.Style:=[];
end;

//------------------第三种工作经历导引,显示工作经历TabSheet2,等待输入查询信息-----
procedure Thm_pinfForm.Label47Click(Sender: TObject);
begin
  if Label21.Enabled <> false then
  begin
      DBGrid1.Enabled:=false;
      PageControl1.ActivePage:=TabSheet2;
      ADOQuery2.Close;
      ADOQuery4.Close;
      SpeedButton1.Visible :=true;
      Label21.Enabled:=false;
      Label46.Enabled:=false;
      Label48.Enabled:=false;
      Label49.Enabled:=false;
      Label50.Enabled:=false;
      Image4.Top:=Label47.Top-4;
      Image4.Visible:=true;
  end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label47MouseEnter(Sender: TObject);
begin
    Label47.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label47MouseLeave(Sender: TObject);
begin
    Label47.Font.Style:=[];
end;

//------------------第四种社会关系导引,显示社会关系TabSheet3,等待输入查询信息-----
procedure Thm_pinfForm.Label48Click(Sender: TObject);
begin
    if Label21.Enabled <> false then
    begin
        DBGrid1.Enabled:=false;
        PageControl1.ActivePage:=TabSheet3;
        ADOQuery2.Close;
        ADOQuery4.Close;
        SpeedButton1.Visible :=true;
        Label21.Enabled:=false;
        Label46.Enabled:=false;
        Label47.Enabled:=false;
        Label49.Enabled:=false;
        Label50.Enabled:=false;
        Image4.Top:=Label48.Top-4;
        Image4.Visible:=true;
    end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label48MouseEnter(Sender: TObject);
begin
Label48.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label48MouseLeave(Sender: TObject);
begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -