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

📄 gzlr_unit.~pas

📁 通用人力资源系统,分类可以自设定 可以熟练掌握DELPHI语言
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
  with tb_zw do
    while not eof do
    begin
      dbc_zw.Items.Add(tb_zw['zwmc']);
      next;
    end;
  tb_zw.close;

//

//
  dbc_dfyh.Items.Clear;
  dbc_dfyh.Items.Add('无');
  tb_dfyh.Open;
  tb_dfyh.First;
  with tb_dfyh do
    while not eof do
    begin
      dbc_dfyh.Items.Add(tb_dfyh['dfyhmc']);
      next;
    end;
  tb_dfyh.close;

//

  dbc_whcd.Items.Clear;
  dbc_whcd.Items.Add('无');
  tb_whcd.Open;
  tb_whcd.First;
  with tb_whcd do
    while not eof do
    begin
      dbc_whcd.Items.Add(tb_whcd['whcdmc']);
      next;
    end;
  tb_whcd.close;

//
//

  dbc_byxx.Items.Clear;
  dbc_byxx.Items.Add('无');
  tb_byxx.Open;
  tb_byxx.First;
  with tb_byxx do
    while not eof do
    begin
      dbc_byxx.Items.Add(tb_byxx['byxxmc']);
      next;
    end;
  tb_byxx.close;
//
//

  dbc_zy.Items.Clear;
  dbc_zy.Items.Add('无');
  tb_zy.Open;
  tb_zy.First;
  with tb_zy do
    while not eof do
    begin
      dbc_zy.Items.Add(tb_zy['zymc']);
      next;
    end;
  tb_zy.close;
//
  tb_yuefen.Open;
  tb_yuefen.First;
  with tb_yuefen do
    while not eof do
    begin
      cb_yuefen.Items.Add(tb_yuefen['yuefen'] + '    ' + inttostr(tb_yuefen['tianshu']) + '天');
      next;
    end;
  tb_yuefen.close;
  cb_yuefen.ItemIndex := strtoint(copy(FormatDateTime('yyyymmdd ', Date()), 5, 2)) - 1;
  chuqin := strtoint(copy(cb_yuefen.text, strlen(pchar(cb_yuefen.text)) - 4, 3));
  //
  tb_dw.Open;
  tb_dw.First;
  with tb_dw do
    while not eof do
    begin
      cb_dw.Items.Add(tb_dw['dw']);
      next;
    end;
  tb_dw.close;
  
    Application.ProcessMessages;
  table1.open;
  table1.First;
  if table1.RecordCount > 150 then
    showmessage('>150!');

  for i := table1.RecordCount to 149 do
    dbgrideh1.Columns.Delete(30);
  table1.First;
  with table1 do
    while not eof do
    begin
        Application.ProcessMessages;
      dbgrideh1.Columns[table1.RecNo - 1].Title.Caption := table1['xsmc'];
      dbgrideh1.Columns[table1.RecNo - 1].FieldName := table1['gzdm'];
      if uppercase(table1['gzdm']) = 'A5' then
        with dbgrideh1.Columns[table1.RecNo - 1].Footer do
        begin
          valuetype := fvtstatictext;
          value := '合计:';
        end;
      if gzlrshezhi = 0 then
        if table1['lurubiaozhi'] = gzlrbz then
        begin
          if table1['biaozhi'] = 1 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
//        dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(220, 230, 234);
          end;
          if table1['biaozhi'] = 4 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
//        dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(200, 240, 250);
          end;

          if table1['biaozhi'] = 3 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].Visible := false;
          end;
          if table1['biaozhi'] = 2 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
            dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(230, 240, 252); // rgb(200, 200, 250);
          end;
     // if table1['biaozhi'] = 0 then
     //   if uppercase(table1['gzdm']) > 'A5' then
     // dbgrideh1.Columns[table1.RecNo - 1].OnUpdateData := dbgrideh1.Columns[6].OnUpdateData;
          dbgrideh1.Columns[table1.RecNo - 1].Width := table1['zdkd'];
        end
        else
          dbgrideh1.Columns[table1.RecNo - 1].Visible := false;
//
      if gzlrshezhi = 1 then
        if table1['luruteshu'] = gzlrbz then
        begin
          if table1['biaozhi'] = 1 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
//        dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(220, 230, 234);
          end;
          if table1['biaozhi'] = 4 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
//        dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(200, 240, 250);
          end;

          if table1['biaozhi'] = 3 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].Visible := false;
          end;
          if table1['biaozhi'] = 2 then
          begin
            dbgrideh1.Columns[table1.RecNo - 1].ReadOnly := true;
            dbgrideh1.Columns[table1.RecNo - 1].Color := rgb(230, 240, 252); // rgb(200, 200, 250);
          end;
     // if table1['biaozhi'] = 0 then
     //   if uppercase(table1['gzdm']) > 'A5' then
     // dbgrideh1.Columns[table1.RecNo - 1].OnUpdateData := dbgrideh1.Columns[6].OnUpdateData;
          dbgrideh1.Columns[table1.RecNo - 1].Width := table1['zdkd'];
        end
        else
          dbgrideh1.Columns[table1.RecNo - 1].Visible := false;
//
      table1.Next;
    end;
    wait.Visible:=false;
end;

procedure Tgzlr.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
  with dbgrideh1 do
    if Assigned(InplaceEditor) then
      InplaceEditor.Brush.Color := clYellow;
end;

procedure Tgzlr.DBGridEh1Exit(Sender: TObject);
begin
  with table2 do
    if State = dsEdit then
      Post;
end;

procedure Tgzlr.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
  AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
 // with table2 do
 //   if (state <> dsInactive) and (not odd(RecNo)) then {偶数行改变颜色}
 //     Background := rgb(230, 240, 252);

end;

procedure Tgzlr.DBGridEh1KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    #08, '-', '0'..'9': ;
    '.': if AnsiContainsText(dbgrideh1.InplaceEditor.EditText, '.') then
        Key := #0; {如果已经输入了小数点,则取消}
  else {其他键一律视为无效}
    Key := #0;
  end;
end;

procedure Tgzlr.Table2AfterScroll(DataSet: TDataSet);
begin
  with DataSet do
  begin
    if IsEmpty then
    begin
      Sb1.Panels[1].Text := '员工:[无记录]';
    end
    else
    begin
      sb1.Panels[3].Text := Format('员工总数:[%d]', [RecordCount]);
       //DataSet.FindField(a2)
      sb1.Panels[0].Text := '  单位:' + DataSet.FindField('a2').AsString;
      sb1.Panels[1].Text := '部门:' + DataSet.FindField('a3').AsString;
      sb1.Panels[2].Text := '科组:' + DataSet.FindField('a4').AsString;
      sb1.Panels[4].Text := '编号:' + DataSet.FindField('a1').AsString;
    end;
  end;
end;

procedure Tgzlr.cb_dwChange(Sender: TObject);
begin
  cb_fc.Items.Clear;
  cb_bz.Items.Clear;
  tb_bm.Open;
  tb_bm.First;
  with tb_bm do
    while not eof do
    begin
      if trim(cb_dw.Text) = trim(tb_bm['bmlb']) then
        cb_fc.Items.Add(tb_bm['bmmc']);
      next;
    end;
  tb_bm.close;
  cb_fc.ItemIndex := -1;
  cb_fc.Text := '';
  cb_bz.ItemIndex := -1;
  cb_bz.Text := '';

end;

procedure Tgzlr.cb_fcChange(Sender: TObject);
begin
  cb_bz.Items.Clear;
  tb_bz.Open;
  tb_bz.First;
  with tb_bz do
    while not eof do
    begin
      if (trim(cb_fc.Text) = trim(tb_bz['fcmc'])) and (trim(cb_dw.Text) = trim(tb_bz['lbmc'])) then
        cb_bz.Items.Add(tb_bz['bzmc']);
      next;
    end;
  tb_bz.close;
  cb_bz.ItemIndex := -1;
  cb_bz.Text := '';


end;

procedure Tgzlr.Button2Click(Sender: TObject);
begin
  if button2.Caption = '查询' then
  begin
    sb1.Panels[0].Text := '正在导入........';
    sb1.Refresh;
    if trim(cb_dw.Text) = '' then
    begin
      Application.MessageBox('请选择单位!', '提示信息', mb_iconInformation + mb_defbutton1);
      exit;
    end;
    wait.Show;
    dbgrideh1.SumList.Active := false;
    checkbox1.Enabled := true;
    checkbox2.Enabled := true;
    checkbox4.Enabled := true;
    rzt.Visible := true;
    rzt.Refresh;
    dybb_bz := 0;
    if table2.Active then
      table2.Active := false;
    table2.Filtered := false;
    if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) = '') and (trim(cb_bz.Text) = '') then
    begin
      dybb_bz := 1;
      table2.Filter := 'a2=' + '''' + cb_dw.Text + ''''; //+ 'and a3=' +''''+ cb_fc.Text +''''+ ' and a4=' +''''+ cb_bz.Text+'''';
    end;
    if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) = '') then
    begin
      table2.Filter := 'a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + ''''; //+ ' and a4=' +''''+ cb_bz.Text+'''';
      dybb_bz := 2;
    end;
    if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) <> '') then
    begin
      table2.Filter := 'a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + '''' + ' and a4=' + '''' + cb_bz.Text + '''';
      dybb_bz := 3;
    end;
    Application.ProcessMessages;
    table2.Filtered := true;
    table2.Active := true;
        Application.ProcessMessages;
    cb_dw.Enabled := false;
    cb_fc.Enabled := false;
    cb_bz.Enabled := false;
    cb_yuefen.Enabled := false;
        Application.ProcessMessages;
    dbgrideh1.SumList.Active := true;
    button2.Caption := '重新查询';
     wait.Visible := false;
  end
  else
  begin
    checkbox1.Enabled := false;
    checkbox2.Enabled := false;
    checkbox4.Enabled := false;
    button2.Caption := '查询';
    cb_dw.Enabled := true;
    cb_fc.Enabled := true;
    cb_bz.Enabled := true;
    cb_yuefen.Enabled := true;
  end;
end;

procedure Tgzlr.Button4Click(Sender: TObject);
begin
  close;
end;

procedure Tgzlr.FormActivate(Sender: TObject);
begin


  if gzlrshezhi = 0 then
    lab_xs.Caption := '通用薪资项目录入'
  else
    lab_xs.Caption := '特殊薪资项目录入';
end;

procedure Tgzlr.cb_yuefenChange(Sender: TObject);
begin
  chuqin := strtoint(copy(cb_yuefen.text, strlen(pchar(cb_yuefen.text)) - 4, 3));
end;

procedure Tgzlr.CheckBox1Click(Sender: TObject);
begin
  if checkbox1.Checked then
  begin
    table2.Edit;
    dbc_dfyh.Enabled := true;
    dbc_sfff.Enabled := true;
    dbedit1.ReadOnly := not dbedit1.ReadOnly;
    dbedit2.ReadOnly := not dbedit2.ReadOnly;
    dbedit3.ReadOnly := not dbedit3.ReadOnly;
    dbedit4.ReadOnly := not dbedit4.ReadOnly;
    dbedit7.ReadOnly := not dbedit7.ReadOnly;
    dbedit8.ReadOnly := not dbedit8.ReadOnly;
    dbedit9.ReadOnly := not dbedit9.ReadOnly;
    dbedit10.ReadOnly := not dbedit10.ReadOnly;
  end
  else
  begin
    dbc_dfyh.Enabled := false;
    dbc_sfff.Enabled := false;
    dbedit1.ReadOnly := not dbedit1.ReadOnly;
    dbedit2.ReadOnly := not dbedit2.ReadOnly;
    dbedit3.ReadOnly := not dbedit3.ReadOnly;
    dbedit4.ReadOnly := not dbedit4.ReadOnly;
    dbedit7.ReadOnly := not dbedit7.ReadOnly;
    dbedit8.ReadOnly := not dbedit8.ReadOnly;
    dbedit9.ReadOnly := not dbedit9.ReadOnly;
    dbedit10.ReadOnly := not dbedit10.ReadOnly;
  end;
end;

procedure Tgzlr.CheckBox2Click(Sender: TObject);
begin
  if checkbox2.Checked then
  begin
    table2.Edit;
{dbc_xb.Style:=csdropdown;
dbc_mz.Style:=csdropdown;
dbc_jszw.Style:=csdropdown;
dbc_rysf.Style:=csdropdown;
dbc_zw.Style:=csdropdown;
dbc_zzmm.Style:=csdropdown;
}
    dbc_xb.Enabled := true;
    dbc_gw.Enabled := true;
    dbc_mz.Enabled := true;
    dbc_jszw.Enabled := true;
    dbc_rysf.Enabled := true;
    dbc_zw.Enabled := true;
    dbc_zzmm.Enabled := true;
    dbedit12.ReadOnly := not dbedit12.ReadOnly;
    dateedit1.Enabled := true;
    dateedit2.Enabled := true;
    dateedit3.Enabled := true;
    dbedit23.ReadOnly := not dbedit23.ReadOnly;
  end
  else
  begin
{dbc_xb.Style:=cssimple;
dbc_mz.Style:=cssimple;
dbc_jszw.Style:=cssimple;
dbc_rysf.Style:=cssimple;
dbc_zw.Style:=cssimple;
dbc_zzmm.Style:=cssimple;
}
    dbc_gw.Enabled := false;
    dbc_xb.Enabled := false;
    dbc_mz.Enabled := false;
    dbc_jszw.Enabled := false;
    dbc_rysf.Enabled := false;
    dbc_zw.Enabled := false;
    dbc_zzmm.Enabled := false;

    dbedit12.ReadOnly := not dbedit12.ReadOnly;
    dateedit1.Enabled := false;
    dateedit2.Enabled := false;
    dateedit3.Enabled := false;
    dbedit23.ReadOnly := not dbedit23.ReadOnly;
  end;

end;

procedure Tgzlr.CheckBox3Click(Sender: TObject);
begin
  panel3.Visible := not panel3.Visible;
end;

procedure Tgzlr.CheckBox4Click(Sender: TObject);
begin
  if checkbox4.Checked then
  begin
    table2.Edit;
    dbedit25.ReadOnly := not dbedit25.ReadOnly;
    dbc_whcd.Enabled := true;
    dbc_xl.Enabled := true;
    dbc_byxx.Enabled := true;
    dbc_zy.Enabled := true;
    dbm_ll.Enabled := true;
  end
  else
  begin
    dbedit25.ReadOnly := not dbedit25.ReadOnly;
    dbc_whcd.Enabled := false;
    dbc_xl.Enabled := false;
    dbc_byxx.Enabled := false;
    dbc_zy.Enabled := false;
    dbm_ll.Enabled := false;
  end;
end;

procedure Tgzlr.dbc_dfyhChange(Sender: TObject);
begin
  if dbc_dfyh.Text = '无' then
    dbc_dfyh.Text := '';
end;

procedure Tgzlr.dbc_jszwChange(Sender: TObject);
begin
  if dbc_jszw.Text = '无' then
    dbc_jszw.Text := '';
end;

procedure Tgzlr.dbc_zwChange(Sender: TObject);
begin
  if dbc_zw.Text = '无' then
    dbc_zw.Text := '';
end;

procedure Tgzlr.dbc_xlChange(Sender: TObject);
begin
  if dbc_xl.Text = '无' then

⌨️ 快捷键说明

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