D7gmYongjin/成品仓库(FinishedClothWarehouse.dll)/U_SQKCHZSelList.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

392 lines
11 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_SQKCHZSelList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, MovePanel, cxButtonEdit, cxCheckBox, cxPC, Math, cxCalendar,
Menus;
type
TfrmSQKCHZSelList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
MovePanel2: TMovePanel;
ToolButton1: TToolButton;
Panel1: TPanel;
Label3: TLabel;
Label5: TLabel;
Label13: TLabel;
MPRTCodeName: TEdit;
ConNo: TEdit;
PRTColor: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
cxgrdSSel: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxgrdMJGW: TcxGridDBColumn;
cxgrdMJNW: TcxGridDBColumn;
cxgrdMJLen: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
cxgrdPS: TcxGridDBColumn;
Label6: TLabel;
gangNo: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
VC_YWY: TcxGridDBColumn;
Panel2: TPanel;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
cxTabControl1: TcxTabControl;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
VC_lidan: TcxGridDBColumn;
v1XS: TcxGridDBColumn;
v1JYF: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
private
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
{ Public declarations }
FKCStatus, FKCLevel, FYWY: string;
end;
var
frmSQKCHZSelList: TfrmSQKCHZSelList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp,U_RTFun;
{$R *.dfm}
procedure TfrmSQKCHZSelList.SetStatus();
var
i: Integer;
begin
case cxTabControl1.TabIndex of
4:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
ClearOrHideControls(Panel1, '3', True, False);
ClearOrHideControls(Panel1, '4', True, False);
IsVisibleTV(Panel1, TV1, '0', True);
end;
0:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', True, False);
ClearOrHideControls(Panel1, '3', True, False);
ClearOrHideControls(Panel1, '4', True, False);
IsVisibleTV(Panel1, TV1, '0', True);
IsVisibleTV(Panel1, TV1, '1', True);
VC_lidan.Visible := True;
VC_YWY.Visible := True;
end;
1:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
ClearOrHideControls(Panel1, '3', True, False);
ClearOrHideControls(Panel1, '4', True, False);
IsVisibleTV(Panel1, TV1, '0', True);
IsVisibleTV(Panel1, TV1, '1', True);
IsVisibleTV(Panel1, TV1, '2', True);
VC_lidan.Visible := True;
VC_YWY.Visible := True;
end;
2:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
ClearOrHideControls(Panel1, '3', False, True);
ClearOrHideControls(Panel1, '4', True, False);
IsVisibleTV(Panel1, TV1, '0', True);
IsVisibleTV(Panel1, TV1, '1', True);
IsVisibleTV(Panel1, TV1, '2', True);
IsVisibleTV(Panel1, TV1, '3', True);
VC_lidan.Visible := True;
VC_YWY.Visible := True;
end;
3:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
ClearOrHideControls(Panel1, '3', False, True);
ClearOrHideControls(Panel1, '4', False, True);
VC_lidan.Visible := True;
VC_YWY.Visible := True;
end;
end;
cxgrdPS.Visible := true;
cxgrdMJGW.Visible := true;
cxgrdMJNW.Visible := true;
cxgrdMJLen.Visible := true;
cxgrdSSel.Visible := true;
v1XS.Visible:=True;
v1JYF.Visible:=True;
end;
procedure TfrmSQKCHZSelList.FormDestroy(Sender: TObject);
begin
frmSQKCHZSelList := nil;
end;
procedure TfrmSQKCHZSelList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmSQKCHZSelList.InitGrid();
var
Pwhere: string;
begin
Pwhere := '';
if SGetFilters(Panel1, 1, 2) <> '' then
Pwhere := Pwhere + ' and ' + SGetFilters(Panel1, 1, 2);
if FYWY <> '' then
Pwhere := Pwhere + ' and YWY=' + quotedstr(Trim(FYWY));
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
case cxTabControl1.TabIndex of
4: /////////////////////////Ʒ<><C6B7>//////////////////////////////
begin
sql.Add('exec P_DB_KCSel ');
sql.Add('@KCStatus=' + quotedstr(FKCStatus));
sql.Add(',@KCLevel=' + quotedstr('Ʒ<><C6B7>'));
sql.Add(',@criteria= ' + quotedstr(Pwhere));
end;
0: //////////////////////////<2F><><EFBFBD><EFBFBD>/////////////////////////////
begin
sql.Add('exec P_DB_KCSel ');
sql.Add('@KCStatus=' + quotedstr(FKCStatus));
sql.Add(',@KCLevel=' + quotedstr('<27><><EFBFBD><EFBFBD>'));
sql.Add(',@criteria= ' + quotedstr(Pwhere));
end;
1: /////////////////////////<2F><>ɫ//////////////////////////////
begin
sql.Add('exec P_DB_KCSel ');
sql.Add('@KCStatus=' + quotedstr(FKCStatus));
sql.Add(',@KCLevel=' + quotedstr('<27><>ɫ'));
sql.Add(',@criteria= ' + quotedstr(Pwhere));
end;
2: /////////////////////////<2F>׺<EFBFBD>//////////////////////////////
begin
sql.Add('exec P_DB_KCSel ');
sql.Add('@KCStatus=' + quotedstr(FKCStatus));
sql.Add(',@KCLevel=' + quotedstr('<27>׺<EFBFBD>'));
sql.Add(',@criteria= ' + quotedstr(Pwhere));
end;
3: /////////////////////////<2F><>ϸ//////////////////////////////
begin
sql.Add('exec P_DB_KCSel ');
sql.Add('@KCStatus=' + quotedstr(FKCStatus));
sql.Add(',@KCLevel=' + quotedstr('<27><>ϸ'));
sql.Add(',@criteria= ' + quotedstr(Pwhere));
end;
end;
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
// if cxTabControl1.TabIndex = 4 then
// LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSQKCHZSelList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
{if Trim(MPRTCodeName.Text)='' then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뾫ȷƷ<C8B7><C6B7><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end; }
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmSQKCHZSelList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmSQKCHZSelList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmSQKCHZSelList.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
CurrentPage := 1;
RecordsNumber := 500;
SetStatus();
// InitGrid();
end;
procedure TfrmSQKCHZSelList.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmSQKCHZSelList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmSQKCHZSelList.Tv1DblClick(Sender: TObject);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
AssignmentControls(Panel1, CDS_Main, '1');
cxTabControl1.TabIndex := 1;
end;
1:
begin
AssignmentControls(Panel1, CDS_Main, '2');
cxTabControl1.TabIndex := 2;
end;
2:
begin
AssignmentControls(Panel1, CDS_Main, '3');
cxTabControl1.TabIndex := 3;
end;
// 3:
// begin
// AssignmentControls(Panel1, CDS_Main, '');
// cxTabControl1.TabIndex := 4;
// end;
end;
end;
procedure TfrmSQKCHZSelList.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmSQKCHZSelList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmSQKCHZSelList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmSQKCHZSelList.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmSQKCHZSelList.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmSQKCHZSelList.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
end.