D7szChenfeng/微信管理(WechatManage.dll)/U_WeChatBinding.pas

209 lines
5.6 KiB
ObjectPascal
Raw Normal View History

2025-07-22 15:51:47 +08:00
unit U_WeChatBinding;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmWeChatBinding = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
UserID: TEdit;
Label5: TLabel;
UserName: TEdit;
Order_Main: TClientDataSet;
Label4: TLabel;
Udept: TEdit;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
UType: TEdit;
Label6: TLabel;
Label1: TLabel;
wxNickName: TEdit;
ToolButton1: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure UserIDChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
FInt, PFInt: Integer;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
FType: string;
{ Public declarations }
end;
var
frmWeChatBinding: TfrmWeChatBinding;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_WeiXinHelp; //,U_ClothContractInPutPB ,U_ProductOrderList
{$R *.dfm}
procedure TfrmWeChatBinding.FormDestroy(Sender: TObject);
begin
frmWeChatBinding := nil;
end;
procedure TfrmWeChatBinding.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmWeChatBinding.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(self.Caption + tv1.Name, Tv1);
end;
procedure TfrmWeChatBinding.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select * from SY_User');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
TBFind.Click;
end;
end;
procedure TfrmWeChatBinding.InitForm();
begin
ReadCxGrid(self.Caption + tv1.Name, Tv1);
InitGrid();
end;
procedure TfrmWeChatBinding.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmWeChatBinding.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWeChatBinding.UserIDChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmWeChatBinding.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmWeChatBinding.TBAddClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmWeiXinHelp := TfrmWeiXinHelp.Create(Self);
with frmWeiXinHelp do
begin
if ShowModal = 1 then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(' update SY_User set wxid=' + QuotedStr(Trim(frmWeiXinHelp.CDS_Help.FieldByName('OPENID').AsString)));
SQL.Add(',wxNickName=' + QuotedStr(Trim(frmWeiXinHelp.CDS_Help.FieldByName('NICKNAME').AsString)));
SQL.Add(' where UserID=' + QuotedStr(Trim(Self.Order_Main.FieldByName('UserID').AsString)));
SQL.Add(' and UserName=' + QuotedStr(Trim(Self.Order_Main.FieldByName('UserName').AsString)));
ExecSQL;
end;
with Self.Order_Main do
begin
Edit;
FieldByName('wxid').Value := Trim(frmWeiXinHelp.CDS_Help.FieldByName('OPENID').AsString);
FieldByName('wxNickName').Value := Trim(frmWeiXinHelp.CDS_Help.FieldByName('NICKNAME').AsString);
end;
end;
end;
finally
frmWeiXinHelp.Free;
end;
end;
procedure TfrmWeChatBinding.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(' update SY_User set wxid=NULL,wxNickName=NULL');
SQL.Add(' where UserID=' + QuotedStr(Trim(Self.Order_Main.FieldByName('UserID').AsString)));
SQL.Add(' and UserName=' + QuotedStr(Trim(Self.Order_Main.FieldByName('UserName').AsString)));
ExecSQL;
end;
with Self.Order_Main do
begin
Edit;
FieldByName('wxid').Value := '';
FieldByName('wxNickName').Value := '';
end;
end;
end.