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

📄 stoppay.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
     if i<fcount then sortexp:=sortexp+',';
    end;
  end;
  if sortexp<>'' then datamod.ADOstoppay.Sort :=sortexp;
end;

procedure Tformstoppay.N3Click(Sender: TObject);
var i:1..5;
begin
  for i:=1 to fcount do
    dbgrid1.Columns[findex[i]].Color :=clwindow;
  fcount:=0;
end;

procedure Tformstoppay.FormKeyPress(Sender: TObject; var Key: Char);
begin
   if activecontrol=dbgrid1 then
     exit;
   if key=#13 then
   begin
     key:=#0;
     if activecontrol=dbedit12 then
       begin
         if datamod.adostoppay.state=dsinsert then
           begin
             datamod.adostoppay.Post;
             datamod.adostoppay.append;
           end;
         dbedit1.setfocus;
       end
     else
       selectnext(activecontrol,true,true);
   end;
end;

procedure Tformstoppay.FormCreate(Sender: TObject);
begin
  datetimepicker1.date:=date;
  datetimepicker2.date:=date;
  datetimepicker3.date:=date;
  datetimepicker4.date:=date;
  datetimepicker5.date:=date;
  datetimepicker6.date:=date;
  datetimepicker7.date:=date;
  datetimepicker8.date:=date;
  datetimepicker9.date:=date;
  adonowstoppay.open;
  pagecontrol1.activepageindex:=0;
  pagecontrol1.onchange(pagecontrol1);
  with Datamod.adoquery2 do
   begin
     close;
     sql.clear;
     sql.add('select leavereason from per13010 where lkind=1');
     open;
     first;
     while not eof do
      begin
        dbcombobox1.items.add(fieldbyname('leavereason').asstring);
        next;
      end;
     close;
   end;
end;

//输入姓名,带出员工的所有信息
procedure Tformstoppay.DBEdit4Change(Sender: TObject);
begin
{  if (datamod.adostoppay.state=dsinsert) and (dbedit4.text<>'') then
  with datamod.adoquery2 do
   begin
     close;
     sql.clear;
     sql.add('select workno,cardno,name,deptno,prof from per24010 where name like '''+dbedit4.text+'''+''%'' ');
     open;
     first;
     if not eof then
       begin
        datamod.adostoppayworkno.AsString :=fieldbyname('workno').asstring;
        datamod.adostoppaycardno.AsString :=fields[1].asstring;
        datamod.adostoppaydeptno.asstring:=fieldbyname('deptno').asstring;
        datamod.adostoppayprof.asstring:=fieldbyname('prof').asstring;
       end;
     close;
   end;    }
end;

procedure Tformstoppay.DBEdit2Change(Sender: TObject);
begin
  if (datamod.adostoppay.state=dsinsert) and (dbedit2.text='') then
  begin
   datamod.adostoppayworkno.AsString :='';
   datamod.adostoppaycardno.AsString :='';
   datamod.adostoppayname.AsString :='';
   datamod.adostoppaydeptno.asstring:='';
   datamod.adostoppayprof.asstring:='';
  end;
end;

procedure Tformstoppay.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  dbgrid_keypress(sender,key);
end;

procedure Tformstoppay.DateTimePicker1CloseUp(Sender: TObject);
var dtpname:string;
    dtp:Tdatetimepicker;
begin
  dtpname:=(sender as Tdatetimepicker).name;
  dtp:=Tdatetimepicker(findcomponent('datetimepicker'+copy(dtpname,15,1)));
  with dtp do
  begin
    case strtoint(copy(dtpname,15,1)) of
    1:begin
        datamod.adostoppay.fieldbyname('sdate').asstring :=datetostr(dtp.date);
        dbedit8.setfocus;
      end;
    2:begin
        datamod.adostoppay.fieldbyname('edate').asstring :=datetostr(dtp.date);
        dbcombobox1.setfocus;
      end;
    5:begin
       datamod.adostoppay.fieldbyname('checkdate').asstring :=datetostr(dtp.date);
       dbedit12.setfocus;
      end; 
    end;
  end;
end;

procedure Tformstoppay.PageControl1Change(Sender: TObject);
begin
  (sender as Tpagecontrol).activepage.highlighted:=true;
  case pagecontrol1.ActivePageIndex of
  0:begin
     dbnavigator1.DataSource :=datamod.DSstoppay;
     tbnsort.enabled:=true;
    end;
  1:begin
     dbnavigator1.DataSource :=datasource1;  //现在处于停薪留职人员状态的
     tbnsort.enabled:=false;
    end;
  2:begin
      dbnavigator1.DataSource :=datasource2;  //已恢复的员工
      tbnsort.enabled:=false;
    end;
  end;
end;

procedure Tformstoppay.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin


     case pagecontrol1.ActivePageIndex of
     0:dbnavigator1.datasource:=datamod.DSstoppay;
     1:dbnavigator1.datasource:=datasource1;
     2:dbnavigator1.datasource:=datasource2;
     end;

  if (button=nbinsert) or (button=nbinsert) then
    dbedit1.setfocus;
end;

procedure Tformstoppay.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
 (Sender as TPageControl).ActivePage.highlighted:=false;
end;

procedure Tformstoppay.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_f1 then
  begin
   Application.helpfile :=extractfilepath(application.exename)+'help\pasahelp.hlp';
   application.helpjump('shm_contents0015');
  end;
end;

procedure Tformstoppay.tbnprintClick(Sender: TObject);
begin
  if not assigned(reportofstoppay) then
     reportofstoppay:=Treportofstoppay.create(self);
     reportofstoppay.show;
end;

procedure Tformstoppay.DBGrid3TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   ADOstoppayed.Sort :=column.FieldName+' '+f;
end;

procedure Tformstoppay.DBGrid2TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   ADOnowstoppay.Sort :=column.FieldName+' '+f;
end;

procedure Tformstoppay.Edit1Exit(Sender: TObject);
begin
  datamod.Adostoppay.close;
  if trim(edit1.text)<>'' then
     datamod.Adostoppay.commandtext:='select * from per28010 where state=0 and (workno='''+edit1.text+''' or cardno='''+edit1.text+''' or name='''+edit1.text+''') ';
  datamod.Adostoppay.open;
end;

procedure Tformstoppay.Edit2Exit(Sender: TObject);
begin
  ADOnowstoppay.close;
  if trim(edit2.text)<>'' then
    ADOnowstoppay.commandtext:='select * from per28010 where state=1 and (workno='''+edit2.text+''' or cardno='''+edit2.text+''' or name='''+edit2.text+''') ';
  ADOnowstoppay.open;
end;

procedure Tformstoppay.Edit3Exit(Sender: TObject);
begin
  ADOstoppayed.close;
  if trim(edit3.text)<>'' then
    ADOstoppayed.commandtext:='select * from per28010 where state=2 and (workno='''+edit3.text+''' or cardno='''+edit3.text+''' or name='''+edit3.text+''') ';
  ADOstoppayed.open;
end;

procedure Tformstoppay.MaskEdit2Exit(Sender: TObject);
var fmat1:string;
begin
 if fmat='/' then
   fmat1:='    /  /  ';
 if fmat='-' then
   fmat1:='    -  -  ';
  if maskedit2.text<>fmat1 then
    if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.text)) then
      begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit1.SetFocus;
      end
    else begin
      datamod.Adostoppay.close;
      datamod.Adostoppay.commandtext:='select * from per28010 where state=0 and ((sdate<='''+maskedit2.text+''' and sdate>='''+maskedit1.text+''') or (edate<='''+maskedit2.text+''' and edate>='''+maskedit1.text+''')) ';
      datamod.Adostoppay.open;
    end;
end;

procedure Tformstoppay.MaskEdit4Exit(Sender: TObject);
var fmat1:string;
begin
 if fmat='/' then
   fmat1:='    /  /  ';
 if fmat='-' then
   fmat1:='    -  -  ';
  if maskedit4.text<>fmat1 then
    if (not isdate(maskedit3.Text)) or (not isdate(maskedit4.text)) then
      begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit3.SetFocus;
      end
    else begin
      ADOnowstoppay.close;
      ADOnowstoppay.commandtext:='select * from per28010 where state=1 and ((sdate<='''+maskedit4.text+''' and sdate>='''+maskedit3.text+''') or (edate<='''+maskedit4.text+''' and edate>='''+maskedit3.text+''')) ';
      ADOnowstoppay.open;
    end;
end;

procedure Tformstoppay.MaskEdit6Exit(Sender: TObject);
var fmat1:string;
begin
 if fmat='/' then
   fmat1:='    /  /  ';
 if fmat='-' then
   fmat1:='    -  -  ';
  if maskedit6.text<>fmat1 then
    if (not isdate(maskedit5.Text)) or (not isdate(maskedit6.text)) then
      begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit5.SetFocus;
      end
    else begin
      ADOstoppayed.close;
      ADOstoppayed.commandtext:='select * from per28010 where state=2 and ((sdate<='''+maskedit6.text+''' and sdate>='''+maskedit5.text+''') or (edate<='''+maskedit6.text+''' and edate>='''+maskedit5.text+''')) ';
      ADOstoppayed.open;
    end;
end;

procedure Tformstoppay.ToolButton1Click(Sender: TObject);
begin
   case pagecontrol1.activepageindex of
     0:begin
         datamod.adostoppay.Close;
         datamod.adostoppay.CommandText:='select * from per28010 where state=0';
         datamod.adostoppay.open;
       end;
     1:begin
         adonowstoppay.close;
         adonowstoppay.CommandText:='select * from per28010 where state=1';
         adonowstoppay.open;
       end;
     2:begin
         adostoppayed.close;
         adostoppayed.commandtext:='select * from per28010 where state=2';
         adostoppayed.open;
       end;
   end;
end;

procedure Tformstoppay.DateTimePicker4CloseUp(Sender: TObject);
begin
   maskedit1.text:=datetostr(datetimepicker4.date);
end;

procedure Tformstoppay.DateTimePicker3CloseUp(Sender: TObject);
begin
   maskedit2.text:=datetostr(datetimepicker3.date);
end;

procedure Tformstoppay.DateTimePicker6CloseUp(Sender: TObject);
begin
   maskedit3.text:=datetostr(datetimepicker6.date);
end;

procedure Tformstoppay.DateTimePicker7CloseUp(Sender: TObject);
begin
   maskedit4.text:=datetostr(datetimepicker7.date);
end;

procedure Tformstoppay.DateTimePicker8CloseUp(Sender: TObject);
begin
   maskedit5.text:=datetostr(datetimepicker8.date);
end;

procedure Tformstoppay.DateTimePicker9CloseUp(Sender: TObject);
begin
   maskedit6.text:=datetostr(datetimepicker9.date);
end;

procedure Tformstoppay.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
  dbgrid_keypress(sender,key);
end;

procedure Tformstoppay.DBGrid2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_F1 then
      begin
      Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0052');
    end;
end;

end.



⌨️ 快捷键说明

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