📄 uz_cpzz.pas
字号:
unit uz_cpzz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, ExtCtrls, ToolWin, Grids, DBGrids,u_main, StdCtrls,
ImgList, Tabs, DBCtrls, Db, DBTables, dxExEdtr, dxDBTLCl, dxGrClms, dxTL,
dxDBCtrl, dxDBGrid, dxCntner, se_controls, KsSkinForms;
type
Tz_cpzz = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
zl: TToolButton;
gl: TToolButton;
sl: TToolButton;
dy: TToolButton;
ToolButton8: TToolButton;
MainMenu1: TMainMenu;
MenuItem11: TMenuItem;
m_zl: TMenuItem;
m_gl: TMenuItem;
m_sl: TMenuItem;
N1: TMenuItem;
MenuItem18: TMenuItem;
P1: TMenuItem;
MenuItem19: TMenuItem;
MenuItem20: TMenuItem;
MenuItem73: TMenuItem;
MenuItem74: TMenuItem;
MenuItem75: TMenuItem;
MenuItem76: TMenuItem;
sb: TStatusBar;
ImageList2: TImageList;
ImageList1: TImageList;
yl: TToolButton;
fg1: TToolButton;
ToolButton5: TToolButton;
TabSet1: TTabSet;
zc: TToolButton;
gc: TToolButton;
sc: TToolButton;
ToolButton12: TToolButton;
m_zc: TMenuItem;
N3: TMenuItem;
m_gc: TMenuItem;
m_sc: TMenuItem;
TreeView1: TTreeView;
PrinterSetup: TPrinterSetupDialog;
d_cl: TDataSource;
d_cy: TDataSource;
xflb: TTable;
PopupMenu1: TPopupMenu;
yl1: TMenuItem;
yl2: TMenuItem;
PopupMenu2: TPopupMenu;
dy1: TMenuItem;
dy2: TMenuItem;
N31: TMenuItem;
N2: TMenuItem;
dxDBGrid1: TdxDBGrid;
dxDBGrid1CH: TdxDBGridMaskColumn;
dxDBGrid1Clh: TdxDBGridMaskColumn;
dxDBGrid1Mc: TdxDBGridMaskColumn;
dxDBGrid1Zjm: TdxDBGridMaskColumn;
dxDBGrid1Gg: TdxDBGridMaskColumn;
dxDBGrid1Dj: TdxDBGridMaskColumn;
dxDBGrid1Bz: TdxDBGridMaskColumn;
dxDBGrid1Dzl: TdxDBGridMaskColumn;
dxDBGrid1Lbh: TdxDBGridMaskColumn;
dxDBGrid1clm: TdxDBGridLookupColumn;
dxDBGrid1xflb: TdxDBGridLookupColumn;
cy: TQuery;
cyLbh: TStringField;
cyCH: TStringField;
cyClh: TStringField;
cyZjm: TStringField;
cyMc: TStringField;
cyGg: TStringField;
cyDj: TFloatField;
cyBz: TStringField;
cyDzl: TFloatField;
cyCb: TFloatField;
cyLl: TFloatField;
cyclm: TStringField;
cyxflb: TStringField;
cl: TQuery;
SeSkinForm1: TSeSkinForm;
procedure glClick(Sender: TObject);
procedure slClick(Sender: TObject);
procedure zlClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure ToolButton8Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
procedure zcClick(Sender: TObject);
procedure gcClick(Sender: TObject);
procedure scClick(Sender: TObject);
procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
procedure MenuItem18Click(Sender: TObject);
procedure MenuItem76Click(Sender: TObject);
procedure bzClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure yl1Click(Sender: TObject);
procedure dy1Click(Sender: TObject);
procedure dy2Click(Sender: TObject);
procedure yl2Click(Sender: TObject);
procedure MenuItem74Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure dxDBGrid1DblClick(Sender: TObject);
procedure dxDBGrid1CustomDrawCell(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
var ADone: Boolean);
private
{ Private declarations }
public
{ Public declarations }
procedure sb_sz;
procedure tree_csh;
end;
var
z_cpzz: Tz_cpzz;
s_mess,s_gg,s_dj:string;
lbh:string;
implementation
uses uz_cpzz_cl, uz_cpzz_cy, uabout, ug_wait, uzp_cp;
{$R *.DFM}
procedure Tz_cpzz.sb_sz;
begin
sb.Panels[6].text:=inttostr(cl.RecordCount);
sb.Panels[8].text:=inttostr(main.h_count('select count(ch) as hj_all from cy'));
s_sql:='select count(clh) as hj_all from cl where lbh='+quotedstr(lbh);
sb.Panels[2].text:=inttostr(main.h_count(s_sql));
sb.Panels[4].text:=inttostr(cy.RecordCount);
if cy.RecordCount=0 then
begin
sc.Enabled:=false;
gc.Enabled:=false;
m_sc.Enabled:=false;
m_gc.Enabled:=false;
end
else
begin
gc.Enabled:=true;
sc.Enabled:=true;
m_gc.Enabled:=true;
m_sc.Enabled:=true;
end;
end;
procedure Tz_cpzz.tree_csh;
begin
with TreeView1,cl do
begin
items.clear;
items.AddChild(getnodeat(0,0),'菜谱');
first;
while not eof do
begin
if fieldbyname('lbh').Value=lbh then
items.AddChild(getnodeat(1,1),'['+fieldbyname('clh').asstring+']'+fieldbyname('clm').asstring);
next;
end;
fullexpand;
cy.filter:='lbh='+lbh;
TreeView1.Refresh;
end;
end;
procedure Tz_cpzz.glClick(Sender: TObject);
begin
if TreeView1.Selected=Nil then exit;
if treeview1.selected.text='菜谱' then exit;
y_n:=0;
cl.Close;
cl.SQL.clear;
cl.sql.Add('select * from cl where clh='+quotedstr(copy(Treeview1.selected.text,2,2)));
cl.open;
if cl.RecordCount=0 then
begin
messagebox(handle,'菜类查询操作有误!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
z_cpzz_cl.showmodal
end;
procedure Tz_cpzz.slClick(Sender: TObject);
begin
if TreeView1.Selected=Nil then exit;
if (length(treeview1.selected.text)=0) or (treeview1.selected.text='菜谱') then exit;
if cy.recordcount<>0 then
begin
messagebox(handle,'该菜类还有菜肴,不能删除!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
s_mess:='您真的要删除 '+Treeview1.selected.text+' 菜类吗?';
if messagebox(handle,pchar(s_mess),'系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDcancel then exit;
cl.Close;
cl.SQL.clear;
cl.sql.Add('select * from cl where clh='+quotedstr(copy(Treeview1.selected.text,2,2)));
cl.open;
if cl.RecordCount=0 then
begin
messagebox(handle,'菜类查询操作有误,请检查是否有此菜类.','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
TreeView1.Items.Delete(TreeView1.Selected);
cl.delete;
end;
procedure Tz_cpzz.zlClick(Sender: TObject);
begin
y_n:=1;
z_cpzz_cl.showmodal;
end;
procedure Tz_cpzz.FormShow(Sender: TObject);
begin
if not cl.Active then cl.Active:=true;
if not xflb.Active then xflb.Active:=true;
if not cy.Active then cy.Active:=true;
if z_cpzz_cl=NIl then z_cpzz_cl:=Tz_cpzz_cl.Create(Application);
if z_cpzz_cy=NIl then z_cpzz_cy:=Tz_cpzz_cy.Create(Application);
if zp_cp=NIL then zp_cp:=Tzp_cp.create(self);
s_dj:='0.00';
lbh:=inttostr(z_cpzz.TabSet1.TabIndex+1); //放入消费类别号
tree_csh;
// clm.caption:='菜谱';
sb_sz;
g_wait.close;
end;
procedure Tz_cpzz.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
with TreeView1.Selected,cy do
begin
if text='菜谱' then
begin
gl.Enabled:=false;
sl.Enabled:=false;
zc.Enabled:=false;
m_gl.Enabled:=false;
m_sl.Enabled:=false;
m_zc.Enabled:=false;
cy.Close;
cy.SQL.clear;
cy.sql.Add('select * from cy where lbh='+quotedstr(lbh));
cy.open;
end
else
begin
gl.Enabled:=true;
sl.Enabled:=true;
zc.Enabled:=true;
m_gl.Enabled:=true;
m_sl.Enabled:=true;
m_zc.Enabled:=true;
cy.Close;
cy.SQL.clear;
cy.sql.Add('select * from cy where lbh='+quotedstr(lbh)+' and clh='+quotedstr(copy(TreeView1.Selected.text,2,2)));
cy.open;
end;
end;
//clm.caption:=TreeView1.Selected.text;
sb_sz;
end;
procedure Tz_cpzz.ToolButton8Click(Sender: TObject);
begin
close;
end;
procedure Tz_cpzz.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
76:TabSet1.tabindex:=0;
82:TabSet1.tabindex:=1;
77:TabSet1.tabindex:=2;
74:TabSet1.tabindex:=3;
79:TabSet1.tabindex:=4;
end;
case key of
76,82,77,74,79:
begin
lbh:=inttostr(TabSet1.tabindex+1);
with TreeView1 do
begin
items.clear;
items.AddChild(getnodeat(0,0),'菜谱');
cl.first;
while not cl.eof do
begin
if cl.fieldbyname('lbh').Value=lbh then
items.AddChild(getnodeat(1,1),'['+cl.fieldbyname('clh').asstring+']'+cl.fieldbyname('clm').asstring);
cl.next;
end;
fullexpand;
end;
cy.filter:='lbh='+lbh;
end;
end;
end;
procedure Tz_cpzz.TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
lbh:=inttostr(newtab+1);
tree_csh;
end;
procedure Tz_cpzz.zcClick(Sender: TObject);
begin
y_n:=1;
if TreeView1.Selected=Nil then
begin
messagebox(handle,'请选择菜类!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
if (length(treeview1.selected.text)=0) or (treeview1.selected.text='菜谱') then
begin
messagebox(handle,'请选择菜类!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
z_cpzz_cy.showmodal;
sb_sz;
end;
procedure Tz_cpzz.gcClick(Sender: TObject);
begin
y_n:=0;
z_cpzz_cy.showmodal;
sb_sz;
end;
procedure Tz_cpzz.scClick(Sender: TObject);
begin
if cy.recordcount=0 then
begin
messagebox(handle,'您没有选择到可被删除的菜肴!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
s_mess:='您真的要删除 ['+cy.fieldbyname('ch').AsString+']号'+cy.fieldbyname('mc').AsString+' 菜肴吗 ?';
if messagebox(handle,pchar(s_mess),'系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then cy.delete;
sb_sz;
end;
procedure Tz_cpzz.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if cy.RecordCount=0 then
begin
sc.Enabled:=false;
gc.Enabled:=false;
m_sc.Enabled:=false;
m_gc.Enabled:=false;
end
else
begin
gc.Enabled:=true;
sc.Enabled:=true;
m_gc.Enabled:=true;
m_sc.Enabled:=true;
end;
end;
procedure Tz_cpzz.MenuItem18Click(Sender: TObject);
begin
PrinterSetup.Execute;
end;
procedure Tz_cpzz.MenuItem76Click(Sender: TObject);
begin
if about=NIL then about:=Tabout.Create(self);
about.showmodal;
end;
procedure Tz_cpzz.bzClick(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpJump('tascpzz');
end;
procedure Tz_cpzz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Release;
z_cpzz:=nil;
z_cpzz_cl.Release;
z_cpzz_cl:=nil;
z_cpzz_cy.Release;
z_cpzz_cy:=nil;
zp_cp.Release;
zp_cp:=NIL;
end;
procedure Tz_cpzz.yl1Click(Sender: TObject);
var
s_filter:string;
begin
s_filter:=cy.Filter;
cy.filter:='';
zp_cp.QuickRep1.preview;
cy.Filter:=s_filter;
end;
procedure Tz_cpzz.dy1Click(Sender: TObject);
var
s_filter:string;
begin
s_filter:=cy.Filter;
cy.filter:='';
zp_cp.QuickRep1.print;
cy.Filter:=s_filter;
end;
procedure Tz_cpzz.dy2Click(Sender: TObject);
begin
zp_cp.QuickRep1.print;
end;
procedure Tz_cpzz.yl2Click(Sender: TObject);
begin
zp_cp.QuickRep1.preview;
end;
procedure Tz_cpzz.MenuItem74Click(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpCommand(Help_Finder,0);
end;
procedure Tz_cpzz.N2Click(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpCommand(Help_PartialKey,0);
end;
procedure Tz_cpzz.dxDBGrid1DblClick(Sender: TObject);
begin
y_n:=0;
z_cpzz_cy.showmodal;
sb_sz;
end;
procedure Tz_cpzz.dxDBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
if cy.RecordCount=0 then
begin
sc.Enabled:=false;
gc.Enabled:=false;
m_sc.Enabled:=false;
m_gc.Enabled:=false;
end
else
begin
gc.Enabled:=true;
sc.Enabled:=true;
m_gc.Enabled:=true;
m_sc.Enabled:=true;
end;
if ANode.Index mod 2 = 0 then
AColor := clInfoBk
else
AColor := clAqua;
if aselected=true then
AColor :=$D8A19A;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -