📄 gzlr_unit.~pas
字号:
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 + -