274 lines
7.7 KiB
ObjectPascal
274 lines
7.7 KiB
ObjectPascal
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
|
||
{ Public declarations }
|
||
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.
|