2025-04-27 16:59:54 +08:00
|
|
|
|
unit U_UserList;
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
|
|
|
|
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, ExtCtrls,
|
|
|
|
|
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|
|
|
|
cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient,
|
|
|
|
|
StdCtrls, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset,
|
|
|
|
|
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
|
|
|
|
|
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
|
|
|
|
|
dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
|
|
|
|
|
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans,
|
|
|
|
|
dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky,
|
|
|
|
|
dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
|
|
|
|
|
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
|
|
|
|
|
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
|
|
|
|
|
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
|
|
|
|
|
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
|
|
|
|
|
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
|
|
|
|
|
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
|
|
|
|
|
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
|
|
|
|
|
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
|
|
|
|
|
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter;
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
TfrmUserList = class(TForm)
|
|
|
|
|
ToolBar1: TToolBar;
|
|
|
|
|
tbyhadd: TToolButton;
|
|
|
|
|
tbyhup: TToolButton;
|
|
|
|
|
tbyhdelete: TToolButton;
|
|
|
|
|
tbqx: TToolButton;
|
|
|
|
|
tbclose: TToolButton;
|
|
|
|
|
ToolButton1: TToolButton;
|
|
|
|
|
cxGrid1: TcxGrid;
|
|
|
|
|
tv1: TcxGridDBTableView;
|
|
|
|
|
tv1Code1: TcxGridDBColumn;
|
|
|
|
|
tv1Name1: TcxGridDBColumn;
|
|
|
|
|
tv1Sex1: TcxGridDBColumn;
|
|
|
|
|
tv1Phone1: TcxGridDBColumn;
|
|
|
|
|
tv1IdNo1: TcxGridDBColumn;
|
|
|
|
|
tv1Dept1: TcxGridDBColumn;
|
|
|
|
|
tv1InTime: TcxGridDBColumn;
|
|
|
|
|
tv1Address: TcxGridDBColumn;
|
|
|
|
|
tv1Valid1: TcxGridDBColumn;
|
|
|
|
|
cxGrid1Level1: TcxGridLevel;
|
|
|
|
|
Panel1: TPanel;
|
|
|
|
|
tv1edu: TcxGridDBColumn;
|
|
|
|
|
tv1position: TcxGridDBColumn;
|
|
|
|
|
tv1fstr1: TcxGridDBColumn;
|
|
|
|
|
ADO_user: TADOQuery;
|
|
|
|
|
ADO_Cmd: TADOQuery;
|
|
|
|
|
DataSource2: TDataSource;
|
|
|
|
|
CDS_User: TClientDataSet;
|
|
|
|
|
Label1: TLabel;
|
|
|
|
|
userID: TEdit;
|
|
|
|
|
Label2: TLabel;
|
|
|
|
|
USERName: TEdit;
|
|
|
|
|
Label7: TLabel;
|
|
|
|
|
sex: TComboBox;
|
|
|
|
|
edu: TComboBox;
|
|
|
|
|
Label8: TLabel;
|
|
|
|
|
tv1note: TcxGridDBColumn;
|
|
|
|
|
Label3: TLabel;
|
|
|
|
|
validName: TComboBox;
|
|
|
|
|
Label4: TLabel;
|
|
|
|
|
position: TEdit;
|
|
|
|
|
Label5: TLabel;
|
|
|
|
|
fstr1: TEdit;
|
|
|
|
|
tv1Column1: TcxGridDBColumn;
|
|
|
|
|
ToolButton2: TToolButton;
|
|
|
|
|
RMDBMain: TRMDBDataSet;
|
|
|
|
|
RM1: TRMGridReport;
|
|
|
|
|
procedure FormDestroy(Sender: TObject);
|
|
|
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
|
|
procedure tbyhaddClick(Sender: TObject);
|
|
|
|
|
procedure tbcloseClick(Sender: TObject);
|
|
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
|
procedure FormCreate(Sender: TObject);
|
|
|
|
|
procedure ToolButton1Click(Sender: TObject);
|
|
|
|
|
procedure tbyhupClick(Sender: TObject);
|
|
|
|
|
procedure tbyhdeleteClick(Sender: TObject);
|
|
|
|
|
procedure tbqxClick(Sender: TObject);
|
|
|
|
|
procedure userIDChange(Sender: TObject);
|
|
|
|
|
procedure tv1CellDblClick(Sender: TcxCustomGridTableView;
|
|
|
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
|
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
|
|
|
procedure ToolButton2Click(Sender: TObject);
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
Procedure InitUser();
|
|
|
|
|
{ Private declarations }
|
|
|
|
|
public
|
2025-05-12 15:20:41 +08:00
|
|
|
|
{ Public declarations }
|
2025-04-27 16:59:54 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
|
frmUserList: TfrmUserList;
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
uses U_DataLink,U_Fun10,U_User10,U_PublicFunction;
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
Procedure TfrmUserList.InitUser();
|
|
|
|
|
begin
|
|
|
|
|
with ADO_user do
|
|
|
|
|
begin
|
|
|
|
|
close;
|
|
|
|
|
sql.Clear;
|
|
|
|
|
sql.Add(' select A.*,case when valid=''Y'' then ''<27><>'' else ''<27><>'' end as validName ');
|
|
|
|
|
sql.Add(' from BD_Staff A ');
|
|
|
|
|
sql.Add(' where userId<>''ADMIN'' ');
|
|
|
|
|
open;
|
|
|
|
|
end;
|
|
|
|
|
CreateAdoToCds(ADO_user,CDS_User);
|
|
|
|
|
InitAdoToCds(ADO_user,CDS_User);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.FormDestroy(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
frmUserList:=nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.FormClose(Sender: TObject;
|
|
|
|
|
var Action: TCloseAction);
|
|
|
|
|
begin
|
|
|
|
|
writeCxGrid(self.Caption,Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
|
|
Action:=cafree;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tbyhaddClick(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
frmUser10:=TfrmUser10.Create(self);
|
|
|
|
|
with frmUser10 do
|
|
|
|
|
begin
|
|
|
|
|
formId:=0;
|
|
|
|
|
fuserID:='';
|
|
|
|
|
if showmodal=1 then
|
|
|
|
|
begin
|
|
|
|
|
InitUser();
|
|
|
|
|
CDS_User.Locate('UserID',trim(fuserID),[]);
|
|
|
|
|
end;
|
|
|
|
|
free;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tbcloseClick(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
close;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.FormShow(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
ReadCxGrid(self.Caption,Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
|
|
InitUser();
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.FormCreate(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
cxGrid1.Align:=alclient;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.ToolButton1Click(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
InitUser();
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tbyhupClick(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
if CDS_User.IsEmpty then exit;
|
|
|
|
|
if trim(CDS_User.FieldByName('userID').AsString)='ADMIN' then exit;
|
|
|
|
|
frmUser10:=TfrmUser10.create(self);
|
|
|
|
|
with frmUser10 do
|
|
|
|
|
begin
|
|
|
|
|
formId:=1;
|
|
|
|
|
fuserID:=trim(CDS_User.fieldByName('UserID').asstring);
|
|
|
|
|
if showmodal=1 then
|
|
|
|
|
begin
|
|
|
|
|
InitUser();
|
|
|
|
|
CDS_User.Locate('UserID',trim(fuserID),[]);
|
|
|
|
|
end;
|
|
|
|
|
free;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tbyhdeleteClick(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
if CDS_User.IsEmpty then exit;
|
|
|
|
|
if trim(CDS_User.FieldByName('userID').AsString)='ADMIN' then exit;
|
|
|
|
|
if application.MessageBox('<27><>ȷ<EFBFBD><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ!',1)=2 then exit;
|
|
|
|
|
try
|
|
|
|
|
with ADO_Cmd do
|
|
|
|
|
begin
|
|
|
|
|
close;
|
|
|
|
|
sql.Clear;
|
|
|
|
|
sql.Add(' delete BD_Staff ');
|
|
|
|
|
sql.Add(' where userID='+quotedstr(trim(CDS_User.fieldbyname('USerID').AsString)));
|
|
|
|
|
sql.Add(' delete TP_File ');
|
|
|
|
|
sql.Add(' where WBID='+quotedstr(trim(CDS_User.fieldbyname('USerID').AsString)));
|
|
|
|
|
execsql;
|
|
|
|
|
end;
|
|
|
|
|
InitUser();
|
|
|
|
|
except
|
|
|
|
|
application.MessageBox('ɾ<><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',MB_ICONERROR);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tbqxClick(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
if CDS_User.IsEmpty then exit;
|
|
|
|
|
TcxGridToExcel(self.Caption,cxgrid1);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.userIDChange(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
if not CDS_User.Active then exit;
|
|
|
|
|
SDofilter(ADO_user,SGetFilters(Panel1,1,2));
|
|
|
|
|
CreateAdoToCds(ADO_user,CDS_User);
|
|
|
|
|
InitAdoToCds(ADO_user,CDS_User);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.tv1CellDblClick(Sender: TcxCustomGridTableView;
|
|
|
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
|
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
|
|
|
begin
|
|
|
|
|
tbyhup.Click;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TfrmUserList.ToolButton2Click(Sender: TObject);
|
|
|
|
|
var
|
|
|
|
|
fPrintFile:string;
|
|
|
|
|
Porderno,PRTCodeName,funit:string;
|
|
|
|
|
i,j,k:Integer;
|
|
|
|
|
Txt,fImagePath:string;
|
|
|
|
|
Moudle: THandle;
|
|
|
|
|
Makebar:TMakebar;
|
|
|
|
|
Mixtext:TMixtext;
|
|
|
|
|
begin
|
|
|
|
|
IF CDS_User.IsEmpty then exit;
|
|
|
|
|
|
|
|
|
|
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ա<><D4B1><EFBFBD><EFBFBD>Ϣ.rmf' ;
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
Moudle:=LoadLibrary('MakeQRBarcode.dll');
|
|
|
|
|
@Makebar:=GetProcAddress(Moudle,'Make');
|
|
|
|
|
@Mixtext:=GetProcAddress(Moudle,'MixText');
|
|
|
|
|
Txt:=Trim(CDS_User.fieldbyname('userID').AsString);
|
|
|
|
|
fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp';
|
|
|
|
|
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then
|
|
|
|
|
CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil);
|
|
|
|
|
if FileExists(fImagePath) then DeleteFile(fImagePath);
|
|
|
|
|
Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3);
|
|
|
|
|
except
|
|
|
|
|
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
|
|
|
|
|
exit;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
if FileExists(fPrintFile) then
|
|
|
|
|
begin
|
|
|
|
|
RMVariables['QRBARCODE']:=fImagePath;
|
|
|
|
|
RM1.LoadFromFile(fPrintFile);
|
|
|
|
|
RM1.ShowReport;
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
begin
|
|
|
|
|
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
|
|
|
|
|
exit;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
end.
|