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

📄 umain.pas

📁 delphi 源码 小型企业管理软件
💻 PAS
字号:
unit uMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, JvExControls, JvComponent, JvXPCore, JvXPBar, XPMan,
  Menus, ActnList, JvExComCtrls, JvComCtrls, ImgList, ExtCtrls, StdCtrls,
  Buttons, se_controls, KsSkinButtons, KsSkinPanels;

type
  TfrmMain = class(TForm)
    JvXPBar1: TJvXPBar;
    StatusBar1: TStatusBar;
    ActionList1: TActionList;
    actDBCfg: TAction;
    actDYData: TAction;
    actHTimport: TAction;
    actTGImport: TAction;
    actBaseInfo: TAction;
    actHotkey: TAction;
    actUsers: TAction;
    actDYmaint: TAction;
    actHTMaint: TAction;
    actPZImport: TAction;
    actPZMaint: TAction;
    actDBbackup: TAction;
    actDBRestore: TAction;
    actRep: TAction;
    actRep1: TAction;
    actRep2: TAction;
    actQC: TAction;
    XPManifest1: TXPManifest;
    JvPageControl1: TJvPageControl;
    tabWelcome: TTabSheet;
    tabsysConfig: TTabSheet;
    ImageList1: TImageList;
    ActionList2: TActionList;
    Action1: TAction;
    Action2: TAction;
    Action3: TAction;
    Action4: TAction;
    Action5: TAction;
    Action6: TAction;
    Action7: TAction;
    Action8: TAction;
    Action9: TAction;
    Action10: TAction;
    Action11: TAction;
    Action12: TAction;
    Action13: TAction;
    actGMAT: TAction;
    actDJPurchase: TAction;
    actReturnCK: TAction;
    actKCGX: TAction;
    actCountKC: TAction;
    actStock: TAction;
    MainMenu1: TMainMenu;
    N3: TMenuItem;
    miLogin: TMenuItem;
    N17: TMenuItem;
    N16: TMenuItem;
    N13: TMenuItem;
    N6: TMenuItem;
    N20: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N5: TMenuItem;
    N4: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N21: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    Memo1: TMemo;
    JvPanel1: TPanel;
    SpeedButton1: TSpeedButton;
    actKH: TAction;
    actProd: TAction;
    actPO: TAction;
    actMO: TAction;
    actMat: TAction;
    N22: TMenuItem;
    actRK: TAction;
    actSH: TAction;
    actTH: TAction;
    N23: TMenuItem;
    N24: TMenuItem;
    actRepCheck: TAction;
    tabRep: TTabSheet;
    tabWizard: TTabSheet;
    tabMaint: TTabSheet;
    SeSkinButton6: TSeSkinButton;
    SeSkinButton10: TSeSkinButton;
    SeSkinButton11: TSeSkinButton;
    SeSkinButton12: TSeSkinButton;
    SeSkinButton13: TSeSkinButton;
    SeSkinButton3: TSeSkinButton;
    SeSkinButton7: TSeSkinButton;
    SeSkinButton8: TSeSkinButton;
    SeSkinButton2: TSeSkinButton;
    SeSkinButton4: TSeSkinButton;
    SeSkinButton9: TSeSkinButton;
    SeSkinButton1: TSeSkinButton;
    SeSkinButton5: TSeSkinButton;
    SeSkinButton14: TSeSkinButton;
    actRepInv: TAction;
    N26: TMenuItem;
    SeSkinButton15: TSeSkinButton;
    actRepUnfinishedPO: TAction;
    N27: TMenuItem;
    actKHPrice: TAction;
    N28: TMenuItem;
    SeSkinButton16: TSeSkinButton;
    actMRP: TAction;
    SeSkinButton17: TSeSkinButton;
    SeSkinButton18: TSeSkinButton;
    actBO: TAction;
    actOSMatOut: TAction;
    actOSMatIn: TAction;
    actOSProdOut: TAction;
    actOSProdIn: TAction;
    actWSMatOut: TAction;
    actWSMatIn: TAction;
    actWSProdIn: TAction;
    actShipProdOut: TAction;
    actShipProdIn: TAction;
    actPurMatIn: TAction;
    actPurMatOut: TAction;
    tabInv: TTabSheet;
    SeSkinButton19: TSeSkinButton;
    SeSkinButton20: TSeSkinButton;
    SeSkinButton22: TSeSkinButton;
    SeSkinButton23: TSeSkinButton;
    SeSkinButton21: TSeSkinButton;
    SeSkinButton24: TSeSkinButton;
    SeSkinButton25: TSeSkinButton;
    SeSkinButton26: TSeSkinButton;
    actRepInvMat: TAction;
    SeSkinButton27: TSeSkinButton;
    Bevel2: TBevel;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    N12: TMenuItem;
    N32: TMenuItem;
    N33: TMenuItem;
    N34: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N40: TMenuItem;
    N41: TMenuItem;
    N42: TMenuItem;
    tabPurchase: TTabSheet;
    tabSales: TTabSheet;
    tabManufacture: TTabSheet;
    SeSkinButton28: TSeSkinButton;
    actSup: TAction;
    tabEngineer: TTabSheet;
    SeSkinButton30: TSeSkinButton;
    SeSkinPanel1: TSeSkinPanel;
    SeSkinPanel2: TSeSkinPanel;
    SeSkinButton32: TSeSkinButton;
    SeSkinButton33: TSeSkinButton;
    SeSkinPanel3: TSeSkinPanel;
    SeSkinPanel4: TSeSkinPanel;
    SeSkinPanel5: TSeSkinPanel;
    SeSkinPanel6: TSeSkinPanel;
    SeSkinButton29: TSeSkinButton;
    actRepDailyIn: TAction;
    actCurr: TAction;
    SeSkinButton31: TSeSkinButton;
    actMatPrice: TAction;
    actProdPrice: TAction;
    actPayTerm: TAction;
    SeSkinButton34: TSeSkinButton;
    N43: TMenuItem;
    N44: TMenuItem;
    N45: TMenuItem;
    N46: TMenuItem;
    N47: TMenuItem;
    N48: TMenuItem;
    N49: TMenuItem;
    N50: TMenuItem;
    N51: TMenuItem;
    N52: TMenuItem;
    N53: TMenuItem;
    N54: TMenuItem;
    N25: TMenuItem;
    N29: TMenuItem;
    BOM1: TMenuItem;
    tabQC: TTabSheet;
    SeSkinButton35: TSeSkinButton;
    actIQCMatIn: TAction;
    actRepCheckPur: TAction;
    SeSkinButton36: TSeSkinButton;
    Bevel1: TBevel;
    SeSkinButton37: TSeSkinButton;
    actRepManufacture: TAction;
    actRepManuPrepare: TAction;
    SeSkinButton38: TSeSkinButton;
    SeSkinButton39: TSeSkinButton;
    actSupPrice: TAction;
    procedure N2Click(Sender: TObject);
    procedure miLoginClick(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure actUsersExecute(Sender: TObject);
    procedure actDBCfgExecute(Sender: TObject);
    procedure actDBbackupExecute(Sender: TObject);
    procedure actDBRestoreExecute(Sender: TObject);
    procedure actKHExecute(Sender: TObject);
    procedure actProdExecute(Sender: TObject);
    procedure actMatExecute(Sender: TObject);
    procedure actPOExecute(Sender: TObject);
    procedure actMOExecute(Sender: TObject);
    procedure actRKExecute(Sender: TObject);
    procedure actRepCheckExecute(Sender: TObject);
    procedure JvXPBar1Items0Click(Sender: TObject);
    procedure JvXPBar1Items1Click(Sender: TObject);
    procedure JvXPBar1Items3Click(Sender: TObject);
    procedure JvXPBar1Items2Click(Sender: TObject);
    procedure ActionList1Execute(Action: TBasicAction;
      var Handled: Boolean);
    procedure actRepInvExecute(Sender: TObject);
    procedure actRepUnfinishedPOExecute(Sender: TObject);
    procedure actKHPriceExecute(Sender: TObject);
    procedure actMRPExecute(Sender: TObject);
    procedure actBOExecute(Sender: TObject);
    procedure JvXPBar1Items4Click(Sender: TObject);
    procedure actRepInvMatExecute(Sender: TObject);
    procedure JvXPBar1Items5Click(Sender: TObject);
    procedure JvXPBar1Items6Click(Sender: TObject);
    procedure JvXPBar1Items8Click(Sender: TObject);
    procedure JvXPBar1Items9Click(Sender: TObject);
    procedure JvXPBar1Items7Click(Sender: TObject);
    procedure actSupExecute(Sender: TObject);
    procedure actCurrExecute(Sender: TObject);
    procedure actProdPriceExecute(Sender: TObject);
    procedure actMatPriceExecute(Sender: TObject);
    procedure actPayTermExecute(Sender: TObject);
    procedure actRepDailyInExecute(Sender: TObject);
    procedure actSupPriceExecute(Sender: TObject);
    procedure JvXPBar1Items10Click(Sender: TObject);
    procedure actRepCheckPurExecute(Sender: TObject);
    procedure actRepManuPrepareExecute(Sender: TObject);
    procedure actRepManufactureExecute(Sender: TObject);
  private

    { Private declarations }
  public
    { Public declarations }
    procedure ShowBaseDataPage(PageIndex: integer);
    procedure ShowDJPage(PageIndex: integer);
    procedure ShowRepPage(PageIndex: integer);
  end;

var
  frmMain: TfrmMain;

implementation

uses ULogin, UDM, uAbout, uFunc, UUsers, uBaseData, uDJ, uPrn, uRep;

{$R *.dfm}

procedure TfrmMain.N2Click(Sender: TObject);
begin
  with TAboutBox.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TfrmMain.miLoginClick(Sender: TObject);
begin
  if not Login then Application.Terminate;
  StatusBar1.Panels[0].Text := '当前户:'+CurUserID;
end;

procedure TfrmMain.N4Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
var
  wOldErrorMode:Word;
begin
  inherited;
  try
    wOldErrorMode:=SetErrorMode(SEM_FAILCRITICALERRORS);
  except
    SetErrorMode(wOldErrorMode);
  end;

  Caption := Application.Title;
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
  DM.ConnectDB;
  miLoginClick(nil);  
  JvPageControl1.ActivePage := tabWelcome;

  DoInitWork;
//  SeSkinButton30.Caption := '料件单价';
//  SeSkinButton33.Caption := '成品单价';
end;

procedure TfrmMain.actUsersExecute(Sender: TObject);
begin
  if not (CurUserID='admin') then begin
    ShowMessage('请以管理员帐号登入,然后进行用户管理!');
    exit;
  end;

  ShowFrm(TFrmUsers,FrmUsers);
end;

procedure TfrmMain.actDBCfgExecute(Sender: TObject);
begin
  DM.ReSetConnectionString;
end;

procedure TfrmMain.actDBbackupExecute(Sender: TObject);
begin
  ExecuteBackupDB;
end;

procedure TfrmMain.actDBRestoreExecute(Sender: TObject);
begin
  ExecuteRestoreDB;
end;

procedure TfrmMain.ShowBaseDataPage(PageIndex:integer);
begin
  uBaseData.curPageIndex := PageIndex;
  ShowFrm(TfBaseData,fBaseData);
end;

procedure TfrmMain.ShowDJPage(PageIndex:integer);
begin
  uDJ.curPageIndex := PageIndex;
  ShowFrm(TfrmDJ,frmDJ);
end;

procedure TfrmMain.actKHExecute(Sender: TObject);
begin
  ShowBaseDataPage(0);
end;

procedure TfrmMain.actProdExecute(Sender: TObject);
begin
  uBaseData.ccode := '';
  ShowBaseDataPage(1);
end;

procedure TfrmMain.actMatExecute(Sender: TObject);
begin
  uBaseData.ccode := '';
  ShowBaseDataPage(2);
end;

procedure TfrmMain.actPOExecute(Sender: TObject);
begin
  ShowDJPage(0);
end;

procedure TfrmMain.actMOExecute(Sender: TObject);
begin
  ShowDJPage(2);
end;

procedure TfrmMain.actRKExecute(Sender: TObject);
begin
  uDJ.invType := TAction(Sender).Caption ;
  ShowDJPage(TAction(Sender).Tag);
end;

procedure TfrmMain.ShowRepPage(PageIndex:integer);
begin
  uRep.curPageIndex := PageIndex;
  ShowFrm(TfrmRep,frmRep);
end;

procedure TfrmMain.actRepCheckExecute(Sender: TObject);
begin
  ShowRepPage(0);
end;

procedure TfrmMain.JvXPBar1Items0Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabSysConfig;
end;

procedure TfrmMain.JvXPBar1Items1Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabWizard;
end;

procedure TfrmMain.JvXPBar1Items3Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabInv;
end;

procedure TfrmMain.JvXPBar1Items2Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabMaint;
end;

procedure TfrmMain.ActionList1Execute(Action: TBasicAction;
  var Handled: Boolean);
begin
  //确认数据库已连接
  if not DM.DBReady then DM.ConnectDB;
  if not DM.DBReady then Exit;
  if not CheckUserPriv(TAction(Action).Hint) then exit;
end;

procedure TfrmMain.actRepInvExecute(Sender: TObject);
begin
  uBaseData.ccode := 'report';
  ShowBaseDataPage(1);
end;

procedure TfrmMain.actRepUnfinishedPOExecute(Sender: TObject);
begin
  ShowRepPage(4);
end;

procedure TfrmMain.actKHPriceExecute(Sender: TObject);
begin
  ShowBaseDataPage(7);
end;

procedure TfrmMain.actMRPExecute(Sender: TObject);
begin
  ShowDJPage(5);
end;

procedure TfrmMain.actBOExecute(Sender: TObject);
begin
  ShowDJPage(1);
end;

procedure TfrmMain.JvXPBar1Items4Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabRep;
end;

procedure TfrmMain.actRepInvMatExecute(Sender: TObject);
begin
  uBaseData.ccode := 'report';
  ShowBaseDataPage(2);
end;

procedure TfrmMain.JvXPBar1Items5Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabSales;
end;

procedure TfrmMain.JvXPBar1Items6Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabPurchase;
end;

procedure TfrmMain.JvXPBar1Items8Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabInv;
end;

procedure TfrmMain.JvXPBar1Items9Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabEngineer;
end;

procedure TfrmMain.JvXPBar1Items7Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabManufacture;
end;

procedure TfrmMain.actSupExecute(Sender: TObject);
begin
  ShowBaseDataPage(4);
end;

procedure TfrmMain.actCurrExecute(Sender: TObject);
begin
  ShowBaseDataPage(5);
end;

procedure TfrmMain.actProdPriceExecute(Sender: TObject);
begin
  uBaseData.ccode := 'maint_price';
  ShowBaseDataPage(1);
end;

procedure TfrmMain.actMatPriceExecute(Sender: TObject);
begin
  uBaseData.ccode := 'maint_price';
  ShowBaseDataPage(2);
end;

procedure TfrmMain.actPayTermExecute(Sender: TObject);
begin
  ShowBaseDataPage(6);
end;

procedure TfrmMain.actRepDailyInExecute(Sender: TObject);
begin
  ShowRepPage(5);
end;

procedure TfrmMain.actSupPriceExecute(Sender: TObject);
begin
  ShowBaseDataPage(8);
end;

procedure TfrmMain.JvXPBar1Items10Click(Sender: TObject);
begin
  JvPageControl1.ActivePage := tabQC;
end;

procedure TfrmMain.actRepCheckPurExecute(Sender: TObject);
begin
  ShowRepPage(6);
end;

procedure TfrmMain.actRepManuPrepareExecute(Sender: TObject);
begin
  ShowRepPage(7);
end;

procedure TfrmMain.actRepManufactureExecute(Sender: TObject);
begin
  ShowRepPage(8);
end;

end.

⌨️ 快捷键说明

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