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

📄 u_department.pas

📁 超信人力资源管理系统,一个用Delphi编写的人事管理系统
💻 PAS
字号:
unit U_DepartMent;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, U_Form_base, ExtCtrls, ComCtrls, DB, ADODB, StdCtrls, Mask,
  DBCtrls, Buttons, ImgList, dxCntner, dxEditor, dxEdLib, dxtree, dxdbtree,
  U_ToolbarFrame, dxDBELib, dxmdaset, dxtrprds;

type
  TF_Department = class(TF_Form_base)
    ImageList1: TImageList;
    Panel2: TPanel;
    Splitter1: TSplitter;
    Trv: TdxDBTreeView;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    F_Toolbarframe1: TF_Toolbarframe;
    DE1: TdxDBEdit;
    De2: TdxDBEdit;
    De3: TdxDBEdit;
    De4: TdxDBEdit;
    De5: TdxDBEdit;
    Q_mainSid: TGuidField;
    Q_mainDep_id: TStringField;
    Q_mainDep_name: TStringField;
    Q_mainDep_manager: TStringField;
    Q_mainDep_tel: TStringField;
    Q_mainDep_motherID: TStringField;
    procedure F_Toolbarframe1Btn_newClick(Sender: TObject);
    procedure F_Toolbarframe1Btn_EditClick(Sender: TObject);
    procedure F_Toolbarframe1Btn_SaveClick(Sender: TObject);
    procedure F_Toolbarframe1Btn_CancelClick(Sender: TObject);
    procedure F_Toolbarframe1Btn_DeleteClick(Sender: TObject);
    procedure Q_mainAfterScroll(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure Q_mainBeforeInsert(DataSet: TDataSet);
    procedure Q_mainAfterInsert(DataSet: TDataSet);
    procedure DE1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure De2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure De3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure De4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure De5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DS_mainStateChange(Sender: TObject);
    procedure Q_mainDep_idSetText(Sender: TField; const Text: string);
    procedure Q_mainBeforePost(DataSet: TDataSet);
    procedure TrvChange(Sender: TObject; Node: TTreeNode);

  private
    { Private declarations }
  public
    MotherID: string;
    procedure SET_BUTTON;

    { Public declarations }
  end;

var
  F_Department: TF_Department;

implementation

uses U_data;

{$R *.dfm}

procedure TF_Department.SET_BUTTON;
begin
  //BTN_FIRST.Enabled := (not DS_MAIN.DataSet.Bof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
  //BTN_PRE.Enabled := (not DS_MAIN.DataSet.Bof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
 // BTN_NEXT.Enabled := (not DS_MAIN.DataSet.Eof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
 // BTN_LAST.Enabled := (not DS_MAIN.DataSet.Eof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
 // De1.ReadOnly:=(Ds_main.DataSet.State  in [dsedit,dsinsert]);
  De2.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
  De3.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
  De4.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
  De5.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
  F_Toolbarframe1.BTN_NEW.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
  F_Toolbarframe1.BTN_EDIT.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
  F_Toolbarframe1.BTN_SAVE.Enabled := (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
  F_Toolbarframe1.BTN_CANCEL.Enabled := (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
  F_Toolbarframe1.BTN_FIND.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
  F_Toolbarframe1.BTN_DELETE.Enabled := (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT])) and (not (DS_MAIN.DataSet.BOF and DS_MAIN.DataSet.EOF));
  F_Toolbarframe1.BTN_Print.Enabled := (not (ds_main.DataSet.State in [Dsedit, Dsinsert])) and (not (DS_MAIN.DataSet.BOF and DS_MAIN.DataSet.EOF));
end;


procedure TF_Department.F_Toolbarframe1Btn_newClick(Sender: TObject);
begin
  inherited;
  if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //是否是系统管理员
    if not Is_INSERT then
    begin
      MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
      Abort;
    end; //
 //if not (Q_main.State in [Dsedit, Dsinsert]) then Q_main.Edit;

 // Sql_change(q_main,'Select * from TB_Department');
  //De1.Enabled:=not (Q_main.RecordCount=0);  //如果是第一次增加则设为不可用
  De1.Enabled := False;
  Q_MAIN.APPEND;

  if De1.Enabled then
    de1.SetFocus
  else
    De2.SetFocus;

  SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''增加主表记录'')';
  Insert_log(sql_s);
