📄 frmmain.~pas
字号:
unit FrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ExtCtrls, RzTabs, ImgList, RzListVw, Grids,
DBGrids, RzPanel, RzStatus, StdCtrls, RzButton,Unit_CT, DB, DBClient,
Unit_XF,
Unit_Admin;
type
Tfrm_main = class(TForm)
MainMenu1: TMainMenu;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N4: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N27: TMenuItem;
Panel1: TPanel;
Panel2: TPanel;
StatusBar1: TStatusBar;
Panel3: TPanel;
Panel4: TPanel;
MainimageList: TImageList;
DBGrid1: TDBGrid;
RzPageControl2: TRzPageControl;
TabSheet4: TRzTabSheet;
RzGroupBox1: TRzGroupBox;
RzGroupBox2: TRzGroupBox;
RzClockStatus1: TRzClockStatus;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Lab_Rate: TLabel;
JD_Time: TLabel;
YY_time: TLabel;
XF_Money: TLabel;
lab_total: TLabel;
Lab_Used: TLabel;
Lab_Empty: TLabel;
Lab_YD: TLabel;
Lab_Stop: TLabel;
PopupMenu1: TPopupMenu;
p4: TMenuItem;
p3: TMenuItem;
p2: TMenuItem;
p1: TMenuItem;
N39: TMenuItem;
p5: TMenuItem;
p6: TMenuItem;
p7: TMenuItem;
N43: TMenuItem;
p10: TMenuItem;
Panel6: TPanel;
txt_memo: TRzMarqueeStatus;
Panel5: TPanel;
CT_CDS: TClientDataSet;
Room: TRzTabControl;
CTListView: TRzListView;
Label9: TLabel;
PopupMenu2: TPopupMenu;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
N38: TMenuItem;
N40: TMenuItem;
N41: TMenuItem;
PopupMenu3: TPopupMenu;
N42: TMenuItem;
N44: TMenuItem;
N45: TMenuItem;
N47: TMenuItem;
DataSource1: TDataSource;
xfcpinfo_CDS: TClientDataSet;
Timer1: TTimer;
procedure N12Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure p4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure p1Click(Sender: TObject);
procedure CTListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure FormActivate(Sender: TObject);
procedure RoomChange(Sender: TObject);
procedure p10Click(Sender: TObject);
procedure p2Click(Sender: TObject);
procedure CTListViewClick(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N14Click(Sender: TObject);
private
{ Private declarations }
MyCT:TCT_info;
MYXF:TXF_Info;
MyAdmin:TAdmin;
public
{ Public declarations }
AdminID:Integer;
AdminName,AdminRule,LSH:String;
MaxMoney:Currency;
CTID:Integer;
Procedure CTDisp;
Procedure After_KD;
Procedure Before_KD;
procedure DataDisp;
Procedure XfKD;
end;
function BlockInput(fFreezeInput : boolean):DWord; stdcall; external 'user32.DLL';
var
frm_main: Tfrm_main;
implementation
uses FrmSystem, FrmKDMaster, FrmJz, FrmXf, FrmBKYD, FrmUpdatePwd,
FrmLocksys, Frmjob;
{$R *.dfm}
procedure Tfrm_main.After_KD;
begin
p1.Enabled:=True;
p2.Enabled:=True;
p3.Enabled:=True;
p4.Enabled:=False;
p5.Enabled:=True;
p6.Enabled:=True;
P7.Enabled:=True;
// P8.Enabled:=True;
// P9.Enabled:=True;
P10.Enabled:=True;
end;
procedure Tfrm_main.Before_KD;
begin
p1.Enabled:=False;
p2.Enabled:=False;
p3.Enabled:=False;
p4.Enabled:=True;
p5.Enabled:=False;
p6.Enabled:=False;
P7.Enabled:=true;
// P8.Enabled:=False;
// P9.Enabled:=False;
P10.Enabled:=true;
end;
procedure Tfrm_main.CTDisp;
Var
i:integer;
begin
CT_CDS.Data:=MYCT.CTList(room.Tabs.Items[Room.TabIndex].Caption);
CTListView.Items.Clear;
i:=0;
While Not CT_Cds.Eof do
Begin
CTListView.Items.Add.Caption:=CT_cds.fieldByname('Type_name').AsString;
CTlistView.Items[i].ImageIndex:=CT_cds.FieldByName('CT_Status').AsInteger;
CT_Cds.Next;
i:=i+1;
End;
lab_total.Caption:=IntToStr(MyCT.CTTotal)+'张';
Lab_Used.Caption:=IntToStr(MyCT.CTUsed)+'张';
Lab_Empty.Caption:=IntToStr(MyCT.CTEmpty)+'张';
Lab_YD.Caption:=IntToStr(MyCT.CTYD)+'张';
Lab_Stop.Caption:=IntToStr(MyCT.CTStop)+'张';
Lab_Rate.Caption:=FloatTostr(MYCT.CTUseRate*100)+'%';
JD_Time.Caption:='--:--:--';
YY_Time.Caption:='--:--:--';
Xf_Money.Caption:='¥0.00元';
end;
procedure Tfrm_main.N12Click(Sender: TObject);
begin
if MessageDlg('是否真的要退出刀郎音乐食府管理系统?',mtConfirmation, [mbYes, mbNo], 0)=mrYes then
Application.Terminate;
end;
procedure Tfrm_main.N5Click(Sender: TObject);
begin
Frm_system.Showmodal;
end;
procedure Tfrm_main.p4Click(Sender: TObject);
begin
if CTListView.Selected<>nil then
begin
Frm_KDMaster.Caption:='顾客开单 '+room.Tabs.Items[Room.TabIndex].Caption;
Frm_KDMaster.LabTH.Caption:=CTListView.Selected.Caption;
CTID:=MyCT.CT_ID(room.Tabs.Items[Room.TabIndex].Caption,CTListView.Selected.Caption);
Frm_KDMaster.ShowModal;
end;
end;
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
MyCT:=Tct_info.create;
MyXF:=Txf_Info.create;
MyAdmin:=TAdmin.Create;
Before_KD;
end;
procedure Tfrm_main.p1Click(Sender: TObject);
Var
TmpStatus:Integer;
begin
CTID:=MyCT.CT_ID(room.Tabs.Items[Room.TabIndex].Caption,CTListView.Selected.Caption);
if MyXf.Is_Xf_Data(CTID)=True then
Begin
Frm_jz.Label2.Caption:=MYCT.Get_CTCurr_LSH(CTID);
Frm_jz.Label4.Caption:=CTListView.Selected.Caption;
Frm_jz.xfmoney.Caption:=format('%*.*f',[8,2,MyXf.GetXfMoney(MYCT.Get_CTCurr_LSH(CTID))]);
Frm_Jz.ShowModal;
end
Else
Begin
if MessageDlg('此宾客还未消费,确定退单吗?',mtConfirmation, [mbYes, mbNo], 0)=mrYes then
Begin
CTListView.Selected.ImageIndex:=0;
Before_KD;
MyCT.UpDateCTStatus(CTID,0);
TmpStatus:=MyCT.Get_CTStatus(CTID);
MyCT.Update_LSH(CTID,TmpStatus);
end;
End;
end;
procedure Tfrm_main.CTListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if CTListView.Selected<>nil then
begin
CTID:=MyCT.CT_ID(room.Tabs.Items[Room.TabIndex].Caption,CTListView.Selected.Caption);
DataDisp;
if (Myct.Get_CTStatus(CTID)=2) or (Myct.Get_CTStatus(CTID)=0) Then
Before_KD
else
After_KD;
end;
end;
procedure Tfrm_main.FormActivate(Sender: TObject);
begin
StatusBar1.Panels[2].Text:='当前操作员:'+AdminName;
CTDisp;
end;
procedure Tfrm_main.RoomChange(Sender: TObject);
begin
CTDisp;
end;
procedure Tfrm_main.p10Click(Sender: TObject);
begin
Frm_BKYD.ShowModal;
end;
procedure Tfrm_main.p2Click(Sender: TObject);
begin
xfkd;
end;
procedure Tfrm_main.CTListViewClick(Sender: TObject);
begin
if CTListView.Selected<>nil then
Begin
DataSource1.Enabled:=True;
CTID:=MyCT.CT_ID(room.Tabs.Items[Room.TabIndex].Caption,CTListView.Selected.Caption);
if MyCT.Get_CTStatus(CTID)=1 Then
Begin
DataDisp;
end
Else
Begin
Before_KD;
JD_Time.Caption:='--:--:--';
YY_Time.Caption:='--:--:--';
Xf_Money.Caption:='¥0.00元';
if MyCT.Get_CTStatus(CTID)=0 Then
if room.Tabs.Items[Room.TabIndex].Caption<>'豪华包房' Then
txt_memo.Caption:=CTListView.Selected.Caption+'餐台空闲中~~,可以使用~~'
Else
txt_memo.Caption:=CTListView.Selected.Caption+'包间空闲中~~,可以使用~~';
if MyCT.Get_CTStatus(CTID)=2 Then
if room.Tabs.Items[Room.TabIndex].Caption<>'豪华包房' Then
txt_memo.Caption:=CTListView.Selected.Caption+'餐台已预订~~,请选择其它餐台或包间~~'
Else
txt_memo.Caption:=CTListView.Selected.Caption+'包间已预订~~,请选择其它包间或餐台~~';
XfCpInfo_CDS.Data:=MyXf.GetDatailTmpList('');
End;
End
else
begin
Before_KD;
XfCpInfo_CDS.Data:=MyXf.GetDatailTmpList('');
end;
end;
procedure Tfrm_main.DataDisp;
begin
JD_Time.Caption:=TimeToStr(MyCT.Get_KTTime(CTID));
YY_time.Caption:=TimeToStr(Now-MyCT.Get_KTTime(CTID));
XfCpInfo_CDS.Data:=MyXf.GetDatailTmpList(MyCT.Get_CTCurr_LSH(CTID));
Xf_money.Caption:=format('¥%*.*F元',[6,2,myxf.GetXfMoney(MyCT.Get_CTCurr_LSH(CTID))]);
if room.Tabs.Items[Room.TabIndex].Caption<>'豪华包房' Then
txt_memo.Caption:=CTListView.Selected.Caption+'餐台 消费清单如下: 消费数量:'+IntToStr(myxf.GetXfNum(MyCT.Get_CTCurr_LSH(CTID)))+' 总消费金额:'+Xf_money.Caption
Else
txt_memo.Caption:=CTListView.Selected.Caption+'包间 消费清单如下: 消费数量:'+IntToStr(myxf.GetXfNum(MyCT.Get_CTCurr_LSH(CTID)))+' 总消费金额:'+Xf_money.Caption
end;
procedure Tfrm_main.XfKD;
begin
if CTListView.Selected<>nil then
begin
CTID:=MyCT.CT_ID(room.Tabs.Items[Room.TabIndex].Caption,CTListView.Selected.Caption);
Frm_xf.lab_lsh.Caption:=MyCT.Get_CTCurr_lsh(CTID);
Frm_xf.lab_CTINFO.Caption:= room.Tabs.Items[Room.TabIndex].Caption+' ('+CTListView.Selected.Caption+')';
Frm_xf.showmodal;
end;
end;
procedure Tfrm_main.N13Click(Sender: TObject);
begin
Frm_updatepwd.ShowModal;
end;
procedure Tfrm_main.N15Click(Sender: TObject);
begin
Frm_Locksys.ShowModal;
end;
procedure Tfrm_main.Timer1Timer(Sender: TObject);
var
vLastInputInfo: TLastInputInfo;
begin
vLastInputInfo.cbSize := SizeOf(vLastInputInfo);
GetLastInputInfo(vLastInputInfo);
if GetTickCount - vLastInputInfo.dwTime > 1000*30 then
begin
timer1.Enabled:= False;
// BlockInput(True);
Frm_Locksys.ShowModal;
end;
end;
procedure Tfrm_main.N14Click(Sender: TObject);
begin
Frm_Job.Showmodal;
end;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -