📄 frmxf.~pas
字号:
unit FrmXf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ImgList, ComCtrls, RzTreeVw, RzTabs, StdCtrls,
DBGrids, Grids,Data_DL,DB, ADODB, DBClient,Unit_CP, RzLabel, Mask,
RzEdit, RzButton,Unit_XF, Menus;
type
Tfrm_XF = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel6: TPanel;
Panel5: TPanel;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
Panel7: TPanel;
ImageList1: TImageList;
CpTree: TRzTreeView;
DBGrid1: TDBGrid;
Button1: TButton;
RzLabel2: TRzLabel;
lab_CTINFO: TRzLabel;
DatailList: TDBGrid;
RzBitBtn1: TRzBitBtn;
RzLabel1: TRzLabel;
RzLabel3: TRzLabel;
Ed_hotkey: TRzEdit;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
lab_lsh: TRzLabel;
RzLabel4: TRzLabel;
DataSource1: TDataSource;
Cp_CDS: TClientDataSet;
DataSource2: TDataSource;
DatailTmp_CDS: TClientDataSet;
ed_num: TRzNumericEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CpTreeDblClick(Sender: TObject);
procedure Ed_hotkeyChange(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
private
{ Private declarations }
MyData:TDL_data;
MyCp:TCp_info;
MyXF:TXf_info;
CpInfo:Tcp;
Xfproj:TxfProj;
procedure AddCP_Class(AId: integer; FatherNode: TTreeNode);
procedure SetXfProj;
public
{ Public declarations }
end;
var
frm_XF: Tfrm_XF;
implementation
uses FrmMain, frmXfCpRate, FrmCpMemo;
{$R *.dfm}
procedure Tfrm_XF.Button1Click(Sender: TObject);
begin
Frm_main.DataDisp;
Close;
end;
procedure Tfrm_XF.FormCreate(Sender: TObject);
begin
Mydata:=TDL_data.Create(Application);
MyCp:=Tcp_info.create;
MyXf:=Txf_info.create;
CpTree.Items.Clear;
AddCP_Class(0,nil);
cp_cds.Data:=MyCp.GetAllCpList(Ed_Hotkey.Text);
end;
procedure TFrm_XF.AddCP_Class(AId: integer; FatherNode: TTreeNode);
var
QryTmp:TADOQuery;
myNode:TTreeNode;
myLabel:TLabel;
Dj:Currency;
begin
QryTmp:=TADOQuery.Create(self);
QryTmp.ConnectionString:=MyData.Conn.ConnectionString;
QryTmp.SQL.Add('select * from CP_info');
QryTmp.SQL.Add('where ss_Id='+inttostr(AId));
QryTmp.Open;
while not QryTmp.Eof do
begin
dj:=QryTmp.FieldByName('CpDJ').AsCurrency;
if QryTmp.FieldByName('Lv').AsInteger<>2 Then
myNode:=CpTree.Items.AddChild(FatherNode,QryTmp.fieldbyname('Type_name').AsString)
Else
myNode:=CpTree.Items.AddChild(FatherNode,QryTmp.fieldbyname('Type_name').AsString+' |'+Format('%*.*f',[8,2,dj])+'元');
//创建标签,caption存放各分支的AutoId表识
myNode.ImageIndex:=QryTmp.fieldbyname('Lv').AsInteger;
myNode.SelectedIndex:=QryTmp.fieldbyname('Lv').AsInteger;
myLabel:=TLabel.Create(self);
myLabel.Visible:=false;
myLabel.Caption:=QryTmp.fieldbyname('IID').AsString;
myNode.Data:=myLabel;
AddCP_Class(QryTmp.fieldbyname('IID').AsInteger,myNode); //递归调用过程
QryTmp.Next;
end;
QryTmp.Free;
end;
procedure Tfrm_XF.CpTreeDblClick(Sender: TObject);
begin
if Cptree.Selected.Level=2 Then
Begin
SetXfProj;
Myxf.Add_XfProject(xfproj);
datailTmp_Cds.Data:=Myxf.GetDatailTmpList(lab_lsh.Caption);
End;
end;
procedure Tfrm_XF.Ed_hotkeyChange(Sender: TObject);
begin
RzpageControl1.ActivePage:=Tabsheet2;
cp_cds.Data:=MyCp.GetAllCpList(Ed_Hotkey.Text);
end;
procedure Tfrm_XF.FormActivate(Sender: TObject);
begin
datailTmp_Cds.Data:=Myxf.GetDatailTmpList(lab_lsh.Caption);
end;
procedure Tfrm_XF.SetXfProj;
Var
TmpCpID:Integer;
cpname,tmpName:string;
begin
cpname:='';
TmpName:=cptree.Selected.Text;
CpName:=trim(copy(tmpName,1,pos('|',TmpName)-1)); //截取菜品名称
TmpCpID:=MyCp.Get_CpID(Cptree.Selected.Parent.Text,cpName); //获取菜品ID Ok
Cpinfo:=MyCp.GetCpInfo(TmpCpID); //获取菜品信息
//以下为赋值
Xfproj.lsh:=lab_lsh.Caption; //流水号
Xfproj.CP_ID:=Cpinfo.IID; //菜品IID
XfProj.Num:=StrToFloat(ed_num.Text); //消费数量
XfProj.Dj:=CpInfo.CpDJ; //菜品单价
XfProj.rate:=1; //菜品折扣率
XfProj.Memo:=''; //菜品备注说明
XfProj.AdminID:=Frm_main.AdminID; //当前操作员ID
XfProj.OperTime:=Now; //当前操作时间
XfProj.Zsflag:=1; //特殊操作
end;
procedure Tfrm_XF.N3Click(Sender: TObject);
begin
With Frm_XfCpRate Do
Begin
XfCpID:=DatailTmp_Cds.FieldByName('ID').AsInteger;
XfCpName:=DatailTmp_CDS.FieldByName('菜品名称').AsString;
XfMoney:=DatailTmp_CDS.FieldByName('单价').AsCurrency;
XfRate:=DatailTmp_Cds.FieldByName('折扣率').AsCurrency;
XfRateMoney:=DatailTmp_Cds.FieldByName('单价').AsCurrency*DatailTmp_Cds.FieldByName('折扣率').AsCurrency;
ShowModal;
End;
end;
procedure Tfrm_XF.N2Click(Sender: TObject);
Var
xfcpid:Integer;
xfrate,xfmoney,xfratemoney:Currency;
begin
XfCpID:=DatailTmp_Cds.FieldByName('ID').AsInteger;
XfMoney:=DatailTmp_CDS.FieldByName('单价').AsCurrency;
// XfRate:=DatailTmp_Cds.FieldByName('折扣率').AsCurrency;
XfRate:=0;
// XfRateMoney:=DatailTmp_Cds.FieldByName('单价').AsCurrency*DatailTmp_Cds.FieldByName('折扣率').AsCurrency;
XfRateMoney:=0;
MyXf.XfCp_Rate(xfcpid,XfRate,XfRateMoney);
datailTmp_Cds.Data:=Myxf.GetDatailTmpList(lab_lsh.Caption);
end;
procedure Tfrm_XF.N1Click(Sender: TObject);
Var
XfCpID:Integer;
begin
XfCpID:=DatailTmp_Cds.FieldByName('ID').AsInteger;
MyXf.DelCp(xfCpID);
DatailTmp_Cds.Data:=Myxf.GetDatailTmpList(lab_lsh.Caption);
end;
procedure Tfrm_XF.RzBitBtn1Click(Sender: TObject);
begin
N1Click(Nil);
end;
procedure Tfrm_XF.RzBitBtn2Click(Sender: TObject);
begin
CpTreeDblClick(nil);
end;
procedure Tfrm_XF.N5Click(Sender: TObject);
begin
With Frm_CpMemo Do
Begin
CpID:=DatailTmp_Cds.FieldByName('ID').AsInteger;
end;
frm_cpMemo.ShowModal;
end;
procedure Tfrm_XF.RzBitBtn5Click(Sender: TObject);
begin
N5Click(Nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -