D10SZKaiXiYa/A00通用窗体/U_WBSpecSel.pas

291 lines
6.8 KiB
ObjectPascal
Raw Normal View History

2025-03-01 10:55:52 +08:00
unit U_WBSpecSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu,
System.ImageList, U_BaseInput, cxButtonEdit, cxCheckBox, Vcl.Menus,
2025-04-17 15:21:14 +08:00
dxScrollbarAnnotations, cxImageList, dxSkinsCore, dxSkinsDefaultPainters,
2025-07-19 09:52:09 +08:00
dxSkinOffice2013White, dxSkinSharpPlus, dxSkinWXI;
2025-03-01 10:55:52 +08:00
type
TfrmWBSpecSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
TBSave: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
ADOConnection1: TADOConnection;
Panel1: TPanel;
Label1: TLabel;
WB_Code: TEdit;
GPM_1: TcxGridPopupMenu;
ImageList1: TImageList;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column1: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxImageList_bar: TcxImageList;
Label2: TLabel;
WB_Name: TEdit;
2025-09-01 15:38:00 +08:00
TbAdd: TToolButton;
TbEdit: TToolButton;
TbDelete: TToolButton;
2025-03-01 10:55:52 +08:00
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure WB_CodeChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
2025-09-01 15:38:00 +08:00
procedure TbAddClick(Sender: TObject);
procedure TbEditClick(Sender: TObject);
procedure TbDeleteClick(Sender: TObject);
2025-03-01 10:55:52 +08:00
private
procedure InitGrid();
{ Private declarations }
public
FSTKName, FAuthority, FYType: string;
{ Public declarations }
end;
var
frmWBSpecSel: TfrmWBSpecSel;
implementation
uses
2025-09-01 15:38:00 +08:00
U_DataLink, U_RTFun, U_WBSpecInPut;
2025-03-01 10:55:52 +08:00
{$R *.dfm}
procedure TfrmWBSpecSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
end;
procedure TfrmWBSpecSel.WB_CodeChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmWBSpecSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
WB_Code.SetFocus;
Action := cahide;
end;
procedure TfrmWBSpecSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from Tat_WB_Spec A');
2025-04-17 15:21:14 +08:00
SQL.Add(' where 1=1');
sql.Add(' and isnull(ISSizing,''<27><>'')=''<27><>'' ');
2025-03-01 10:55:52 +08:00
// if Trim(FYType) <> '' then
// sql.Add(' where Y_Type=' + QuotedStr(FYType));
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmWBSpecSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, true);
end;
procedure TfrmWBSpecSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmWBSpecSel.FormShow(Sender: TObject);
begin
inherited;
InitGrid();
ReadCxGrid('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>' + Trim(FSTKName), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmWBSpecSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
2025-09-01 15:38:00 +08:00
procedure TfrmWBSpecSel.TbDeleteClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Tat_WB_Card where WB_Code=''' + Trim(CDS_1.fieldbyname('WB_Code').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27>ѿ<EFBFBD><D1BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete Tat_WB_Spec where WBSID=''' + Trim(CDS_1.fieldbyname('WBSID').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_1.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmWBSpecSel.TbEditClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
try
frmWBSpecInPut := TfrmWBSpecInPut.Create(Application);
with frmWBSpecInPut do
begin
FWBSID := Trim(CDS_1.fieldbyname('WBSID').AsString);
FSTKName := self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmWBSpecInPut.Free;
end;
end;
2025-03-01 10:55:52 +08:00
procedure TfrmWBSpecSel.TBSaveClick(Sender: TObject);
begin
WriteCxGrid('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>' + Trim(FSTKName), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmWBSpecSel.ToolButton1Click(Sender: TObject);
begin
WB_Code.SetFocus;
ModalResult := 1;
end;
2025-09-01 15:38:00 +08:00
procedure TfrmWBSpecSel.TbAddClick(Sender: TObject);
begin
try
frmWBSpecInPut := TfrmWBSpecInPut.Create(Application);
with frmWBSpecInPut do
begin
FWBSID := '';
FSTKName := self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmWBSpecInPut.Free;
end;
end;
2025-03-01 10:55:52 +08:00
procedure TfrmWBSpecSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmWBSpecSel.FormDestroy(Sender: TObject);
begin
inherited;
frmWBSpecSel := nil;
end;
end.