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

📄 uorderdata.pas

📁 成本系统三层结构源码 开发工具:Delphi 7.0+SQLServer 2005 主要技术:Midas、COM+ 所用第三方控件: FastReport V2.47 D7 Inforp
💻 PAS
字号:
unit uorderdata;
                           
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, upub2, dxExEdtr, ActnList, ImgList, Menus, DB, ComCtrls,  ExtDlgs,
  ToolWin, Tabs, ExtCtrls, dxCntner, dxTL, dxDBCtrl, dxDBGrid, dxDBTLCl,
  dxGrClms, dxEditor, dxEdLib, dxDBELib, wwdbdatetimepicker, DBCtrls,
  StdCtrls, Mask, dxtree, dxdbtree, dxDBTL;
                   
type
  TfmOrderData = class(Tfmpub2)
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    Label6: TLabel;
    DBEdit4: TDBEdit;
    Label7: TLabel;
    DBEdit5: TDBEdit;
    Label8: TLabel;
    DBEdit6: TDBEdit;
    Label9: TLabel;
    DBEdit7: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBEdit10: TDBEdit;
    wwDBDateTimePicker1: TwwDBDateTimePicker;
    wwDBDateTimePicker2: TwwDBDateTimePicker;
    wwDBDateTimePicker3: TwwDBDateTimePicker;
    dxDBButtonEdit1: TdxDBButtonEdit;
    GridMasOrderNo: TdxDBGridMaskColumn;
    GridMasCategoryName: TdxDBGridMaskColumn;
    GridMasOrderDate: TdxDBGridDateColumn;
    GridMasCustomerID: TdxDBGridMaskColumn;
    GridMasCustomerName: TdxDBGridLookupColumn;
    GridMasCurrencyID: TdxDBGridMaskColumn;
    GridMasCurrencyName: TdxDBGridLookupColumn;
    GridMasRate: TdxDBGridMaskColumn;
    GridMasTotalMoney: TdxDBGridMaskColumn;
    GridMasPONo: TdxDBGridMaskColumn;
    GridMasQuantity: TdxDBGridMaskColumn;
    GridMasShipDate: TdxDBGridDateColumn;
    GridMasShipedDate: TdxDBGridDateColumn;
    GridMasRemark: TdxDBGridMaskColumn;
    GridMasCreater: TdxDBGridMaskColumn;
    GridMasCreateDate: TdxDBGridDateColumn;
    GridMasUpdater: TdxDBGridMaskColumn;
    GridMasUpdateDate: TdxDBGridDateColumn;
    GridMasEngineer: TdxDBGridMaskColumn;
    Label17: TLabel;
    dxDBButtonEdit2: TdxDBButtonEdit;
    DBImage1: TDBImage;
    PopupMenu1: TPopupMenu;
    miLoad: TMenuItem;
    miClear: TMenuItem;
    miSaveAs: TMenuItem;
    PopupMenu2: TPopupMenu;
    BOM1: TMenuItem;
    DBLookupComboBox1: TDBLookupComboBox;
    dxDBTreeList1: TdxDBTreeList;
    dxDBTreeList1BOMLevel: TdxDBTreeListMaskColumn;
    dxDBTreeList1PartNo: TdxDBTreeListColumn;
    dxDBTreeList1PartNameE: TdxDBTreeListLookupColumn;
    dxDBTreeList1PartNameC: TdxDBTreeListLookupColumn;
    dxDBTreeList1Model: TdxDBTreeListLookupColumn;
    dxDBTreeList1Color: TdxDBTreeListLookupColumn;
    dxDBTreeList1UnitName: TdxDBTreeListLookupColumn;
    dxDBTreeList1StartDate: TdxDBTreeListDateColumn;
    dxDBTreeList1EndDate: TdxDBTreeListDateColumn;
    dxDBTreeList1UnitMeasureCode: TdxDBTreeListColumn;
    dxDBTreeList1PerAssemblyQty: TdxDBTreeListMaskColumn;
    dxDBTreeList1ModifiedDate: TdxDBTreeListDateColumn;
    dxDBTreeList2: TdxDBTreeList;
    ImageList1: TImageList;
    dxDBTreeList1BOMID: TdxDBTreeListMaskColumn;
    dxDBTreeList2BOMID: TdxDBTreeListMaskColumn;
    dxDBTreeList2BOMLevel: TdxDBTreeListMaskColumn;
    dxDBTreeList2PartNo: TdxDBTreeListButtonColumn;
    dxDBTreeList2PartNameE: TdxDBTreeListMaskColumn;
    dxDBTreeList2PartNameC: TdxDBTreeListMaskColumn;
    dxDBTreeList2Model: TdxDBTreeListMaskColumn;
    dxDBTreeList2Color: TdxDBTreeListMaskColumn;
    dxDBTreeList2UnitName: TdxDBTreeListLookupColumn;
    dxDBTreeList2StartDate: TdxDBTreeListDateColumn;
    dxDBTreeList2EndDate: TdxDBTreeListDateColumn;
    dxDBTreeList2PerAssemblyQty: TdxDBTreeListMaskColumn;
    Panel1: TPanel;
    DBNavigator1: TDBNavigator;
    GridSubBOMID: TdxDBGridMaskColumn;
    GridSubOrderNo: TdxDBGridColumn;
    GridSubBOMLevel: TdxDBGridMaskColumn;
    GridSubPartNo: TdxDBGridColumn;
    GridSubPartNameE: TdxDBGridLookupColumn;
    GridSubPartNameC: TdxDBGridLookupColumn;
    GridSubModel: TdxDBGridLookupColumn;
    GridSubColor: TdxDBGridLookupColumn;
    GridSubParentNo: TdxDBGridColumn;
    GridSubUnitId: TdxDBGridColumn;
    GridSubUnitName: TdxDBGridLookupColumn;
    GridSubStartDate: TdxDBGridDateColumn;
    GridSubEndDate: TdxDBGridDateColumn;
    GridSubPerAssemblyQty: TdxDBGridMaskColumn;
    GridSubModifiedDate: TdxDBGridDateColumn;
    procedure FormCreate(Sender: TObject);
    procedure dxDBButtonEdit2ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure miLoadClick(Sender: TObject);
    procedure miClearClick(Sender: TObject);
    procedure miSaveAsClick(Sender: TObject);
    procedure BOM1Click(Sender: TObject);
    procedure dxDBTreeList2DragDrop(Sender, Source: TObject; X,
      Y: Integer);
    procedure dxDBTreeList2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure dxDBTreeList2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ASubDelExecute(Sender: TObject);
    procedure GridMasChangeNode(Sender: TObject; OldNode,
      Node: TdxTreeListNode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmOrderData: TfmOrderData;

implementation

uses udmoe, SherryLib, udata, udmbase;

{$R *.dfm}

procedure TfmOrderData.FormCreate(Sender: TObject);
var i:Integer;
begin
  inherited;
  OPenData(DSSub);
  dxDBTreeList1.FullExpand;
  dxDBTreeList2.FullExpand;
  AApprove.Visible:=False;
  AApprove.Enabled:=False;
  AConfirm.Visible:=False;
  AConfirm.Enabled:=False;
  dxDBTreeList2.OptionsBehavior:= dxDBTreeList2.OptionsBehavior+[etoAutoDragDrop]-[etoAutoDragDropCopy];
  dxDBTreeList2.DragMode:=dmAutomatic;
  for i:=0 to dxDBTreeList2.ColumnCount-1 do
  begin
    if (UpperCase(dxDBTreeList2.Columns[i].FieldName) = UpperCase('OrderNo')) then
    TdxDBTreeListButtonColumn(dxDBTreeList2.Columns[i]).OnEditButtonClick := LookupOrderNo;
    if (UpperCase(dxDBTreeList2.Columns[i].FieldName) = UpperCase('PartNo')) then
    TdxDBTreeListButtonColumn(dxDBTreeList2.Columns[i]).OnEditButtonClick := LookupPartNo;
  end;
end;

procedure TfmOrderData.dxDBButtonEdit2ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  If LookUp(DMBase.Cemployee) then DMOE.COrderData['Engineer']:=DMBase.Cemployee['EmployeeE'];
end;

procedure TfmOrderData.miLoadClick(Sender: TObject);
begin
  LoadPicture(DBImage1);
end;

procedure TfmOrderData.miClearClick(Sender: TObject);
begin
  DMOE.COrderDataPicture.Clear;
end;

procedure TfmOrderData.miSaveAsClick(Sender: TObject);
begin
  with TSavePictureDialog.Create(self) do
  begin
    Options:=Options+[ofForceShowHidden,ofCreatePrompt];
    if not DirectoryExists(ExtractFileDir(Application.ExeName)+'\Image') then
      ForceDirectories(ExtractFileDir(Application.ExeName)+'\Image');
    InitialDir:=ExtractFileDir(Application.ExeName)+'\Image';
    DefaultExt:='JPEG Image File (*.jpg;*.jpeg)|*.jpg;*.jpeg';
    Filter:='JPEG Image File (*.jpg;*.jpeg)|*.jpg;*.jpeg';
    if execute then DBImage1.Picture.Graphic.SaveToFile(Filename);
    free;
  end;
end;

procedure TfmOrderData.BOM1Click(Sender: TObject);
begin
  SherryLib.GridToExcel(GridSub,DMOE.COrderDataOrderNo.Value);
end;

procedure TfmOrderData.dxDBTreeList2DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var i:integer;
    BnItem:TDxTreeListNode;
    PartNo:Variant;
    BomLevel:Variant;
begin
  dxDBTreeList2.OptionsBehavior:= dxDBTreeList2.OptionsBehavior+[etoAutoDragDrop];
  dxDBTreeList2.OptionsBehavior:= dxDBTreeList2.OptionsBehavior-[etoAutoDragDropCopy];
  BnItem:=dxDBTreeList2.GetNodeAt(X,Y);
  PartNo:=TdxDBTreeListNode(BnItem).VariantValues[dxDBTreeList2.ColumnByFieldName('PartNo').ColIndex];
  BomLevel:=TdxDBTreeListNode(BnItem).VariantValues[dxDBTreeList2.ColumnByFieldName('BomLevel').ColIndex];
  For i:=dxDBTreeList2.SelectedCount-1 downto 0 do
  begin
    DMOE.CBOM.GotoBookmark(pointer(dxDBTreeList2.selectedrows[i]));
    DMOE.CBOM.Edit;
    DMOE.CBOM['PartNo']:=PartNo;
    if BomLevel>=0 then
    DMOE.CBOM['BOMLevel']:=BomLevel+1;
    DMOE.CBOM.Post;
  end;
end;

procedure TfmOrderData.dxDBTreeList2DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  inherited;
  accept:=true;
end;

procedure TfmOrderData.dxDBTreeList2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  sherrylib.dxDBTreeListKeyDown(Key, dxDBTreeList2, shift);
end;

procedure TfmOrderData.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  sherrylib.FormKeyDown(Sender, key,shift,DxDBTreeList2);
end;

procedure TfmOrderData.ASubDelExecute(Sender: TObject);
begin
  if TabEdit.Visible and dxDBTreeList2.Focused and not dxDBTreeList2.DataSource.DataSet.IsEmpty then
  if Ask('是否删除当前子项?') then dxDBTreeList2.DataSource.DataSet.Delete;

end;

procedure TfmOrderData.GridMasChangeNode(Sender: TObject; OldNode,
  Node: TdxTreeListNode);
begin
  inherited;
  dxDBTreeList1.FullExpand;
  dxDBTreeList2.FullExpand;
end;

end.

⌨️ 快捷键说明

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