📄 yk.pas
字号:
begin
frmJe:=TfrmJe.Create(self);
if frmje.ShowModal=mrOK then begin
listItem:=lvhw.Items.Add;
listItem.Caption:=frmje.pm.Text;
listItem.SubItems.Add(frmje.gg.text);
listItem.SubItems.Add(frmje.sl.text);
listItem.SubItems.Add(frmje.je.text);
try
listItem.SubItems.Add(FloatToStr(StrToFloat(frmje.sl.Text)*StrToFloat(frmje.je.Text)) );
except
Showmessage('请输入数据类型的值');
exit;
end;
get_je;
end;
end;
procedure TfrmYK.btDeleteClick(Sender: TObject);
var i:integer;
begin
if lvhw.Selected=nil then exit;
i:=lvhw.Selected.Index;
lvhw.items.Delete(i);
get_je;
end;
procedure TfrmYK.btUpdateClick(Sender: TObject);
var
frmje: Tfrmje;
i:integer;
begin
if lvhw.Selected=nil then exit;
i:=lvhw.Selected.Index;
frmJe:=TfrmJe.Create(self);
frmje.pm.text:=lvhw.Selected.Caption;
frmje.gg.text:=lvhw.Selected.SubItems.Strings[0];
frmje.sl.text:=lvhw.Selected.SubItems.Strings[1];
frmje.je.text:=lvhw.Selected.SubItems.Strings[2];
if frmje.ShowModal=mrOK then begin
lvhw.Selected.Caption:=frmje.pm.Text;
lvhw.Selected.SubItems.Strings[0]:=frmje.gg.text;
lvhw.Selected.SubItems.Strings[1]:=frmje.sl.text;
lvhw.Selected.SubItems.Strings[2]:=frmje.je.text;
lvhw.Selected.SubItems.Strings[3]:=FloatToStr(StrToFloat(frmje.sl.Text)*StrToFloat(frmje.je.Text));
get_je;
end;
end;
//0-bm 1-cw,2-fz,3-zjl
function TfrmYK.get_spr(flag:integer):string;
var
frmCK: TfrmCK;
i:integer;
str:string;
begin
Application.CreateForm(Tfrmck, frmck);
if frmcK.ShowModal=mrOK then begin
result:=sup.CheckUser(frmck.Edit1.text,frmCk.Edit2.text);
if result='' then exit;
if flag=0 then begin
if sup.PS_SP_RP(0,edNo.Text,result,'')<0 then begin
result:='';
exit;
end;
end else if flag=1 then begin
if mzwpz.lines.Count>0 then begin
for i:=0 to mzwpz.lines.Count-1 do begin
str:=mzwpz.Lines[i]+str;
end;
end else str:='';
//
if sup.PS_SP_RP(1,edNo.Text,result,str)<0 then begin
result:='';
exit;
end;
end else if flag=2 then begin
if sup.PS_SP_RP(2,edNo.Text,result,'')<0 then begin
result:='';
exit;
end;
end else if flag=3 then begin
if sup.PS_SP_RP(3,edNo.Text,result,'')<0 then begin
result:='';
exit;
end;
end else result:='';
end else begin
result:='';
Exit;
end;
end;
function TfrmYK.get_je:string;
var i:integer;
f5:real;
s1,s2,s3,s4:string;
begin
for i:=0 to lvhw.Items.Count-1 do begin
s1:=lvhw.Items.Item[i].Caption;
s2:=lvhw.items.Item[i].Subitems.Strings[0];
s3:=lvhw.items.Item[i].Subitems.Strings[1];
s4:=lvhw.items.Item[i].Subitems.Strings[2];
f5:=f5+StrToFloat(lvhw.items.Item[i].Subitems.Strings[1])*StrToFloat(lvhw.items.Item[i].Subitems.Strings[2]);
end;
eje.Text:=FloatTostr(f5);
end;
procedure TfrmYK.btCreaterpClick(Sender: TObject);
VAR ole,rows:olevariant;
i,cur_row:integer;
str:string;
begin
ole:= VarArrayCreate([0,8],varVariant);
Ole[0]:=eDNo.Text;
Ole[1]:=cbto.text;
Ole[2]:=cbfrom.Text;
ole[3]:=dtrq.date;
Ole[4]:=eje.Text;
if Mdw.lines.Count>0 then begin
for i:=0 to Mdw.lines.Count-1 do begin
str:=Mdw.Lines[i]+str;
end;
Ole[5]:=str;
end else Ole[5]:='';
if Mly.lines.Count>0 then begin
str:='';
for i:=0 to Mly.lines.Count-1 do begin
str:=Mly.Lines[i]+str;
end;
Ole[6]:=str;
end else Ole[6]:='';
Ole[7]:=dtyyrq.date;
Ole[8]:=edSqr.Text;
//
if lvhw.Items.Count>0 then begin
rows:= VarArrayCreate([0,4,0,0],varVariant);
for i:=0 to lvhw.Items.Count-1 do begin
cur_row:=VarArrayHighBound(rows, 2);
rows[0, cur_row]:=eDno.Text;
rows[1, cur_row]:=lvhw.Items.Item[i].Caption;
rows[2, cur_row]:=lvhw.items.Item[i].Subitems.Strings[0];
rows[3, cur_row]:=lvhw.items.Item[i].Subitems.Strings[1];
rows[4,cur_row]:=lvhw.items.Item[i].Subitems.Strings[2];
VarArrayRedim(rows, cur_row + 1);
end;
end;
if sup.PS_ins_rphw(ole,rows,lvhw.items.count)<0 then begin
showmessage('insert fail');
Exit;
end;
bDeleteRp.Enabled:=true;
tbref.Click;
end;
procedure TfrmYK.bDeleteRpClick(Sender: TObject);
begin
if edNo.Text='' then exit;
if MessageDlg('你向删除着个报告吗(Y/N)?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
if sup.PS_Del_rp(edNo.Text)<0 then begin
Showmessage(sup.PS_Lasterror);
end else begin
tbref.Click;
ClearRp;
btDelete.Enabled:=false;
end;
end;
procedure TfrmYK.lvClick(Sender: TObject);
var ole:olevariant;
dt:TdateTime;
ole1:TStrings;
begin
if lv.Selected=nil then exit;
ole:=sup.PS_Get_rp('where c_id='+''''+lv.Selected.Caption+'''');
ole1:= Get_RowRecords(ole,0);
edNo.Text:=ole1.Strings[0];
CBTO.Text:=Ole1.strings[1];
CBFrom.Text:=Ole1.strings[2];
dt:=StrToDateTime(ole1.strings[3]);
dtrq.DateTime:=dt;
eJe.text:=Ole1.strings[4];
mdw.lines.clear;
mDW.Lines.Add(Ole1.strings[5]);
mly.Lines.Clear;
mly.Lines.Add(Ole1.strings[6]);
dtyyrq.datetime:=StrToDateTime(Ole1.strings[7]);
//edbm.itemindex:=edbm.items.indexof(ole1.strings[8]);
edbmjl.Text:=Ole1.strings[8];
mzwpz.lines.Clear;
mzwpz.Lines.Add(Ole1.strings[9]);
edCW.Text:=Ole1.strings[10];
edFZ.Text:=Ole1.strings[11];
edzjl.Text:=Ole1.strings[12];
edSqr.text:=Ole1.strings[13];
g0.Enabled:=false;
//
lvhw.Columns.clear;
lvhw.items.Clear;
ListViewAddColumns(['','','品名','规格','数量','单价','金额'],[0,0,100,50,50,50,50],lvhw);
ole:=sup.PS_Get_HW(' where c_id='+''''+edNo.Text+'''');
ListViewAddRows(ole,lvhw);
{if not sup.PS_IS_Admin then begin
Disrp;
Disbmsp;
DisCWsp;
DisFzsp;
DisZjlsp;
end;}
end;
procedure TfrmYK.tbcwtyClick(Sender: TObject);
var sp:string;
str:string;
i:integer;
stat:string;
begin
stat:=sup.PB_GetValFromTab('csi_report','c_status','where c_id='+''''+edNo.Text+'''');
if stat<>'B' then begin
showmessage('对不起,这个报告没有被部门经理审批,或者已经审批过');
if MessageDlg('您要继续审批吗(Y/N)?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
end;
sp:=get_spr(1);
if sp<>'' then begin
if mzwpz.lines.Count>0 then begin
str:='';
for i:=0 to mzwpz.lines.Count-1 do begin
str:=mzwpz.Lines[i]+str;
end;
end else str:='';
if sup.PS_SP_RP(1,edno.Text,sp,str)<0 then begin
showmessage(sup.PS_Lasterror);
Exit;
end;
edCW.Text:=sp;
end else showmessage('对不起,你已经放弃身份确认,或确认不合法,请检查一下.');
end;
procedure TfrmYK.tbfztyClick(Sender: TObject);
var sp:string;
stat:string;
begin
stat:=sup.PB_GetValFromTab('csi_report','c_status','where c_id='+''''+edNo.Text+'''');
if stat<>'C' then begin
showmessage('对不起,这个报告没有被财务部门审批,或者已经审批过');
if MessageDlg('您要继续审批吗(Y/N)?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
end;
sp:=get_spr(2);
if sp<>'' then begin
if sup.PS_SP_RP(2,edno.Text,sp,'')<0 then begin
showmessage(sup.PS_Lasterror);
end;
edFZ.Text:=sp;
end else showmessage('对不起,你已经放弃身份确认,或确认不合法,请检查一下.');
end;
procedure TfrmYK.tbZjltyClick(Sender: TObject);
var sp:string;
stat:string;
begin
stat:=sup.PB_GetValFromTab('csi_report','c_status','where c_id='+''''+edNo.Text+'''');
if (stat<>'C') and (stat<>'F') then begin
showmessage('对不起,这个报告没有被财务部门或副总审批,或者已经审批过');
if MessageDlg('您要继续审批吗(Y/N)?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
end;
sp:=get_spr(3);
if sp<>'' then begin
if sup.PS_SP_RP(3,edno.Text,sp,'')<0 then begin
showmessage(sup.PS_Lasterror);
Exit;
end;
edzjl.Text:=sp;
end else showmessage('对不起,你已经放弃身份确认,或确认不合法,请检查一下.');
end;
procedure TfrmYK.tbrefClick(Sender: TObject);
var rows:olevariant;
begin
lv.Items.Clear;
rows:=sup.PS_Get_rp('where c_status<>'+''''+'Z'+'''');
ListViewAddRows(rows,lv);
lvy.Items.Clear;
rows:=sup.PS_Get_rp('where c_status='+''''+'Z'+'''');
ListViewAddRows(rows,lvy);
ClearRp;
end;
procedure TfrmYK.edBMChange(Sender: TObject);
var rows:olevariant;
begin
lv.Items.Clear;
if edbm.Text='所有部门' then begin
tbref.Click;
Exit;
end;
rows:=sup.PS_Get_rp('where c_status<>'+''''+'Z'+''''+' and '+'c_from='+''''+edbm.Text+'''');
ListViewAddRows(rows,lv);
lvy.Items.Clear;
rows:=sup.PS_Get_rp('where c_status='+''''+'Z'+''''+' and '+'c_from='+''''+edbm.Text+'''');
ListViewAddRows(rows,lvy);
end;
procedure TfrmYK.lvyClick(Sender: TObject);
var ole:olevariant;
dt:TdateTime;
ole1:TStrings;
begin
if lvy.Selected=nil then exit;
ole:=sup.PS_Get_rp('where c_id='+''''+lvy.Selected.Caption+'''');
ole1:= Get_RowRecords(ole,0);
edNo.Text:=ole1.Strings[0];
CBTO.Text:=Ole1.strings[1];
CBFrom.Text:=Ole1.strings[2];
dt:=StrToDateTime(ole1.strings[3]);
dtrq.DateTime:=dt;
eJe.text:=Ole1.strings[4];
mdw.lines.clear;
mDW.Lines.Add(Ole1.strings[5]);
mly.Lines.Clear;
mly.Lines.Add(Ole1.strings[6]);
dtyyrq.datetime:=StrToDateTime(Ole1.strings[7]);
edbmjl.Text:=Ole1.strings[8];
mzwpz.lines.Clear;
mzwpz.Lines.Add(Ole1.strings[9]);
edCW.Text:=Ole1.strings[10];
edFZ.Text:=Ole1.strings[11];
edzjl.Text:=Ole1.strings[12];
edSqr.text:=Ole1.strings[13];
g0.Enabled:=false;
//
lvhw.Columns.clear;
lvhw.items.Clear;
ListViewAddColumns(['','','品名','规格','数量','单价','金额'],[0,0,100,50,50,50,50],lvhw);
ole:=sup.PS_Get_HW(' where c_id='+''''+edNo.Text+'''');
ListViewAddRows(ole,lvhw);
Disrp;
Disbmsp;
DisCWsp;
DisFzsp;
DisZjlsp;
end;
procedure TfrmYK.N1Click(Sender: TObject);
var s:string;
begin
if PageControl1.ActivePage=tsw then begin
if lv.Selected=nil then exit;
s:=lv.Selected.Caption;
end else begin
if lvy.Selected=nil then exit;
s:=lvy.Selected.Caption;
end;
if MessageDlg('你想删除这个报告吗(Y/N)?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
if sup.PS_Del_rp(s)<0 then begin
Showmessage(sup.PS_Lasterror);
end else begin
tbref.Click;
ClearRp;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -