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

📄 mc_ygxxgl.pas

📁 异洲酒店管理系统
💻 PAS
字号:
unit MC_YGXXGL;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask, DBCtrls, Grids, DBGrids, ComCtrls, ExtCtrls, Buttons,
  DBActns, ActnList, DB, QuickRpt, Qrctrls;

type
  TYGXXGL = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBEdit2: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    Label4: TLabel;
    Label10: TLabel;
    DBEdit10: TDBEdit;
    Label11: TLabel;
    DBEdit11: TDBEdit;
    DBComboBox1: TDBComboBox;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    DBText1: TDBText;
    Panel1: TPanel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Bevel3: TBevel;
    BitBtn4: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetLast1: TDataSetLast;
    DataSetNext1: TDataSetNext;
    DataSetPrior1: TDataSetPrior;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    BitBtn9: TBitBtn;
    Edit1: TEdit;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    Bevel4: TBevel;
    Label15: TLabel;
    Label18: TLabel;
    DBEdit4: TDBEdit;
    Label19: TLabel;
    DBEdit5: TDBEdit;
    Label16: TLabel;
    DBEdit1: TDBEdit;
    Label17: TLabel;
    DBEdit3: TDBEdit;
    Label20: TLabel;
    DBEdit6: TDBEdit;
    Label21: TLabel;
    DBEdit7: TDBEdit;
    Label22: TLabel;
    DBEdit12: TDBEdit;
    BitBtn10: TBitBtn;
    Bevel5: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    Panel2: TPanel;
    YGXXDY: TQuickRep;
    PageHeaderBand1: TQRBand;
    QRLabel1: TQRLabel;
    TitleBand1: TQRBand;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRLabel10: TQRLabel;
    QRLabel11: TQRLabel;
    DetailBand1: TQRBand;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRLabel5: TQRLabel;
    QRDBText8: TQRDBText;
    SummaryBand1: TQRBand;
    QRLabel12: TQRLabel;
    QRLabel6: TQRLabel;
    QRExpr1: TQRExpr;
    QRLabel7: TQRLabel;
    QRShape1: TQRShape;
    QRShape2: TQRShape;
    QRShape3: TQRShape;
    Bevel8: TBevel;
    Bevel9: TBevel;
    procedure BitBtn8Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure DBEdit10KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit12Exit(Sender: TObject);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
    procedure DBLookupComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure DBLookupComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn9Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure YGXXDYPreview(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YGXXGL: TYGXXGL;

implementation

uses MC_TLCYGLXT, MC_DYYLBrose;

{$R *.DFM}
function Aenabled(key:integer):Boolean ;   //定义函数Aenabled(判断控件属性)
begin
 If key = 1 Then
  begin
    YGXXGL.DBGrid1.Enabled:=False;
    YGXXGL.DBGRid2.Enabled:=False;
    YGXXGL.Edit1.Enabled:=False;
    YGXXGL.BitBtn1.Enabled:=False;
    YGXXGL.BitBtn2.Enabled:=False;
    YGXXGL.BitBtn3.Enabled:=False;
    YGXXGL.BitBtn4.Enabled:=False;
    YGXXGL.BitBtn7.Enabled:=False;
    YGXXGL.BitBtn8.Enabled:=False;
    YGXXGL.BitBtn9.Enabled:=False;
    YGXXGL.BitBtn10.Enabled:=False;
    YGXXGL.GroupBox1.Visible:=True;
    YGXXGL.BitBtn5.Caption:='保存';
    YGXXGL.BItBtn6.Caption:='取消';
    YGXXGL.DBEdit2.SetFocus;
  End
 Else
  begin
    YGXXGL.DBGrid1.Enabled:=True;
    YGXXGL.DBGRid2.Enabled:=True;
    YGXXGL.Edit1.Enabled:=True;
    YGXXGL.BitBtn1.Enabled:=True;
    YGXXGL.BitBtn2.Enabled:=True;
    YGXXGL.BitBtn3.Enabled:=True;
    YGXXGL.BitBtn4.Enabled:=True;
    YGXXGL.BitBtn7.Enabled:=True;
    YGXXGL.BitBtn8.Enabled:=True;
    YGXXGL.BitBtn9.Enabled:=True;
    YGXXGL.BitBtn10.Enabled:=True;
    YGXXGL.GroupBox1.Visible:=False;
    YGXXGL.BitBtn5.Caption:='添加';
    YGXXGL.BItBtn6.Caption:='修改';
  end;
end;


procedure TYGXXGL.FormShow(Sender: TObject);  //初始化
begin
 ANimateWindow(Handle,300,AW_HOR_NEGATIVE+AW_VER_POSITIVE+AW_SLIDE);
 TLCYGLXT.FJTHBMB.Refresh;  //刷新房间部门信息表
 TLCYGLXT.YGXXB.Refresh;  //刷新员工信息表
 TLCYGLXT.YGLBXXB.Refresh;  //刷新员工类别信息表
 TLCYGLXT.YGGZXXB.Refresh;  //刷新员工工资信息表
 YGXXGL.Refresh;
 GRoupBox1.Refresh;
 GroupBox2.Refresh;
 GroupBox3.Refresh;
 DBGrid1.Refresh;
 DBGrid2.Refresh;
 Panel1.Refresh;
 Bevel1.Refresh;
 Bevel2.Refresh;
 Bevel3.Refresh;
 Bevel4.Refresh;
 Bevel5.Refresh;
 Bevel6.Refresh;
 Bevel7.Refresh;
end;

procedure TYGXXGL.DBEdit10KeyPress(Sender: TObject; var Key: Char);  
begin
 TLCYGLXT.YGGZXXB.FieldByName('合计').AsFloat:=TLCYGLXT.YGGZXXB.FieldByName('基本工资').AsFloat
         +TLCYGLXT.YGGZXXB.FieldByName('奖金').AsFloat+TLCYGLXT.YGGZXXB.FieldByName('加班费').AsFloat
         +TLCYGLXT.YGGZXXB.FieldByName('其它费用').AsFloat;
 if key=#13 then PerForm(WM_NEXTDLGCTL,0,0);  //焦点移到下一控件
end;

procedure TYGXXGL.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then DBCombobox1.SetFocus;   // 焦点移到“性别“输入框
end;
procedure TYGXXGL.DBComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then DateTimePicker2.SetFocus;   // 焦点移到“出生日期“输入框
end;
procedure TYGXXGL.DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then DBLookupcombobox1.SetFocus;   // 焦点移到“工作部门“输入框
end;
procedure TYGXXGL.DBLookupComboBox2KeyPress(Sender: TObject;
var Key: Char);
begin
 if key=#13 then DBedit10.SetFocus;   // 焦点移到“联系电话“输入框
end;
procedure TYGXXGL.DBLookupComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
 if key=#13 then DateTimePicker1.SetFocus;    // 焦点移到“聘用日期“输入框
end;
procedure TYGXXGL.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then DBLookupcombobox2.SetFocus;  //焦点移到“员工类别“输入框
end;
procedure TYGXXGL.DBEdit12Exit(Sender: TObject);
begin
 TDBEdit(Sender).Color:=ClWindow;
 BitBtn5.SetFocus;    //“添加“按钮获得焦点
end;

procedure TYGXXGL.BitBtn5Click(Sender: TObject);   //"添加"或“保存”
var a:integer;
begin
 a:=1;
 if BitBtn5.Caption='添加' then    //如果是“添加“
  begin
   TLCYGLXT.YGXXB.Refresh;
   TLCYGLXT.YGGZXXB.Refresh;
   If TLCYGLXT.YGXXB.RecordCount > 0 Then
    begin
     TLCYGLXT.YGXXB.Last;
     a:=a+TLCYGLXT.YGXXB.FieldByName('员工编号').AsInteger;
    end;
     TLCYGLXT.YGXXB.Append;
     TLCYGLXT.YGXXB.FieldByName('员工编号').AsInteger:=a;
     TLCYGLXT.YGXXB.FieldByname('性别').AsString:='男';
     DateTimePicker1.Date:=Date;
     TLCYGLXT.YGXXB.FieldByName('工作部门').AsString:=TLCYGLXT.FJTHBMB.FieldbyName('部门名称').AsString;
     TLCYGLXT.YGXXB.FieldByName('员工类别').AsString:=TLCYGLXT.YGLBXXB.FieldByName('类别名称').AsString;
     TLCYGLXT.YGGZXXB.Append;
     TLCYGLXT.YGGZXXB.FieldByName('工资编号').AsInteger:=a;
     TLCYGLXT.YGGZXXB.FieldByName('基本工资').AsInteger:=0;
     TLCYGLXT.YGGZXXB.FieldByName('奖金').AsInteger:=0;
     TLCYGLXT.YGGZXXB.FieldByName('加班费').AsInteger:=0;
     TLCYGLXT.YGGZXXB.FieldByName('其它费用').AsInteger:=0;
     TLCYGLXT.YGGZXXB.FieldByName('合计').AsInteger:=0;
     TLCYGLXT.YGGZXXB.FieldByName('扣除费用说明').AsString:='无';
     TLCYGLXT.YGGZXXB.FieldByName('扣除费用').AsInteger:=0;
     AEnabled(1);
  End
 Else   //如果是“保存“
  begin
   if (Length(TLCYGLXT.YGXXB.FieldByName('姓名').AsString)=0) or
     (Length(TLCYGLXT.YGXXB.FieldByName('联系电话').AsString)=0) or
     (Length(TLCYGLXT.YGXXB.FieldByName('身份证号').AsString)=0) or
     (Length(TLCYGLXT.YGXXB.FieldByName('联系地址').AsString)=0) then
     begin
      ShowMessage('请将[姓名、联系电话、身份证号、联系地址]等重要信息添全');
      DBEdit2.setfocus;
     End
   Else
    begin
     Aenabled(2);
     TLCYGLXT.YGGZXXB.FieldByName('姓名').AsString:=TLCYGLXT.YGXXB.FieldByName('姓名').AsString;
     TLCYGLXT.YGXXB.FieldByName('出生日期').AsDateTime:=DateTimePicker2.Date;
     TLCYGLXT.YGXXB.FieldByName('聘用日期').AsDateTime:=DateTimePicker1.Date;
     TLCYGLXT.YGGZXXB.Post;  // 保存员工信息
     TLCYGLXT.YGXXB.Post;
    end;
  end;
end;

procedure TYGXXGL.BitBtn6Click(Sender: TObject);  //修改员工信息
begin
 if BitBtn6.Caption='修改' then    //如果按钮名称为“修改”
  begin
   TLCYGLXT.YGXXB.Refresh;
   If TLCYGLXT.YGXXB.RecordCount = 0 Then   //如果没有数据
    begin
     ShowMessage('对不起,没有数据可以修改!');
    End
   Else   //如果有数据
    begin
     TLCYGLXT.YGXXB.Edit;
     TLCYGLXT.YGGZXXB.Edit;
     Aenabled(1);
    end;
  End
 Else    //如果按钮名称为“取消”
  begin
   AEnabled(2);
   TLCYGLXT.YGGZXXB.Cancel;
   TLCYGLXT.YGXXB.Cancel;
  end;
end;
procedure TYGXXGL.BitBtn7Click(Sender: TObject);   //删除数据
begin
 TLCYGLXT.YGXXB.Refresh;
 If TLCYGLXT.YGXXB.RecordCount <= 1 Then
  begin
   showMessage('对不起,表中必须有一个记录存在.');
  End
 Else
 if MessageDLG('确认删除员工信息及工资信息吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
  begin
   TLCYGLXT.YGGZXXB.Delete;  //删除员工工资信息
   TLCYGLXT.YGXXB.Delete;  //删除员工信息
  end;
end;

procedure TYGXXGL.BitBtn9Click(Sender: TObject);   //查询员工信息
var a,b,c:integer;
d:String;
begin
 If Length(Edit1.Text) = 0 Then    //输入查询信息为空
  begin
   ShowMessage('请输入查询的[编号或姓名]信息');
   Edit1.SetFocus;
  End
 Else     //输入查询信息不为空
  begin
   a:=Length(Edit1.Text);  c:=0;
   for b:=1 to a do
   begin
    D:=COPY(edit1.text,b,1);  //获取指定数量的字符串
    if (D='0') or (D<='9') then    //如果指定字符为数字
    begin
     c:=c+1;
    end;
   end;
   If C = Length(Edit1.Text) Then    //输入为员工编号
     begin
      if TLCYGLXT.YGXXB.Locate('员工编号',StrTOInt(Edit1.Text),[loCaseInsensitive]) then
       begin
        DBGrid1.SetFocus;
        DBGrid1.SelectedIndex:=0;
       End
      Else
       begin
        ShowMessage('对不起,没有找到。');
       end;
     End
   Else    //输入为员工姓名
    begin
     if TLCYGLXT.YGXXB.Locate('姓名',Edit1.Text,[loPartialKey]) then
      begin
       DBGrid1.SetFocus;
       DBGrid1.SelectedIndex:=1;
      End
     Else
      begin
       ShowMessage('对不起,没有找到。');
      end;
    end;
  end;
end;

procedure TYGXXGL.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then Bitbtn9.Click;    //查询员工信息
end;

procedure TYGXXGL.YGXXDYPreview(Sender: TObject);
begin
DYYLBrose.QrPreview1.QRPrinter:=YGXXDY.QRPrinter;
end;

procedure TYGXXGL.BitBtn10Click(Sender: TObject);  //打印员工信息
begin
 DYYLBROSE.Show;
 YGXXDY.Preview;
end;
procedure TYGXXGL.BitBtn8Click(Sender: TObject);
begin
 Close;
end;

procedure TYGXXGL.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 If BitBtn8.Enabled = False Then
  begin
   ShowMessage('对不起,请先保存数据.');
   Abort;
  end;
end;
//关闭窗体
procedure TYGXXGL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 ANimateWindow(handle,300,AW_HIDE+AW_VER_POSITIVE+AW_HOR_POSITIVE+AW_SLIDE);
 YGXXGL.Release;
 YGXXGL:=nil;
 TLCYGLXT.YGXXB.Close;//关闭员工信息表
 TLCYGLXT.YGLBXXB.Close;//关闭员工类别信息表
 TLCYGLXT.FJTHBMB.Close;//关闭房间部门信息表
 TLCYGLXT.YGGZXXB.Close;//关闭员工工资信息表
end;
end.

⌨️ 快捷键说明

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