📄 gzjfh_un.pas
字号:
unit gzjfh_un;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sjrcbase, ADODB, DB, ActnList, bsMessages, bsSkinData,
BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, bsdbctrls,
StdCtrls, Mask, bsSkinBoxCtrls, ExtCtrls,math,StrUtils;
type
Tgzjfh_frm = class(Tsjycbase_frm)
bsSkinGroupBox3: TbsSkinGroupBox;
bsSkinDBGrid1: TbsSkinDBGrid;
bsSkinScrollBar3: TbsSkinScrollBar;
bsSkinScrollBar4: TbsSkinScrollBar;
bsSkinPanel3: TbsSkinPanel;
bsSkinPanel4: TbsSkinPanel;
bsSkinPanel2: TbsSkinPanel;
bsSkinSpeedButton5: TbsSkinSpeedButton;
bsSkinSpeedButton6: TbsSkinSpeedButton;
bsSkinSpeedButton7: TbsSkinSpeedButton;
bsSkinSpeedButton8: TbsSkinSpeedButton;
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
bsSkinStdLabel13: TbsSkinStdLabel;
ds_hyd: TDataSource;
ADOTable1: TADOQuery;
bsSkinDBLookupComboBox11: TbsSkinDBLookupComboBox;
bsSkinDBLookupComboBox10: TbsSkinDBLookupComboBox;
sp_bs: TADOStoredProc;
ds_bs: TDataSource;
bsSkinStdLabel14: TbsSkinStdLabel;
bsSkinNumericEdit1: TbsSkinNumericEdit;
sp_hhddview: TADOStoredProc;
bsSkinTextLabel1: TbsSkinTextLabel;
bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
bsSkinMemo1: TbsSkinMemo;
bsSkinCheckRadioBox3: TbsSkinCheckRadioBox;
procedure bsSkinCheckRadioBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure acSaveExecute(Sender: TObject);
procedure ds_bsDataChange(Sender: TObject; Field: TField);
procedure sp_bsAfterOpen(DataSet: TDataSet);
procedure bsSkinSpeedButton5Click(Sender: TObject);
procedure bsSkinSpeedButton6Click(Sender: TObject);
procedure bsSkinSpeedButton7Click(Sender: TObject);
procedure bsSkinSpeedButton8Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure acNewExecute(Sender: TObject);
procedure bsSkinNumericEdit1Change(Sender: TObject);
procedure acModifyExecute(Sender: TObject);
procedure acDeleteExecute(Sender: TObject);
procedure bsSkinCheckRadioBox2Click(Sender: TObject);
procedure bsSkinCheckRadioBox3Click(Sender: TObject);
private
s:Integer;
lx:integer;//数据增加时1为换货等待2为退货
mlx:integer;//数据修改时1为换货等待2为退货
{ Private declarations }
public
{ Public declarations }
end;
var
gzjfh_frm: Tgzjfh_frm;
implementation
uses data_un;
{$R *.dfm}
procedure Tgzjfh_frm.bsSkinCheckRadioBox1Click(Sender: TObject);
begin
inherited;
bsSkinPanel2.Enabled:=not bsSkinCheckRadioBox1.Checked;
bsSkinDBGrid1.Enabled:=not bsSkinCheckRadioBox1.Checked;
acNew.Enabled:= bsSkinCheckRadioBox1.Checked;
acNewExecute(Self);
bsSkinCheckRadioBox3.Checked:=False;
//bsSkinCheckRadioBox2.Enabled:=bsSkinCheckRadioBox1.Checked;
if sp_bs.active then
if sp_bs.RecordCount>0 then
begin
bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
begin
lx:=1; //换机等待情况
bsSkinStdLabel14.Caption:='需要补差价:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为客户由于技术原因退货,正在换机等待当中,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
bsSkinCheckRadioBox2.Visible:=true;
end ;
if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
begin
lx:=2; //退货重新入库
bsSkinStdLabel14.Caption:='新机进价:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end
end;
end;
procedure Tgzjfh_frm.FormCreate(Sender: TObject);
begin
bsSkinStdLabel13.Caption:='';
bsSkinMemo1.Clear;
hylx:='CF';
hyd:='厂家返回';
if not ADOTable1.Active then
ADOTable1.Open;
if not sp_bs.Active then
sp_bs.Open;
inherited;
end;
procedure Tgzjfh_frm.acSaveExecute(Sender: TObject);
begin
hydid:=ADOTable1.FieldValues['fid'];
vbsid:=bsSkinStdLabel13.Caption;
inherited;
acNew.Enabled:=false;
bsSkinNumericEdit1.Clear;
sp_bs.Close;
sp_bs.Open;
end;
procedure Tgzjfh_frm.ds_bsDataChange(Sender: TObject; Field: TField);
begin
inherited;
if sp_bs.active then
if sp_bs.RecordCount>0 then
begin
bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
begin
lx:=1; //换机等待情况
bsSkinStdLabel14.Caption:='需要补差价:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为客户由于技术原因退货,正在换机等待当中,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
bsSkinCheckRadioBox2.Visible:=true;
end ;
if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
begin
lx:=2; //退货重新入库
bsSkinStdLabel14.Caption:='新机进价:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end
end;
end;
procedure Tgzjfh_frm.sp_bsAfterOpen(DataSet: TDataSet);
begin
inherited;
if sp_bs.Active then
if sp_bs.RecordCount>0 then
begin
bsSkinPanel2.Enabled:=true ;
bsSkinCheckRadioBox1.Enabled:=true;
end
else
begin
bsSkinPanel2.Enabled:=false;
bsSkinCheckRadioBox1.Enabled:=False;
end;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton5Click(Sender: TObject);
begin
inherited;
sp_bs.First;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton6Click(Sender: TObject);
begin
inherited;
sp_bs.Prior;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton7Click(Sender: TObject);
begin
inherited;
sp_bs.Next;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton8Click(Sender: TObject);
begin
inherited;
sp_bs.Last;
end;
procedure Tgzjfh_frm.FormShow(Sender: TObject);
begin
inherited;
acNew.Enabled:=false;
end;
procedure Tgzjfh_frm.acNewExecute(Sender: TObject);
begin
inherited;
bsSkinDBLookupComboBox7.KeyValue:=sp_bs.FieldValues['fcolorid'];
bsSkinDBLookupComboBox5.KeyValue:=sp_bs.FieldValues['fsjcsid'] ;
bsSkinDBLookupComboBox6.KeyValue:=sp_bs.FieldValues['fsjxhid'];
bsSkinDBLookupComboBox8.KeyValue:=sp_bs.FieldValues['fjbpzid'];
bsSkinDBLookupComboBox10.KeyValue:=sp_bs.FieldValues['fhydid'];
s:=1;
bsSkinNumericEdit1.Clear;
bsSkinEdit2.Enabled:=true;
end;
procedure Tgzjfh_frm.bsSkinNumericEdit1Change(Sender: TObject);
var a,b,c:Integer;
t:string;
begin
inherited;
a:=StrToInt( FloatToStr( bsSkinNumericEdit1.Value));
if s=1 then
begin
b:=StrToInt(sp_bs.FieldValues['fmon']);
c:=StrToInt(sp_bs.FieldValues['fsalemon']) ;
if lx=2 then //退货情况
begin
bsSkinEdit3.Text:=IntToStr(c+(a-b)) ;
vcmon:=a-b;
bsSkinEdit4.Text:='串号为:'+sp_bs.FieldValues['fno']+'退货,进价差额是:'+IntToStr(a-b)+'元';
end ;
if lx=1 then //换货情况
begin
bsSkinEdit3.Text:=IntToStr(a); //补差价,客户取这台机子的时候,还应补多少差价
vcmon:=a;
bsSkinEdit4.Text:='串号为:'+sp_bs.FieldValues['fno']+'换货,补换货差价:'+IntToStr(a)+'元';
end ;
vomon:=b;
end;
if s=2 then
begin
b:=strtoint(spdisp.FieldValues['fomon']);
c:=StrToInt(spdisp.FieldValues['fmon'])-StrToInt(spdisp.FieldValues['fcmon']);
t:= spdisp.FieldValues['fmemo'] ;
if mlx=2 then
begin
bsSkinEdit3.Text:=IntToStr(c+(a-b));
vcmon:=a-b;
bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a-b)+'元'
end ;
if mlx=1 then //换货情况
begin
bsSkinEdit3.Text:=IntToStr(a);
vcmon:=a;
bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a)+'元' ;
end;
end;
end;
procedure Tgzjfh_frm.acModifyExecute(Sender: TObject);
begin
inherited;
s:=2;
bsSkinNumericEdit1.Clear;
bsSkinDBLookupComboBox10.KeyValue:=bsSkinDBLookupComboBox11.KeyValue;
//if spdisp.Active then
if spdisp.RecordCount>0 then
begin
sp_hhddview.Close;
sp_hhddview.Parameters.ParamValues['@fhrxx']:=bsSkinDBText2.Caption;
sp_hhddview.Open;
if sp_hhddview.Active then
if sp_hhddview.RecordCount>0 then
mlx:=1
else
mlx:=2;
end;
if mlx=1 then
begin
bsSkinStdLabel14.Caption:='需补差价:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为客户由于技术原因退货,在换机等待,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
bsSkinCheckRadioBox2.Visible:=true;
end;
if mlx=2 then
begin
bsSkinStdLabel14.Caption:='新机进价:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end;
end;
procedure Tgzjfh_frm.acDeleteExecute(Sender: TObject);
begin
spsave.Parameters.ParamValues['@VHylx']:=hylx;
inherited;
sp_bs.Close;
sp_bs.Open;
bsSkinNumericEdit1.Clear;
end;
procedure Tgzjfh_frm.bsSkinCheckRadioBox2Click(Sender: TObject);
begin
inherited;
if bsSkinCheckRadioBox2.Visible then
bsSkinNumericEdit1.Visible:=bsSkinCheckRadioBox2.Checked;
end;
procedure Tgzjfh_frm.bsSkinCheckRadioBox3Click(Sender: TObject);
begin
inherited;
if bsSkinCheckRadioBox3.Checked=True then
begin
if lx=1 then //换机等待
if bsSkinMessage1.MessageDlg('请仔细检查,'+#13+'本功能只适合于退机后,'+#13+'又没有故障,'+#13+'客户需要领原来的机子情况,'+#13+'删除后只能重新报损'+#13+'请慎重!!!!请慎重!!!!'+#13+'此种情况属于极特殊性情况'+#13+'一旦操作将不能恢复',mtInformation,[mbYes,mbNo],0)=mryes then
begin
bsSkinCheckRadioBox2.Enabled:=false;
bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
bsSkinEdit2.Enabled:=false;
end
else bsSkinCheckRadioBox3.Checked:=false;
if lx=2 then //退货机重新入库
if bsSkinMessage1.MessageDlg('请仔细检查,'+#13+'本功能只适合于退机后,'+#13+'又没有故障,'+#13+'以原来的机子重新入库的情况,'+#13+'删除后只能重新报损'+#13+'请慎重!!!!请慎重!!!!'+#13+'此种情况属于极特殊性情况'+#13+'一旦操作将不能恢复',mtInformation,[mbYes,mbNo],0)=mryes then
begin
bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
bsSkinEdit2.Enabled:=false;
bsSkinNumericEdit1.Value:=sp_bs.FieldValues['fmon'];
end
else bsSkinCheckRadioBox3.Checked:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -