frm_r_dkcxpas.pas

来自「是一个用delphi设计的考勤系统」· PAS 代码 · 共 236 行

PAS
236
字号
unit Frm_R_DkcxPas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ModalForm, Menus, StdCtrls, ExtCtrls, DB, DBTables, ComCtrls,
  Buttons, Grids, DBGrids, QRCtrls, QuickRpt, YLabelButton, ChangeImage,
  ADODB, ImgList, UErrDisplay;

type
  TFrm_R_Dkcx = class(TMyModalForm)
    Panel1: TPanel;
    TV: TTreeView;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    QrCurrMonth: TQuickRep;
    QRBand1: TQRBand;
    QRShape1: TQRShape;
    QRLabel2: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel6: TQRLabel;
    QRBand2: TQRBand;
    QRShape4: TQRShape;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRBand3: TQRBand;
    QRShape5: TQRShape;
    QRLabel7: TQRLabel;
    QRLabel12: TQRLabel;
    QRlblzd1: TQRLabel;
    QRBand6: TQRBand;
    QRShape6: TQRShape;
    QRLblzbbm1: TQRLabel;
    QRlbldwmc1: TQRLabel;
    QRLabel16: TQRLabel;
    QRSysData3: TQRSysData;
    QRSysData4: TQRSysData;
    QRLabel17: TQRLabel;
    QRLabel18: TQRLabel;
    DBGrid2: TDBGrid;
    QrPreMonth: TQuickRep;
    QRBand7: TQRBand;
    QRLabel9: TQRLabel;
    QRShape2: TQRShape;
    QRLabel56: TQRLabel;
    QRLabel59: TQRLabel;
    QRLabel60: TQRLabel;
    QRBand8: TQRBand;
    QRShape3: TQRShape;
    QRDBText19: TQRDBText;
    QRDBText20: TQRDBText;
    QRDBText21: TQRDBText;
    QRDBText22: TQRDBText;
    QRBand5: TQRBand;
    QRShape32: TQRShape;
    QRLblzbbm: TQRLabel;
    QRlbldwmc: TQRLabel;
    QRLabel40: TQRLabel;
    QRSysData5: TQRSysData;
    QRSysData6: TQRSysData;
    QRLabel1: TQRLabel;
    mjjltitle: TQRLabel;
    PageFooterBand1: TQRBand;
    QRShape33: TQRShape;
    QRLabel3: TQRLabel;
    QRLabel5: TQRLabel;
    QRlblzd: TQRLabel;
    TabSheet2: TTabSheet;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    yhbh: TEdit;
    xm: TEdit;
    bm: TEdit;
    chk2: TCheckBox;
    chk3: TCheckBox;
    chk5: TCheckBox;
    chk4: TCheckBox;
    sb: TComboBox;
    Panel3: TPanel;
    Label7: TLabel;
    Label12: TLabel;
    Label6: TLabel;
    Label10: TLabel;
    kssj: TDateTimePicker;
    jssj: TDateTimePicker;
    ksrq: TDateTimePicker;
    jsrq: TDateTimePicker;
    Dkqjl: TDataSource;
    DsCurMonth: TDataSource;
    BtnFind: TChangeImg;
    LBtnFind: TLabelB;
    BtnPrint: TChangeImg;
    LBtnPrint: TLabelB;
    ChangeImg4: TChangeImg;
    LabelB5: TLabelB;
    QryCurMonth: TADOQuery;
    qrykqjl: TADOQuery;
    QryCurMonthsbh: TIntegerField;
    QryCurMonthyhbh: TStringField;
    QryCurMonthjlrq: TStringField;
    QryCurMonthjlsj: TStringField;
    QryCurMonthsgdk: TStringField;
    QryCurMonthyhxm: TStringField;
    QryCurMonthsbms: TStringField;
    QryCurMonthbmbh: TStringField;
    QryCurMonthbmmc: TStringField;
    qrykqjlsbh: TIntegerField;
    qrykqjlyhbh: TStringField;
    qrykqjljlrq: TStringField;
    qrykqjljlsj: TStringField;
    qrykqjlsgdk: TStringField;
    qrykqjlyhxm: TStringField;
    qrykqjlsbms: TStringField;
    qrykqjlbmbh: TStringField;
    qrykqjlbmmc: TStringField;
    procedure FormCreate(Sender: TObject);
    procedure BtnFindClick(Sender: TObject);
    procedure TVClick(Sender: TObject);
    procedure BtnPrintClick(Sender: TObject);
    procedure ChangeImg4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_R_Dkcx: TFrm_R_Dkcx;
implementation

uses DM_DataModal, UGlobal;

{$R *.dfm}

procedure TFrm_R_Dkcx.FormCreate(Sender: TObject);
begin
  inherited;
  gtKqgl.LoadOrganTree(Winddata.AdoConn,TV,4); //初始化用户信息
  ksrq.date := date;
  jsrq.date := date;
  gtKqgl.SetComboxItems(sb,'select sbh,sblx from Zx_d_Device where sblx=0','sbh');
end;

procedure TFrm_R_Dkcx.BtnFindClick(Sender: TObject);
var
  sStartsj, sEndsj: string;
  GsSql:String;
begin
  inherited;
  if length(timetostr(kssj.time)) < 8 then
    sStartsj := '0' + timetostr(kssj.time)
  else
    sStartsj := timetostr(kssj.time);
  if length(timetostr(jssj.time)) < 8 then
    sEndsj := '0' + timetostr(kssj.time)
  else
    sEndsj := timetostr(jssj.time);
  //
  if PageControl1.ActivePageIndex = 0 then
    GsSql := 'select * from vkq_kqjlCur'
  else
    GsSql := 'select * from vkq_kqjl';
  //
  GsSql := GsSql + ' where (jlrq>=''' + datetostr(ksrq.date)
    + ''' and jlrq<=''' + datetostr(jsrq.date) + ''')';
  GsSql := GsSql + ' and (jlsj>=''' + sStartsj
    + ''' and jlsj<=''' + sEndsj + ''')';
  if (chk2.checked) and (yhbh.text <> '') then
    GsSql := GsSql + ' and yhbh=''' + trim(yhbh.Text) + '''';
  if (chk3.Checked) and (xm.text <> '') then
    GsSql := GsSql + ' and yhxm like ''' + trim(xm.text) + '%''';
  if chk4.Checked then
    GsSql := GsSql + ' and bmmc=''' + trim(bm.Text) + '''';
  if (chk5.Checked) and (sb.text <> '') then
    GsSql := GsSql + ' and sbh=' + sb.text;
  GsSql := GsSql + ' order by yhbh,jlrq,jlsj';
  //
  if PageControl1.ActivePageIndex = 0 then
  begin
    with QryCurMonth do
    begin
      sql.Clear;
      sql.add(gssql);
      open;
    end;
  end
  else
  begin
    with qrykqjl do
    begin
      sql.Clear;
      sql.add(gssql);
      open;
    end;
  end;
end;

procedure TFrm_R_Dkcx.TVClick(Sender: TObject);
begin
  inherited;
  if tv.selected.level > 1 then bm.text := TV.Selected.Text;

end;

procedure TFrm_R_Dkcx.BtnPrintClick(Sender: TObject);
begin
  inherited;
  try
    if PageControl1.ActivePageIndex = 1 then
    begin
      QRlbldwmc.Caption:='单位名称:'+gtSysCs.sSydw;
      QRLblzbbm.Caption:='制表部门:'+gtSysCs.sZbDw;
      QRlblzd.caption:='制单:';
      QrPreMonth.Preview; //运行报表
    end
    else begin
      QRlbldwmc1.Caption:='单位名称:'+gtSysCs.sSydw;
      QRLblzbbm1.Caption:='制表部门:'+gtSysCs.sZbDw;
      QRlblzd1.caption:='制单:';
      QrCurrMonth.preview;
    end;
  except
  end;
end;

procedure TFrm_R_Dkcx.ChangeImg4Click(Sender: TObject);
begin
  inherited;
   Close;
end;

end.

⌨️ 快捷键说明

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