⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmsystem.~pas

📁 一个小型餐饮管理系统,可支持小票打印.还存在一些小问题,希望朋友们帮助完成. QQ:15372627 E-mail:hdw802.163.com
💻 ~PAS
字号:
unit FrmSystem;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzBmpBtn, RzButton, ComCtrls, RzTabs, ExtCtrls, RzPanel, ImgList,
  DB, ADODB, StdCtrls,Data_DL, RzEdit, Mask,Unit_CP, Grids, DBGrids,
  RzRadChk,Unit_Share,printers, DBClient,Unit_admin,Unit_Yd,Unit_CT;

type
  TFrm_System = class(TForm)
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    TabSheet3: TRzTabSheet;
    TabSheet4: TRzTabSheet;
    TabSheet5: TRzTabSheet;
    TabSheet6: TRzTabSheet;
    TabSheet7: TRzTabSheet;
    RzGroupBox1: TRzGroupBox;
    SysTree: TTreeView;
    CTimageList: TImageList;
    RzGroupBox2: TRzGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label1: TLabel;
    ed_ctName: TRzEdit;
    ed_ctmemo: TRzMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label4: TLabel;
    com_Room: TComboBox;
    ed_ctStatus: TComboBox;
    RzGroupBox3: TRzGroupBox;
    CpTree: TTreeView;
    RzGroupBox4: TRzGroupBox;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    CpImageList: TImageList;
    Label5: TLabel;
    Com_projType: TComboBox;
    Label6: TLabel;
    Ed_Type_Name: TEdit;
    Label7: TLabel;
    Com_jldw: TComboBox;
    Label8: TLabel;
    Label9: TLabel;
    ed_hotkey: TEdit;
    Label10: TLabel;
    Memo1: TMemo;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    ed_money: TRzNumericEdit;
    RzGroupBox5: TRzGroupBox;
    AutoJF: TRzCheckBox;
    oneperJF: TRzNumericEdit;
    vipSearchName: TRzCheckBox;
    Birthdayflag: TRzCheckBox;
    birthdayNum: TRzNumericEdit;
    Button7: TButton;
    headInput: TRzCheckBox;
    Label11: TLabel;
    VipRate: TRzNumericEdit;
    RzGroupBox6: TRzGroupBox;
    AllRate: TRzCheckBox;
    AllRateNum: TRzNumericEdit;
    ClientDisp: TRzCheckBox;
    ClientDispPort: TComboBox;
    CTused: TRzCheckBox;
    OverMoneyInt: TRzCheckBox;
    OverMoneyRound: TRzCheckBox;
    CTClearTime: TRzNumericEdit;
    Button8: TButton;
    Panel1: TPanel;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    DBGrid1: TDBGrid;
    RzGroupBox7: TRzGroupBox;
    Label12: TLabel;
    com_printer: TComboBox;
    Label14: TLabel;
    title1: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    title2: TEdit;
    Label17: TLabel;
    Label18: TLabel;
    title3: TEdit;
    Label19: TLabel;
    Label20: TLabel;
    title4: TEdit;
    Label21: TLabel;
    Label22: TLabel;
    copynum: TRzNumericEdit;
    Label23: TLabel;
    beginempty: TRzNumericEdit;
    Label24: TLabel;
    endempty: TRzNumericEdit;
    moneybox: TRzCheckBox;
    RzGroupBox8: TRzGroupBox;
    RzRadioButton1: TRzRadioButton;
    RzRadioButton2: TRzRadioButton;
    RzGroupBox9: TRzGroupBox;
    Label25: TLabel;
    RzCheckBox11: TRzCheckBox;
    RzCheckBox12: TRzCheckBox;
    Label26: TLabel;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker1: TDateTimePicker;
    RzMaskEdit2: TRzMaskEdit;
    RzMaskEdit1: TRzMaskEdit;
    RzCheckBox13: TRzCheckBox;
    Label27: TLabel;
    Label28: TLabel;
    Button12: TButton;
    RzGroupBox10: TRzGroupBox;
    ChkAutoBak: TRzCheckBox;
    Label29: TLabel;
    ed_bakDay: TRzNumericEdit;
    Label30: TLabel;
    Label31: TLabel;
    ed_bakNum: TRzNumericEdit;
    Label32: TLabel;
    Button13: TButton;
    RzGroupBox11: TRzGroupBox;
    chkTimeenabled: TRzCheckBox;
    Button14: TButton;
    TimeJG: TRzNumericEdit;
    RzGroupBox12: TRzGroupBox;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    DBGrid2: TDBGrid;
    Label33: TLabel;
    Button18: TButton;
    Label34: TLabel;
    Label13: TLabel;
    DataSource1: TDataSource;
    admin_CDS: TClientDataSet;
    datawindows: TRzGroupBox;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Button19: TButton;
    Button20: TButton;
    yd_begintime: TDateTimePicker;
    yd_endtime: TDateTimePicker;
    timeName: TEdit;
    DataSource2: TDataSource;
    Time_CDS: TClientDataSet;
    procedure FormCreate(Sender: TObject);
    procedure CpTreeClick(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure SysTreeClick(Sender: TObject);
  private
    { Private declarations }
    MyData:TDL_data;
    MyShare:TShare;
    MyAdmin:TAdmin;
    MyYd:TYd_info;
    MYCT:TCt_info;
    TmpVipSet:TVipSet;
    TmpSysSet:TSysSet;
    TmpprnSet:TprnSet;
    TmpDataSet:TDataSet;
    TmpYdset:TydSet;
    CtrlStatus:Integer;
    timefieldID:Integer;
    CTID:integer;
    CT_Status:Integer;
    Procedure InitSet;
    procedure CtrlBtnFalse;
    Procedure CtrlBtnTrue;
   public
    { Public declarations }
    MyCp:TCp_info;
    procedure AddCT_Class(AId:integer;FatherNode:TTreeNode);//添加分类过程_房间项目
    procedure AddCP_Class(AId:integer;FatherNode:TTreeNode);//添加分类过程_菜品项目
  end;

var
  Frm_System: TFrm_System;

implementation

uses FrmSpTypeAdd;

{$R *.dfm}

{ TFrm_System }

procedure TFrm_System.AddCT_Class(AId: integer; FatherNode: TTreeNode);
var
    QryTmp:TADOQuery;
    myNode:TTreeNode;
    myLabel:TLabel;
    i:integer;
begin
    QryTmp:=TADOQuery.Create(self);
    QryTmp.ConnectionString:=MyData.Conn.ConnectionString;
    QryTmp.SQL.Add('select * from CT_info');
    QryTmp.SQL.Add('where ss_Id='+inttostr(AId));
    QryTmp.Open;
   while not QryTmp.Eof do
    begin
        myNode:=SysTree.Items.AddChild(FatherNode,QryTmp.fieldbyname('Type_name').AsString);
        //创建标签,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;
        AddCT_Class(QryTmp.fieldbyname('IID').AsInteger,myNode); //递归调用过程

        QryTmp.Next;
    end;
    QryTmp.Free;
end;

procedure TFrm_System.FormCreate(Sender: TObject);
begin
 Mydata:=TDL_data.Create(Application);
 MyCp:=TCp_info.create;
 MyShare:=TShare.create;
 MyAdmin:=Tadmin.Create;
 MyYd:=Tyd_Info.create;
 MyCT:=TCt_info.create;
 
 CpTree.Items.Clear;
 SysTree.Items.Clear;
 AddCT_Class(0,nil);
 AddCP_Class(0,nil);
 Com_jldw.Items.AddStrings(MyCp.GetJLDWList);
 Com_jlDw.ItemIndex:=0;
 Com_ProjType.Items.AddStrings(MyCp.GetProjType);
 Com_ProjType.ItemIndex:=0;
 Admin_cds.Data:=MyAdmin.AdminInfoList;
 Time_cds.Data:=MyYd.TimeFieldInfo;
 CtrlStatus:=-1;
end;

procedure TFrm_System.AddCP_Class(AId: integer; FatherNode: TTreeNode);
var
    QryTmp:TADOQuery;
    myNode:TTreeNode;
    myLabel:TLabel;
    i:integer;
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
        myNode:=CpTree.Items.AddChild(FatherNode,QryTmp.fieldbyname('Type_name').AsString);
        //创建标签,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_System.CpTreeClick(Sender: TObject);
begin
 //Showmessage(CpTree.Selected.Text);
end;

procedure TFrm_System.Button6Click(Sender: TObject);
Var
 CpInfo:Tcp;
begin
 if (Trim(Ed_Type_Name.Text)<>'') And (Trim(Ed_HotKey.Text)<>'')  Then
 Begin
  Cpinfo.IID:=MyCp.GetMaxTypeProj_IID+1;
  Cpinfo.Type_Name:=Trim(Ed_Type_Name.Text);
  Cpinfo.SS_ID:=MyCp.GetProjTypeIID(Com_ProjType.Text);
  CpInfo.LV:=2;
  CpInfo.CpDJ:=StrToFloat(ed_Money.text);
  CpInfo.Cpunit:=Mycp.GetJLDWID(Com_jldw.Text);
  Cpinfo.HotKey:=Trim(ed_hotkey.Text);
  Cpinfo.RateFlag:=True;
  Cpinfo.DelFlag:=False;
  Mycp.AddNewCp(CpInfo);
  ShowMessage('商品添加成功!');
  CpTree.Items.Clear;
 AddCP_Class(0,nil);
 Ed_Type_name.Text:='';
 Ed_Hotkey.Text:='';
 Com_jldw.ItemIndex:=0;
 Ed_Money.Text:='0.00';
 Memo1.Lines.Clear;
 Ed_Type_Name.SetFocus;
 End
 Else
 Begin
  Showmessage('商品名称或录入热键不能为空~~');
  If Trim(Ed_Type_Name.Text)='' Then Ed_Type_Name.SetFocus;
  If Trim(Ed_Hotkey.Text)='' Then Ed_Hotkey.SetFocus;
 End;



end;

procedure TFrm_System.RzBitBtn1Click(Sender: TObject);
begin
 Frm_SpType.ShowModal;
end;

procedure TFrm_System.InitSet;
begin
 TmpVipset:=MyShare.Get_VipSet;
 AutoJF.Checked:=TmpVipset.AutoJf;
 oneperJf.Text:=inttostr(TmpVipset.OnePerJF);
 VipSearchName.Checked:=TmpVipset.SearchName;
 HeadInput.Checked:=TmpVipset.Headinput;
 viprate.Value:=tmpVipset.VipRate;
 birthdayflag.Checked:=TmpVipSet.BirthdayFlag;
 BirthDayNum.Value:=TmpVipSet.BirthdayNum;

 TmpSysSet:=MyShare.Get_SysSet;
 AllRate.Checked:=TmpSysSet.AllRate;
 AllRateNum.Value:=TmpSysSet.AllRateNum;
 Clientdisp.Checked:=tmpSysSet.ClientDisp;
 ClientdispPort.Text:=TmpsysSet.ClientDispPort;
 CTUsed.Checked:=TmpSysSet.CTused;
 CTClearTime.Value:=tmpSysSet.CTClearTime;
 OverMoneyInt.Checked:=TmpSysSet.OverMoneyInt;
 OverMoneyRound.Checked:=TmpSysSet.OverMoneyRound;

 TmpPrnSet:=MyShare.Get_PrnSet;
 Title1.Text:=TmpPrnSet.Title1;
 Title2.Text:=TmpPrnSet.Title2;
 Title3.Text:=TmpPrnSet.Title3;
 Title4.Text:=TmpPrnSet.Title4;
 CopyNum.Value:=TmpPrnSet.CopyNum;
 Beginempty.Value:=TmpPrnSet.BEmptyLine;
 Endempty.Value:=TmpPrnSet.EEmptyLine;
 MoneyBox.Checked:=TmpPrnSet.MoneyBox;

 TmpDataSet:=MyShare.Get_DataSet;
 ChkAutoBak.Checked:=TmpDataSet.AutoBackup;
 ed_bakDay.Value:=TmpDataSet.BackupDay;
 Ed_Baknum.Value:=TmpDataSet.SaveNum;

 TmpYdSet:=MyShare.Get_YdSet;
 chkTimeEnabled.Checked:=TmpYdSet.Enabled;
 TimeJG.Value:=TmpYdSet.TimeJG;

 com_printer.Items.AddStrings(printer.Printers);
 Com_printer.ItemIndex:=0;
 end;

procedure TFrm_System.FormActivate(Sender: TObject);
begin
 InitSet;
end;

procedure TFrm_System.Button7Click(Sender: TObject);
begin
 TmpVipset.AutoJf:=AutoJF.Checked;
 TmpVipset.OnePerJF:=StrToInt(oneperJf.Text);
 TmpVipset.SearchName:=VipSearchName.Checked;
 TmpVipset.Headinput:=HeadInput.Checked;
 tmpVipset.VipRate:=StrToInt(viprate.Text);
 TmpVipSet.BirthdayFlag:=birthdayflag.Checked;
 TmpVipSet.BirthdayNum:=StrToInt(BirthDayNum.Text);
 MyShare.Set_Vipset(tmpVipset);
end;

procedure TFrm_System.Button8Click(Sender: TObject);
begin
  TmpSysSet.AllRate:=AllRate.Checked;
  TmpSysSet.AllRateNum:=AllRateNum.Value;
  TmpSysSet.ClientDisp:=Clientdisp.Checked;
  TmpsysSet.ClientDispPort:=ClientdispPort.Text;
  TmpSysSet.CTused:=CTUsed.Checked;
  TmpSysSet.CTClearTime:=StrToInt(CTClearTime.Text);
  TmpSysSet.OverMoneyInt:=OverMoneyInt.Checked;
  TmpSysSet.OverMoneyRound:=OverMoneyRound.Checked;
  MyShare.Set_SysSet(TmpSysSet);
end;

procedure TFrm_System.Button18Click(Sender: TObject);
begin
 TmpPrnSet.Title1:=Title1.Text;
 TmpPrnSet.Title2:=Title2.Text;
 TmpPrnSet.Title3:=Title3.Text;
 TmpPrnSet.Title4:=Title4.Text;
 TmpPrnSet.CopyNum:=StrToInt(CopyNum.Text);
 TmpPrnSet.BEmptyLine:=StrToInt(Beginempty.Text);
 TmpPrnSet.EEmptyLine:=STrToInt(Endempty.Text);
 TmpPrnSet.MoneyBox:=MoneyBox.Checked;
 MyShare.Set_PrnSet(TmpPrnSet);
end;

procedure TFrm_System.Button13Click(Sender: TObject);
begin
 TmpDataSet.AutoBackup:=chkAutoBak.Checked;
 TmpDataSet.BackupDay:=StrToInt(ed_bakDay.Text);
 TmpDataSet.SaveNum:=StrToInt(Ed_Baknum.Text);
 MyShare.Set_DataSet(TmpDataSet);
end;

procedure TFrm_System.Button14Click(Sender: TObject);
begin
 TmpYdSet.Enabled:=chkTimeEnabled.Checked;
 TmpYdSet.TimeJG:=StrToInt(TimeJG.Text);
 MyShare.Set_YdSet(TmpYdSet);
end;

procedure TFrm_System.Button15Click(Sender: TObject);
begin
  CtrlStatus:=1;
  CtrlBtnFalse;
  DataWindows.Visible:=True;
end;

procedure TFrm_System.Button19Click(Sender: TObject);
begin
  if CtrlStatus=1  Then     //增加时段
  Begin
   myyd.AddTimeField(timeName.Text,yd_BeginTime.Time,yd_EndTime.Time);
  end;

  if CtrlStatus=2  Then    //修改时段
  Begin
   Myyd.UpdateTimeField(timeFieldID,TimeName.Text,Yd_BeginTime.Time,yd_endTime.Time);
  End;
  Time_cds.Data:=Myyd.TimeFieldInfo;
  CtrlBtnTrue;
  DataWindows.Visible:=false;

end;

procedure TFrm_System.Button20Click(Sender: TObject);
begin
 CtrlBtnTrue;
 DataWindows.Visible:=false;
end;

procedure TFrm_System.CtrlBtnFalse;
begin
 Button15.Enabled:=False;
 Button16.Enabled:=False;
 Button17.Enabled:=False;
end;

procedure TFrm_System.CtrlBtnTrue;
begin
 Button15.Enabled:=True;
 Button16.Enabled:=True;
 Button17.Enabled:=True;
end;

procedure TFrm_System.Button16Click(Sender: TObject);
begin
  CtrlStatus:=2;
  timefieldID:=time_cds.FieldByname('id').AsInteger;
  TimeName.Text:=time_cds.FieldByName('TimeName').AsString;
  yd_Begintime.Time:=Time_cds.FieldByname('BeginTime').AsDateTime;
  yd_Endtime.Time:=time_cds.fieldByName('Endtime').AsDateTime;
  CtrlBtnFalse;
  DataWindows.Visible:=True;
end;

procedure TFrm_System.Button17Click(Sender: TObject);
begin
  timefieldID:=time_cds.FieldByname('id').AsInteger;
  Myyd.DelTimefield(TimeFieldID);
  Time_cds.Data:=Myyd.TimeFieldInfo;
end;

procedure TFrm_System.SysTreeClick(Sender: TObject);
begin
 if (SysTree.Selected.Level=1) Then
  begin
    if Systree.Selected.Text='豪华包房' Then
     com_room.ItemIndex:=1
    Else
     com_room.ItemIndex:=0;
  end;

 if (SysTree.Selected.Level=2) Then
  Begin
   if Systree.Selected.Parent.Text='豪华包房' Then
    com_room.ItemIndex:=1
   Else
    com_room.ItemIndex:=0;
    ed_CTname.Text:=SysTree.Selected.Text;
    CTID:=MyCt.CT_ID(Systree.Selected.Parent.Text,SysTree.Selected.Text);
    CT_Status:=MyCT.Get_CTStatus(CTID);
    Ed_CtStatus.ItemIndex:=Ct_Status;
//    Showmessage(inttostr(Ct_Status));
  end;


end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -