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

📄 hm_emp.~pas

📁 本课题是为企业人事管理提供现代化技术支持的管理信息系统
💻 ~PAS
字号:
unit hm_emp;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, ComCtrls, ToolWin, Buttons,
  DB, ADODB;

type
  Thm_empForm = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    StatusBar1: TStatusBar;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Memo1: TMemo;
    Edit4: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    Memo2: TMemo;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    ADOQuery3: TADOQuery;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  hm_empForm: Thm_empForm;
implementation

uses hm_main, hm_login;

{$R *.dfm}

//--------------招聘信息窗口生成时,为对对普通用户封锁编辑类选项
procedure Thm_empForm.FormCreate(Sender: TObject);

begin

    //3、为对对普通用户封锁编辑类选项
    if hm_loginForm.idright < 2 then
    begin
        SpeedButton1.Enabled:=false;
        SpeedButton2.Enabled:=false;
        SpeedButton3.Enabled:=false;
    end;
    
end;


//---------------当招聘信息窗口显示时,1、初始化编辑模式为对招聘有效;
//----------------------------------2、显示所有的招聘信息
procedure Thm_empForm.FormShow(Sender: TObject);
var
    i:integer;
begin
    //1、初始化编辑模式为对招聘有效;
     RadioButton1.Checked:=true;
    //将部门信息填入Combobox1
    ADOQuery2.close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Text := 'select * from 部门信息';
    ADOQuery2.Open;
    if not ADOQuery2.Eof then
    begin
        Combobox1.Clear;
        for i :=0 to ADOQuery2.RecordCount - 1 do
        begin
            Combobox1.AddItem(ADOQuery2.FieldByName('名称').AsString, nil);
            ADOQuery2.next;
        end;
    end;
    ADOQuery2.close;
    //2、显示所有的招聘信息
    ADOQuery1.close;
    ADOQuery1.Open;
    if ADOQuery1.RecordCount =0 then
    begin
        ShowMessage('目前没有招聘信息!');
    end;
    Edit1.Clear;
    Edit2.Clear;
    Edit3.Clear;
    Edit4.Clear;
    Memo1.Clear;
    Memo2.Clear;
   DBGrid1CellClick(nil);
end;

//--------招聘信息窗口关闭时,显示主窗口--------------
procedure Thm_empForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    hm_mainForm.Visible:=true;
end;

//--------点击招聘信息表时,在下面显示详细信息同时显示相关的应聘信息
procedure Thm_empForm.DBGrid1CellClick(Column: TColumn);
begin
    if ADOQuery1.RecordCount = 0 then Exit;
    //显示详细信息
    Edit1.Text := DBGrid1.Fields[0].AsString ;
    ComboBox1.Text := DBGrid1.Fields[1].AsString ;
    Edit2.Text := DBGrid1.Fields[2].AsString ;
    Memo1.Text := ADOQuery1.FieldByName('要求').AsString;
    //显示相关的应聘信息
    if (trim(ADOQuery1.FieldByName('条目号').AsString)<>'') then
    begin
        GroupBox2.Caption:='应聘信息 of 岗位 '+Edit1.Text;
        ADOQuery2.close;
        ADOQuery2.SQL.Clear;
        ADOQuery2.SQL.Text := 'select * from 应聘信息 where 招聘条目='+ADOQuery1.FieldByName('条目号').AsString;
        ADOQuery2.Open;
        Edit3.Clear;
        Edit4.Clear;
        Memo2.Clear;
    end;
end;
//--------点击招聘信息表时,显示详细信息-------------
procedure Thm_empForm.DBGrid2CellClick(Column: TColumn);
begin
    if ADOQuery2.RecordCount = 0 then Exit;
    Edit3.Text := ADOQuery2.FieldByName('姓名').AsString;//DBGrid1.Fields[0].AsString ;
    Edit4.Text := ADOQuery2.FieldByName('联系电话').AsString;//DBGrid1.Fields[1].AsString ;
    Memo2.Text := ADOQuery2.FieldByName('个人简介').AsString;
end;

//------------------选择修改--------------------
procedure Thm_empForm.SpeedButton1Click(Sender: TObject);
begin
  //根据编辑模式,将确定和取消按钮移到相应位置
  if RadioButton1.Checked then
  begin //招聘信息窗口下
      SpeedButton4.Left:=81;
      SpeedButton5.Left:=177;
  end
  else
  begin//应聘信息窗口下
      SpeedButton4.Left:=353;
      SpeedButton5.Left:=457;
  end;
  SpeedButton4.Visible:=true;
  SpeedButton5.Visible:=true;
  SpeedButton2.Enabled:=false;
  SpeedButton3.Enabled:=false;
end;
//------------------选择添加--------------------
procedure Thm_empForm.SpeedButton2Click(Sender: TObject);
begin
  //同上,根据编辑模式,将确定和取消按钮移到相应位置
  if RadioButton1.Checked then
  begin
      SpeedButton4.Left:=81;
      SpeedButton5.Left:=177;
  end
  else
  begin
      SpeedButton4.Left:=353;
      SpeedButton5.Left:=457;
  end;
  SpeedButton4.Visible:=true;
  SpeedButton5.Visible:=true;
  SpeedButton1.Enabled:=false;
  SpeedButton3.Enabled:=false;
end;

//---------------------选择清除条目信息--------------
procedure Thm_empForm.SpeedButton3Click(Sender: TObject);
var
  tempstr:string;
  num:string;
begin
    //区分编辑模式
    if RadioButton1.Checked then
    begin
        if ADOQuery1.RecordCount = 0  then
        begin
          showmessage('记录不存在,请重新选择');
          exit;
        end;
        num:=ADOQuery1.FieldByName('条目号').AsString;
        tempstr:='招聘';
    end
    else
    begin
        if (ADOQuery2.RecordCount = 0)  then
        begin
          showmessage('记录不存在,请重新选择');
          exit;
        end;
        num:=ADOQuery2.FieldByName('条目号').AsString;
        tempstr:='应聘';
    end;
    if Trim(num) = '' then
    begin
      showmessage('记录不存在,请重新选择');
      exit;
    end;
    //执行删除操作
    if MessageBox(handle,pchar('要删除此'+tempstr+'条目吗?'), '提示', mb_IconQuestion + mb_OkCancel) = idOk then
    begin
        ADOQuery3.close;
        ADOQuery3.SQL.Clear;
        ADOQuery3.SQL.Text := 'delete from '+tempstr+'信息 where 条目号 ='+num;
        ADOQuery3.ExecSQL;
        ADOQuery1.close;
        ADOQuery2.close;
        ADOQuery1.Open;
        ADOQuery2.Open;
    end;
end;

//----------------- 确定修改,添加----------------------
procedure Thm_empForm.SpeedButton4Click(Sender: TObject);
begin
    if RadioButton1.Checked then//对招聘信息操作
    begin
        if SpeedButton1.Enabled=true then//区分是修改还是添加
        begin
            if ADOQuery1.RecordCount = 0 then exit;
            ADOQuery1.Edit;
        end
        else
        begin
            ADOQuery1.Append;
        end;
        //执行
        ADOQuery1.FieldByName('招聘岗位').AsString:=Edit1.Text;
        ADOQuery1.FieldByName('所属部门').AsString:=ComboBox1.Text;
        ADOQuery1.FieldByName('人数').AsString:=Edit2.Text;
        ADOQuery1.FieldByName('要求').AsString:=Memo1.Text;
        ADOQuery1.Post;
    end
    else
    begin
        if SpeedButton1.Enabled=true then//对应聘信息操作 ;同上
        begin
            if ADOQuery1.RecordCount = 0 then exit;
            ADOQuery2.Edit;
        end
        else
        begin
            ADOQuery2.Append;
        end;
        ADOQuery2.FieldByName('招聘条目').AsString:=ADOQuery1.FieldByName('条目号').AsString;
        ADOQuery2.FieldByName('姓名').AsString:=Edit3.Text;
        ADOQuery2.FieldByName('联系电话').AsString:=Edit4.Text;
        ADOQuery2.FieldByName('个人简介').AsString:=Memo2.Text;
        ADOQuery2.Post;
    end;
    SpeedButton5Click(nil);
end;

//------------------取消修改,添加操作-----------------
procedure Thm_empForm.SpeedButton5Click(Sender: TObject);
begin
    SpeedButton4.Visible:=false;
    SpeedButton5.Visible:=false;
    SpeedButton2.Enabled:=true;
    SpeedButton3.Enabled:=true;
    SpeedButton1.Enabled:=true;
end;



procedure Thm_empForm.RadioButton2Click(Sender: TObject);
begin
  DBGrid2CellClick(nil);
end;

end.

⌨️ 快捷键说明

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