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

📄 mainformunit.pas

📁 人事管理系统帮助人们管理复杂的关系
💻 PAS
字号:
unit MainFormUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, jpeg, ExtCtrls, ComCtrls, StdCtrls, Menus,
  ImgList, shellApi;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    incumbencyMenu: TMenuItem;
    IncumbencyAddRecord: TMenuItem;
    IncumbencyChangeRecord: TMenuItem;
    IncumbencyDelRecord: TMenuItem;
    N6: TMenuItem;
    IncumbencyReport: TMenuItem;
    PresentMenu: TMenuItem;
    PresentManger: TMenuItem;
    PrsentFind: TMenuItem;
    N4: TMenuItem;
    PresentReport: TMenuItem;
    LaborageMenu: TMenuItem;
    LaborageSet: TMenuItem;
    WorkerMonthLaborage: TMenuItem;
    MonthLaborageTotal: TMenuItem;
    N3: TMenuItem;
    LaborageReport: TMenuItem;
    AccountMenu: TMenuItem;
    addAccount: TMenuItem;
    DelAccount: TMenuItem;
    ChangePurview: TMenuItem;
    N2: TMenuItem;
    ChangePwd: TMenuItem;
    BakMenu: TMenuItem;
    DataBak: TMenuItem;
    DataR: TMenuItem;
    HelpMenu: TMenuItem;
    UseHelp: TMenuItem;
    N1: TMenuItem;
    AboutSystem: TMenuItem;
    ExitMenu: TMenuItem;
    FindPanel: TPanel;
    FindGB: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    edtWorkerNO: TEdit;
    BtNoFind: TButton;
    CBOtherFind: TComboBox;
    BtOtherFind: TButton;
    edtOFT: TEdit;
    TreeView1: TTreeView;
    DataShowPanel: TPanel;
    Image1: TImage;
    DBGrid1: TDBGrid;
    PopupMenu1: TPopupMenu;
    ViewInformation: TMenuItem;
    N5: TMenuItem;
    ChangeData: TMenuItem;
    DelData: TMenuItem;
    ImageList1: TImageList;
    N7: TMenuItem;
    procedure TreeView1DblClick(Sender: TObject);
    procedure BtNoFindClick(Sender: TObject);
    procedure BtOtherFindClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure IncumbencyAddRecordClick(Sender: TObject);
    procedure k(Sender: TObject);
    procedure IncumbencyDelRecordClick(Sender: TObject);
    procedure IncumbencyReportClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure IncumbencyChangeRecordClick(Sender: TObject);
    procedure PresentMangerClick(Sender: TObject);
    procedure DataBakClick(Sender: TObject);
    procedure DataRClick(Sender: TObject);
    procedure PrsentFindClick(Sender: TObject);
    procedure PresentReportClick(Sender: TObject);
    procedure addAccountClick(Sender: TObject);
    procedure DelAccountClick(Sender: TObject);
    procedure ChangePurviewClick(Sender: TObject);
    procedure ChangePwdClick(Sender: TObject);
    procedure ExitMenuClick(Sender: TObject);
    procedure LaborageSetClick(Sender: TObject);
    procedure WorkerMonthLaborageClick(Sender: TObject);
    procedure MonthLaborageTotalClick(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure LaborageReportClick(Sender: TObject);
    procedure UseHelpClick(Sender: TObject);
    procedure AboutSystemClick(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses DataMUnit, LoginFormUnit, AddWorkRecordUnit, ChangeRecordUnit,
  WorkerReportUnit, PrsentFormUnit, DataBakUnit, ReDataUnit,
  PrsentFindUnit, PrsentReportUnit, addAccountUnit, delAccountFormUnit,
  ChangePurviewFormUnit, ChangePwdFormUnit, MoneySetUnit, MoneyTotalUnit,
  MonthMoneyTotalUnit, MonthTotalaUnit, MonthMoneyFindFormUnit, AboutUnit;

{$R *.dfm}

procedure TMainForm.TreeView1DblClick(Sender: TObject);
var sel:integer;
begin

  sel := treeView1.Selected.Index;

  if DataM.ADOMSG.Active = true then
    DataM.ADOMSG.Close;
  DataM.ADOMSG.SQL.Clear;

  if sel = 0 then
    DataM.ADOMSG.SQL.Text:='select * from MSG'
  else if sel = 1 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 职位 <> ''' + '离退员工' + ''''
  else if sel = 2 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 职位 = ''' + '离退员工' + ''''
  else if sel = 3 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '人事部' + ''''
  else if sel = 4 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '财务部' + ''''
  else if sel = 5 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '供销部' + ''''
  else if sel = 6 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '研发部' + ''''
  else if sel = 7 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '后勤部' + ''''
  else if sel = 8 then
    DataM.ADOMSG.SQL.Text:='select * from MSG where 部门 = ''' + '调查部' + '''';

  DataM.ADOMSG.Prepared;
  DataM.ADOMSG.Open;
  DBgrid1.Visible := true;

  ShowMessage('共找到 '+IntToStr(DataM.ADOMSG.RecordCount)+' 条记录!');
end;

procedure TMainForm.BtNoFindClick(Sender: TObject);
begin
  if edtWorkerNO.Text <> '' then
    begin
      if DataM.ADOMSG.Active = true then
        DataM.ADOMSG.Close;
      DataM.ADOMSG.SQL.Clear;
      DataM.ADOMSG.SQL.Text:='select * from MSG where 员工编号 = ''' +edtWorkerNO.Text +'''';
      DataM.ADOMSG.Prepared;
      DataM.ADOMSG.Open;
      DBGrid1.Visible:=true;
    end
  else
    begin
      MessageBox(0,'编号不能为空?','人事管理系统V2.0', MB_OK+MB_ICONWARNING);
      edtWorkerNO.SetFocus;
    end;
end;

procedure TMainForm.BtOtherFindClick(Sender: TObject);
begin
  if edtOFT.Text <> '' then
    begin
      if DataM.ADOMSG.Active = true then
        DataM.ADOMSG.Close;
      DataM.ADOMSG.SQL.Clear;
      DataM.ADOMSG.SQL.Text:='select * from MSG where ' + CBOtherFind.Text +' = ''' +edtOFT.Text +'''';
      DataM.ADOMSG.Prepared;
      DataM.ADOMSG.Open;
      DBGrid1.Visible:=true;
    end
  else
    begin
      MessageBox(0,'查找内容不能为空?','人事管理系统V2.0', MB_OK+MB_ICONWARNING);
      edtOFT.SetFocus;
    end;
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  LoginForm.Close;
end;

procedure TMainForm.IncumbencyAddRecordClick(Sender: TObject);
begin
  AddWorkRecord.Show;
end;

procedure TMainForm.k(Sender: TObject);
begin
  ChangeRecord.show;
end;

procedure TMainForm.IncumbencyDelRecordClick(Sender: TObject);
var sel:integer;
begin

  sel:=MessageBox(0,'确定要删除该记录吗?','人事管理系统V2.0', MB_YESNO+MB_ICONQUESTION);

  if sel=IDYES then
    begin
      DataM.ADOMSG.Delete;
      MessageBox(0,'成功删除记录!','人事管理系统V2.0', MB_YESNO+MB_ICONWARNING);
    end;
end;

procedure TMainForm.IncumbencyReportClick(Sender: TObject);
begin
  WorkerInfReport.QuickRep1.Preview;
end;

procedure TMainForm.DBGrid1DblClick(Sender: TObject);
begin
  ChangeRecord.Show;
  ChangeRecord.BTChangeData.Enabled:=false;
  ChangeRecord.BtReSet.Enabled:=false;
end;

procedure TMainForm.IncumbencyChangeRecordClick(Sender: TObject);
begin
 ChangeRecord.show;
end;

procedure TMainForm.PresentMangerClick(Sender: TObject);
begin
  PrsentForm.Show;
end;

procedure TMainForm.DataBakClick(Sender: TObject);
begin
  DataBakForm.Show;
end;

procedure TMainForm.DataRClick(Sender: TObject);
begin
  ReDataForm.show;
end;

procedure TMainForm.PrsentFindClick(Sender: TObject);
begin
  PrsentFindForm.show;
end;

procedure TMainForm.PresentReportClick(Sender: TObject);
begin
  if DataM.ADOPrsent.Active = true then
     DataM.ADOPrsent.Close;

  DataM.ADOPrsent.SQL.Clear;
  DataM.ADOPrsent.SQL.Text:='select * from Prsent';
  DataM.ADOPrsent.Prepared;
  DataM.ADOPrsent.Open;

  PrsentFindReport.QuickRep1.Preview;
end;

procedure TMainForm.addAccountClick(Sender: TObject);
begin
  addAccountForm.show;
end;

procedure TMainForm.DelAccountClick(Sender: TObject);
begin
  delAccountForm.show;
end;

procedure TMainForm.ChangePurviewClick(Sender: TObject);
begin
  ChangePurviewForm.show;
end;

procedure TMainForm.ChangePwdClick(Sender: TObject);
begin
  ChangePwdForm.show;
end;

procedure TMainForm.ExitMenuClick(Sender: TObject);
begin
  MainForm.Close;
end;

procedure TMainForm.LaborageSetClick(Sender: TObject);
begin
  MoneySetForm.show;
end;

procedure TMainForm.WorkerMonthLaborageClick(Sender: TObject);
begin
  MoneyTotalForm.Show;
end;

procedure TMainForm.MonthLaborageTotalClick(Sender: TObject);
begin
  MonthMoneyTotal.Show;
end;

procedure TMainForm.N7Click(Sender: TObject);
begin
  TotalaForm.show;
end;

procedure TMainForm.LaborageReportClick(Sender: TObject);
begin
  MonthMoneyFindForm.show;
end;

procedure TMainForm.UseHelpClick(Sender: TObject);
var HelpFileName:string;
begin
  Helpfilename:=ExtractFilePath(ParamStr(0)) + '帮助.txt';
  if FileExists(Helpfilename) then
    ShellExecute(handle,'Open', '/帮助.txt', NIL,NIL,SW_SHOWNORMAL)
  else
    showmessage('帮助文件找不到!');
end;

procedure TMainForm.AboutSystemClick(Sender: TObject);
begin
  AboutForm.show;
end;

procedure TMainForm.N5Click(Sender: TObject);
begin
  PrsentFindForm.edtNo.Text:=DataM.ADOMsg.FieldValues['员工编号'];
  PrsentFindForm.edtName.Text := DataM.ADOMsg.FieldValues['员工姓名'];
  PrsentFindForm.CBMonth.Text := '所有月份';
  PrsentFindForm.BTfindClick(nil);
end;

procedure TMainForm.FormShow(Sender: TObject);
begin
  if LoginForm.CBPurview.Text = '普通员工' then
    begin

      if DataM.ADOMSG.Active = true then
        DataM.ADOMSG.Close;
      DataM.ADOMSG.SQL.Clear;
      DataM.ADOMSG.SQL.Text:='select * from MSG where 员工姓名 = ''' + LoginForm.edtAccount.Text +'''';
      DataM.ADOMSG.Prepared;
      DataM.ADOMSG.Open;

      incumbencyMenu.Enabled :=false;
      PresentManger.Enabled := false;
      PresentReport.Enabled := false;
      N7.Enabled := false;
      MonthLaborageTotal.Enabled := false;
      LaborageReport.Enabled := false;
      addAccount.Enabled := false;
      delAccount.Enabled := false;
      ChangePurview.Enabled := false;
      ChangePwd.Enabled := false;
      ChangePwdForm.DBGrid1.Visible :=false;
      BakMenu.Enabled :=false;
      TreeView1.Enabled:=false;
      FindGB.Enabled :=false;
      PrsentFindForm.edtNo.Text := DATAM.ADOMsg.FieldValues['员工编号'];
      PrsentFindForm.edtName.Text := DATAM.ADOMsg.FieldValues['员工姓名'];
      PrsentFindForm.edtNo.Enabled := False;
      PrsentFindForm.edtName.Enabled := false;
      MoneyTotalForm.Edit1.Text := DATAM.ADOMsg.FieldValues['员工编号'];
      MoneyTotalForm.Edit1.Enabled := false;
      MoneyTotalForm.Edit2.Text := DATAM.ADOMsg.FieldValues['员工姓名'];
      MoneyTotalForm.Edit2.Enabled := false;
    end
  else if LoginForm.CBPurview.Text = '总经理' then
    begin
      LaborageSet.Enabled:=true;
    end
  else if LoginForm.CBPurview.Text = '财务经理' then
    begin
      incumbencyMenu.Enabled :=false;
      PresentManger.Enabled := false;
      PresentReport.Enabled := false;
      addAccount.Enabled := false;
      delAccount.Enabled := false;
      ChangePurview.Enabled := false;
      ChangePwd.Enabled := false;
      ChangePwdForm.DBGrid1.Visible :=false;
      BakMenu.Enabled :=false;
      TreeView1.Enabled:=false;
      FindGB.Enabled :=false;
    end
  else  if LoginForm.CBPurview.Text = '人事经理' then
    begin
      N7.Enabled := false;
      MonthLaborageTotal.Enabled := false;
      LaborageReport.Enabled := false;
      addAccount.Enabled := false;
      delAccount.Enabled := false;
      ChangePurview.Enabled := false;
      ChangePwd.Enabled := false;
    end
  else
    begin
    
      incumbencyMenu.Enabled :=false;
      N7.Enabled := false;
      MonthLaborageTotal.Enabled := false;
      LaborageReport.Enabled := false;
      addAccount.Enabled := false;
      delAccount.Enabled := false;
      ChangePurview.Enabled := false;
      ChangePwd.Enabled := false;
      BakMenu.Enabled :=false;
      
    end;

end;

end.

⌨️ 快捷键说明

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