📄 uorderdata.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 + -