end;

procedure TF_Department.F_Toolbarframe1Btn_EditClick(Sender: TObject);
begin
  inherited;
  if Uppercase(LOGIN_CODE) <> 'SYSTEM' then // 权限
  begin
    if not Is_EDIT then
    begin
      MessageDlg('你没有修改的权限,请与管理员联系!', mtError, [mbOK], 0);
      Exit;
    end; // 权限
  end;
  Q_MAIN.EDIT;
  SET_BUTTON;
end;

procedure TF_Department.F_Toolbarframe1Btn_SaveClick(Sender: TObject);
begin
  inherited;
  Q_main.UpdateBatch(arall);
end;

procedure TF_Department.F_Toolbarframe1Btn_CancelClick(Sender: TObject);
begin
  inherited;
  Q_main.CancelBatch(arall);
  SET_BUTTON;
end;

procedure TF_Department.F_Toolbarframe1Btn_DeleteClick(Sender: TObject);
begin
  inherited;
  if Q_MAIN.RecordCount = 0 then exit; //无记录则退出
  if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //
    if not Is_DELETE then
    begin
      MessageDlg('你没有删除的权限,请与管理员联系!', mtError, [mbOK], 0);
      Abort;
    end;
  if Trv.Selected.HasChildren then
  begin
    MessageDlg('<' + copy(Trv.Selected.Text, pos('@', Trv.Selected.Text) + 1, length(Trv.Selected.Text)) + '> 有下级部门,请先删除下级部门!', mtError, [mbOK], 0);
    Abort;
  end;


  if MessageDlg('你真的要删除 <' + copy(Trv.Selected.Text, pos('@', Trv.Selected.Text) + 1, length(Trv.Selected.Text)) + '> 这个部门吗?', mtWarning, [mbOK, mbCancel], 0) = mrok then
  try
    Q_MAIN.Delete;
  except
    raise;
  end;
  Q_MAIN.UpdateBatch(ARALL);
end;

procedure TF_Department.Q_mainAfterScroll(DataSet: TDataSet);
begin
  inherited;
  SET_BUTTON;
end;

procedure TF_Department.FormShow(Sender: TObject);
begin
  inherited;
  Q_main.Open;
  SET_BUTTON;
end;

procedure TF_Department.Q_mainBeforeInsert(DataSet: TDataSet);
begin
  inherited;
  Motherid := Q_main.fieldbyname('Dep_id').AsString;
end;

procedure TF_Department.Q_mainAfterInsert(DataSet: TDataSet);
begin
  inherited;
  Q_main.FieldByName('DEP_motherid').AsString := motherid;
end;

procedure TF_Department.DE1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = 13 then
    de2.SetFocus;
end;

procedure TF_Department.De2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = 13 then
    de3.SetFocus;
end;

procedure TF_Department.De3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = 13 then
    de4.SetFocus;
end;

procedure TF_Department.De4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = 13 then
    de5.SetFocus;
end;

procedure TF_Department.De5KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = 13 then
    F_Toolbarframe1.Btn_Save.Click;
end;

procedure TF_Department.DS_mainStateChange(Sender: TObject);
begin
  inherited;
  Trv.Enabled := not (DS_main.DataSet.State in [dsedit, dsinsert]);
end;

procedure TF_Department.Q_mainDep_idSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  SQL_S := 'Select * from TB_Department where Dep_id=''' + Text + '''';
  Sql_change(Q_Detail, sql_s);
  if Q_Detail.RecordCount > 0 then
  begin
    MessageDlg('注意,部门编号不能有相同的!', mtWarning, [mbOK], 0);
    Abort;
  end;
  sender.Value := text;
end;

procedure TF_Department.Q_mainBeforePost(DataSet: TDataSet);
begin
  inherited;
  if Q_main.FieldByName('Dep_id').AsString = '' then
  begin
    MessageDlg('注意,部门编号不能是空值!', mtWarning, [mbOK], 0);
    De2.SetFocus;
    Abort;
  end;
end;

procedure TF_Department.TrvChange(Sender: TObject; Node: TTreeNode);
begin
  inherited;
  node.ImageIndex := 1;
end;

initialization
  RegisterClass(TF_Department);

end.

⌨️ 快捷键说明

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