📄 u_foodorder.pas
字号:
unit u_foodorder;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, DBCtrls, Grids, DBGrids,
u_data, DB, DBTables;
type
TF_foodorder = class(TForm)
dg_detail: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
edtNum: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
UpDown1: TUpDown;
DBGrid1: TDBGrid;
btnOk: TBitBtn;
btnPrt: TBitBtn;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
edtName: TEdit;
Bevel1: TBevel;
p_fee: TPanel;
Label9: TLabel;
btnCancel: TBitBtn;
DS_foodetail: TDataSource;
Q_foodetail: TQuery;
B_neworder: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure B_neworderClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnPrtClick(Sender: TObject);
procedure Q_foodetailAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
sid:string;
public
{ Public declarations }
end;
var
F_foodorder: TF_foodorder;
implementation
{$R *.dfm}
uses
u_report;
procedure TF_foodorder.FormCreate(Sender: TObject);
begin
with DM_main do
begin
T_foodmenu.Open;
end;
end;
procedure TF_foodorder.btnOkClick(Sender: TObject);
var
id:integer;
total:single;
begin
if sid='' then
begin
B_neworderClick(nil);
end;
//订单明细
id:=DM_main.GetMaxId('order_detail','id');
with Q_foodetail do
begin
Append;
Fields[0].AsInteger:=id;
Fields[1].AsString:=sid;
Fields[2].AsString:=dbtext1.Caption;
Fields[3].AsString:=edtNum.Text;
Fields[4].AsString:=dbtext4.Caption;
Post;
DisableControls;
Close;
Open;
EnableControls;
end;
//更新总订单的总金额
with DM_main.T_foodorder do
begin
Edit;
total:=DM_main.GetSumPrice(sid);
Fields[3].AsFloat:=total;
Post;
end;
end;
procedure TF_foodorder.btnCancelClick(Sender: TObject);
var
total:Single;
begin
with Q_foodetail do
begin
if IsEmpty then
Exit;
if not Active then
begin
ParamByName('sid').Value:=sid;
Open;
end;
Delete;
end;
total:=DM_main.GetSumPrice(sid);
with DM_main.T_foodorder do
begin
if not Active then Open;
Locate('id',sid,[]);
Edit;
Fields[3].AsFloat:=total;
Post;
end;
end;
procedure TF_foodorder.B_neworderClick(Sender: TObject);
begin
//新建总订单
sid:=DM_main.GetMaxOrderId;
with DM_main.T_foodorder do
begin
Open;
Append;
Fields[0].AsString:=sid;
Fields[1].AsString:=DateTimeToStr(Now);
Fields[2].AsString:=Trim(edtName.Text);
Post;
end;
with Q_foodetail do
begin
Close;
ParamByName('sid').Value:=sid;
Prepare;
Open;
end;
end;
procedure TF_foodorder.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
sid:='';
Q_foodetail.Close;
end;
procedure TF_foodorder.btnPrtClick(Sender: TObject);
begin
F_report:=TF_report.Create(nil);
try
F_report.QuickRep2.Preview;
finally
F_report.Free;
end;
end;
procedure TF_foodorder.Q_foodetailAfterScroll(DataSet: TDataSet);
begin
btnPrt.Enabled:=not Q_foodetail.IsEmpty;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -