📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ImgList, Menus, StdCtrls, Buttons, ToolWin,
ActnList, DBCtrls,DB,Adodb,ShellApi;
type
TFrmMain = class(TForm)
Panel1: TPanel;
Panel3: TPanel;
StatusBar1: TStatusBar;
DeskView: TListView;
ImageList1: TImageList;
Panel2: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel4: TPanel;
Label1: TLabel;
timeLabel: TLabel;
DateLabel: TLabel;
TimeTimer: TTimer;
Panel5: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
GroupBox1: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label13: TLabel;
Label14: TLabel;
GroupBox2: TGroupBox;
Label15: TLabel;
Edlocate: TEdit;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
N8: TMenuItem;
N9: TMenuItem;
BtnYuDing: TSpeedButton;
BtnZhuantai: TSpeedButton;
BtnKaitai: TSpeedButton;
ToolButton2: TToolButton;
BtnLuoDan: TSpeedButton;
BtnDianDan: TSpeedButton;
BtnClose: TSpeedButton;
ToolButton3: TToolButton;
BtnJieZhang: TSpeedButton;
ToolButton4: TToolButton;
BtnChang: TSpeedButton;
BtnQingTai: TSpeedButton;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
N32: TMenuItem;
N33: TMenuItem;
N34: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
BtnTuiDan: TSpeedButton;
Panel6: TPanel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
N14: TMenuItem;
N38: TMenuItem;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText6: TDBText;
DBText7: TDBText;
BtnRefresh: TSpeedButton;
DeskPopupMenu: TPopupMenu;
N39: TMenuItem;
N40: TMenuItem;
N42: TMenuItem;
N41: TMenuItem;
N43: TMenuItem;
N44: TMenuItem;
N45: TMenuItem;
N46: TMenuItem;
N47: TMenuItem;
N48: TMenuItem;
N49: TMenuItem;
N50: TMenuItem;
N51: TMenuItem;
procedure MenuItemOnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TimeTimerTimer(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure DeskViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure DeskViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BtnRefreshClick(Sender: TObject);
procedure DeskViewClick(Sender: TObject);
procedure DeskViewMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PopupMenuItemOnClick(Sender: TObject);
procedure PopupMenuVisible;
procedure EdlocateKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolBtnClick(Sender: TObject);
procedure createdeskview;
procedure mainmenushow;
procedure FormShow(Sender: TObject);
procedure BtnChangClick(Sender: TObject);
private
{ Private declarations }
function locatdesk(deskid:integer):integer;
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
isreg:integer; //是否注册
FlagSelect:integer; //是否桌面有被选中。
const
EnableKaiTai=[0];
EnableZhuanTai=[1,3,4];
EnableQingTai=[1,2,5,6];
EnableYuDing=[0];
EnableDianDan=[1,3];
EnableTuiDan=[3];
EnableLuoDan=[3];
EnableJieZhang=[4];
implementation
uses dbmodule,kaitai, zhuantai, yuding, diandan, tuidan, luodan, jiezhang,
caipuquery,fangtaiquery,caipin,fenlei,fangtai,fangshi,opratecomand,inputhao,
yumanage,kehu,saleanlyse,xiaoanlyes,diandanquery,zhangdianquery,fangtaixiaofei,
dayreport,monthreport,rightoprate,usermanager,worklog,login,company,changpass,
boot,zhuce,fun,guadan,databackup,dataresort,dataclear;
{$R *.dfm}
procedure TFrmMain.mainmenushow;
var
i,j:integer;
begin
if dm.comquery.Active then
dm.comquery.Close;
dm.comquery.SQL.Clear ;
dm.comquery.SQL.Add('SELECT a.rightid,a.isflag from Q_right a,Q_users b');
dm.comquery.SQL.Add(' where a.groupid=b.groupid and b.username='+''''+dm.opratename+'''');
dm.comquery.Open ;
while not dm.comquery.Eof do
begin
for i:=0 to MainMenu1.Items.Count -1 do
begin
for j:=0 to mainmenu1.Items[i].Count-1 do
if MainMenu1.Items[i].Items[j].Tag=dm.comquery.FieldByName('rightid').AsInteger then
begin
MainMenu1.Items[i].Items[j].Enabled:=dm.comquery.FieldByName('isflag').AsBoolean;
break;
end;
if j< mainmenu1.Items[i].Count-1 then
break;
end;
dm.comquery.Next;
end;
dm.comquery.Close;
end;
procedure TFrmMain.PopupMenuVisible;
var
i:integer;
begin
For i:=0 to DeskPopupMenu.Items.Count -1 do
DeskPopupMenu.Items[i].Visible:=False;
if deskview.Selected.ImageIndex=0 then //当前空台时可显示菜单
begin
DeskPopupMenu.Items[0].Visible:=True;
DeskPopupMenu.Items[5].Visible:=True;
end;
if deskview.Selected.ImageIndex=1 then //当前开台时可显示菜单
begin
DeskPopupMenu.Items[1].Visible:=True;
DeskPopupMenu.Items[6].Visible:=True;
DeskPopupMenu.Items[7].Visible:=True;
end;
if deskview.Selected.ImageIndex=2 then //当前预定时可显示菜单
begin
DeskPopupMenu.Items[0].Visible:=True;
DeskPopupMenu.Items[7].Visible:=True;
end;
if deskview.Selected.ImageIndex=3 then //当前已点单后可显示菜单
begin
DeskPopupMenu.Items[1].Visible:=True;
DeskPopupMenu.Items[2].Visible:=True;
DeskPopupMenu.Items[4].Visible:=True;
DeskPopupMenu.Items[6].Visible:=True;
end;
if deskview.Selected.ImageIndex=4 then //当前已落单后可显示菜单
begin
DeskPopupMenu.Items[3].Visible:=True;
//DeskPopupMenu.Items[4].Visible:=True;
DeskPopupMenu.Items[6].Visible:=True;
end;
if deskview.Selected.ImageIndex=5 then //当前已结帐后可显示菜单
begin
DeskPopupMenu.Items[7].Visible:=True;
end;
if deskview.Selected.ImageIndex=6 then //当前已退单后可显示菜单
begin
DeskPopupMenu.Items[7].Visible:=True;
end;
end;
procedure TFrmMain.PopupMenuItemOnClick(sender:TObject);
begin
case (Sender as TMenuItem).Tag of
1: //开台点单
begin
deskview.Selected.ImageIndex:=kaitaioprate(deskview.Selected.StateIndex);
end;
2: //点单
begin
if (deskview.Selected.ImageIndex=1) or (deskview.Selected.ImageIndex=3) then
deskview.Selected.ImageIndex:=diandanoprate(deskview.Selected.StateIndex);
end;
3: //落单
begin
deskview.Selected.ImageIndex:=luodanoprate(deskview.Selected.StateIndex);
end;
4://结账
begin
deskview.Selected.ImageIndex:=jiezhangoprate(deskview.Selected.StateIndex);
end;
5://退单
begin
deskview.Selected.ImageIndex:=tuidanoprate(deskview.Selected.StateIndex);
end;
6://预定
begin
deskview.Selected.ImageIndex:=yudingoprate(deskview.Selected.StateIndex);
end;
7://转台
begin
deskview.Selected.ImageIndex:=zhuantaioprate(deskview.Selected.StateIndex);
if locatdesk(dm.Qfangtai.FieldValues['fangtaiid'])>-1 then
begin
dm.Qfangtai.Refresh;
deskview.Selected.ImageIndex:=dm.Qfangtai.FieldValues['statusid'];
end;
end;
8://清台
begin
deskview.Selected.ImageIndex:=yingtaioprate(deskview.Selected.StateIndex);
end;
end;
end;
procedure TFrmMain.MenuItemOnClick(Sender: TObject); //菜单项单击事件
begin
case (Sender as TMenuItem).Tag of
//****前台营业
1: //菜谱查询
begin
OpenFrmWin(TFrmCaipuQuery,TForm(FrmCaipuQuery));
end;
2: //房台状态
begin
OpenFrmWin(TFrmfangtaiquery,TForm(Frmfangtaiquery));
end;
3: //退出系统
begin
BtnCloseClick(BtnClose);
end;
//***接待预定
4: //预定查询
begin
OpenFrmWin(TFrmyumanage,TForm(Frmyumanage));
end;
5: //客户管理
begin
OpenFrmWin(TFrmkehu,TForm(Frmkehu));
end;
//***营业分析
6: //销售分析
begin
OpenFrmWin(TFrmsaleanlyse,TForm(Frmsaleanlyse));
end;
7: //消费分析
begin
OpenFrmWin(TFrmxiaoanlyes,TForm(Frmxiaoanlyes));
end;
8: //日报表
begin
OpenFrmWin(TFrmdayreport,TForm(Frmdayreport));
end;
9: //月报表
begin
OpenFrmWin(TFrmmonthreport,TForm(Frmmonthreport));
end;
//***账务查询
10: //点单查询
begin
OpenFrmWin(TFrmdiandanquery,TForm(Frmdiandanquery));
end;
11: //账单查询
begin
OpenFrmWin(TFrmzhangdianquery,TForm(Frmzhangdianquery));
end;
12: //房台消费
begin
OpenFrmWin(TFrmfangtaixiaofei,TForm(Frmfangtaixiaofei));
end;
13: //挂单处理
begin
OpenFrmWin(TFrmguadan,TForm(Frmguadan));
end;
//***系统管理
14: //菜品分类
begin
OpenFrmWin(TFrmfenlei,TForm(Frmfenlei));
end;
15: //菜品管理
begin
OpenFrmWin(TFrmcaipin,TForm(Frmcaipin));
end;
16: //房台管理
begin
OpenFrmWin(TFrmfangtai,TForm(Frmfangtai));
end;
17: //付款方式
begin
OpenFrmWin(TFrmfangshi,TForm(Frmfangshi));
end;
18: //用户管理
begin
OpenFrmWin(TFrmusermanager,TForm(Frmusermanager));
end;
19: //权限管理
begin
OpenFrmWin(TFrmrightoprate,TForm(Frmrightoprate));
end;
20: //操作日志
begin
OpenFrmWin(TFrmworklog,TForm(Frmworklog));
end;
21: // 用户注册
begin
OpenFrmWin(TFrmcompany,TForm(Frmcompany));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -