unit U_ZdyAttachmentX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxDBLookupComboBox, cxPC; type TfrmZdyAttachmentX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; ZdyName: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; ToolButton3: TToolButton; v2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; Label1: TLabel; zjm: TEdit; v2Column10: TcxGridDBColumn; TBedit: TToolButton; Label2: TLabel; DEFstr5: TEdit; v2Column11: TcxGridDBColumn; v2DEFStr7: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; v2Column14: TcxGridDBColumn; DEFStr7: TEdit; Label4: TLabel; v2Column15: TcxGridDBColumn; v2Column16: TcxGridDBColumn; TBuser: TToolButton; v2Column17: TcxGridDBColumn; cxTabControl1: TcxTabControl; CheckBox1: TCheckBox; v2Column19: TcxGridDBColumn; Tchk: TToolButton; TNochk: TToolButton; v2Column18: TcxGridDBColumn; v2Column20: TcxGridDBColumn; ToolButton4: TToolButton; ToolButton5: TToolButton; v2Column21: TcxGridDBColumn; ToolButton6: TToolButton; v2Column22: TcxGridDBColumn; ToolButton7: TToolButton; Panel2: TPanel; Panel3: TPanel; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn20: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; cxGridPopupMenu3: TcxGridPopupMenu; CDS_HZ2: TClientDataSet; DS_HZ2: TDataSource; ADOQueryMain2: TADOQuery; DS_HZ3: TDataSource; ADOQueryMain3: TADOQuery; CDS_HZ3: TClientDataSet; cxGridPopupMenu4: TcxGridPopupMenu; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; V1Column1: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; V1Column3: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; V1Column2: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn17: TcxGridDBColumn; V1Column4: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ZdyNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBeditClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure TBuserClick(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TNochkClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } procedure InitGrid(); procedure setstatus(); public fkhType:string; canshu1:string; end; var frmZdyAttachmentX: TfrmZdyAttachmentX; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInput,U_ZdyInput, U_FjList_RZ; {$R *.dfm} procedure TfrmZdyAttachmentX.setstatus(); begin TBedit.Visible:=false; TBdel.Visible:=false; tchk.Visible:=false; tnochk.Visible:=false; TBuser.Visible:=false; ToolButton7.Visible:=false; IF trim(canshu1)=''then begin case cxTabControl1.TabIndex of 0:begin TBedit.Visible:=true; TBdel.Visible:=true; end; 1:begin end; end; end else IF trim(canshu1)='高权限'then begin TBuser.Visible:=True; ToolButton7.Visible:=True; case cxTabControl1.TabIndex of 0:begin TBedit.Visible:=true; tbdel.Visible:=True; tchk.Visible:=True; end; 1:begin tNochk.Visible:=True; end; end; end; // InitGrid(); end; procedure TfrmZdyAttachmentX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select *,zjm=dbo.getpinyin(ZdyName) from KH_Zdy_Attachment where Type=''KHName'' '); // sql.Add(' and isnull(khType,'''')='+quotedstr(trim(fkhType))); IF trim(canshu1)<>'高权限'then begin sql.Add(' and (DEFstr5='+quotedstr(trim(DName))); SQL.Add(' or filler='+quotedstr(trim(DName))+')'); end; if cxTabControl1.TabIndex<2 then sql.Add(' and status='''+inttostr(cxTabControl1.TabIndex)+''' '); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); //2级 ADOQueryMain2.DisableControls; with ADOQueryMain2 do begin Filtered:=False; Close; SQL.Clear; sql.Add('select * from GYS_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+''''); Open; end; SCreateCDS20(ADOQueryMain2,CDS_HZ2); SInitCDSData20(ADOQueryMain2,CDS_HZ2); ///3级 ADOQueryMain3.DisableControls; with ADOQueryMain3 do begin Close; sql.Clear; sql.Add('select * from KH_Zdy_Att_Sub where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+''''); //ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain3,CDS_HZ3); SInitCDSData20(ADOQueryMain3,CDS_HZ3); finally ADOQueryMain.EnableControls; ADOQueryMain2.EnableControls; ADOQueryMain3.EnableControls; ADOQueryMain.EnableControls; end; end; procedure TfrmZdyAttachmentX.FormDestroy(Sender: TObject); begin frmZdyAttachment:=nil; end; procedure TfrmZdyAttachmentX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmZdyAttachmentX.TBCloseClick(Sender: TObject); begin WriteCxGrid('客户资料',Tv2,'客户自定义'); Close; end; procedure TfrmZdyAttachmentX.TBDelClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete KH_Zdy_Attachment where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); sql.Add('delete KH_Zdy_Att_Sub where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''' and Type=''KHName'' '); sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); sql.Add('delete from KH_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); ExecSQL; end; end; CDS_HZ.Delete; InitGrid(); end; procedure TfrmZdyAttachmentX.FormShow(Sender: TObject); begin ReadCxGrid('客户资料',Tv2,'客户自定义'); setstatus(); InitGrid(); end; procedure TfrmZdyAttachmentX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmZdyAttachmentX.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; end; procedure TfrmZdyAttachmentX.ZdyNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmZdyAttachmentX.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid2); // SelExportData(Tv2,ADOQueryMain,'客户资料列表'); end; procedure TfrmZdyAttachmentX.TBeditClick(Sender: TObject); begin IF CDS_HZ.IsEmpty then exit; try frmZdyAttInput:=TfrmZdyAttInput.Create(Application); with frmZdyAttInput do begin FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); fkhType:=self.fkhType; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmZdyAttInput.Free; end; end; procedure TfrmZdyAttachmentX.ToolButton3Click(Sender: TObject); begin try frmZdyAttInput:=TfrmZdyAttInput.Create(Application); with frmZdyAttInput do begin fkhType:=self.fkhType; FCYID:=''; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmZdyAttInput.Free; end; end; procedure TfrmZdyAttachmentX.TBuserClick(Sender: TObject); var FuserName:string; begin IF CDS_HZ.IsEmpty then exit; frmZDYHelp:=TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag:='UserName'; FlagName:='操作员'; IF showmodal=1 then begin FuserName:=ClientDataSet1.fieldbyname('zdyName').AsString; end; free; end; IF trim(FuserName)<>'' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update KH_Zdy_Attachment SET filler='''+trim(FuserName)+''' where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); ExecSQL; end; TBRafresh.Click; end; end; procedure TfrmZdyAttachmentX.CheckBox1Click(Sender: TObject); begin SelOKNo(CDS_HZ,CheckBox1.Checked); end; procedure TfrmZdyAttachmentX.TchkClick(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel',true,[])=false then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; try with CDS_HZ do begin DisableControls; First; while not eof do begin iF fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update KH_Zdy_Attachment SET status=1,chker='''+trim(DName)+''',chkTime=getdate() '); sql.Add('where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('审核成功!','提示信息'); TBRafresh.Click; except CDS_HZ.EnableControls; application.MessageBox('审核失败!','提示信息',0); end; end; procedure TfrmZdyAttachmentX.TNochkClick(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel',true,[])=false then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; try with CDS_HZ do begin DisableControls; First; while not eof do begin iF fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update KH_Zdy_Attachment SET status=0,chker='''',chkTime=null '); sql.Add('where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('撤销审核成功!','提示信息'); TBRafresh.Click; except CDS_HZ.EnableControls; application.MessageBox('撤销审核失败!','提示信息',0); end; end; procedure TfrmZdyAttachmentX.FormCreate(Sender: TObject); begin canshu1:=trim(DParameters1); end; procedure TfrmZdyAttachmentX.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmZdyAttachmentX.ToolButton4Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin // PState:=1; // if Trim(DParameters1)<>'高权限' then cxButton1.Visible:=false; fkeyNO:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); fType:='客户资料'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmZdyAttachmentX.ToolButton5Click(Sender: TObject); begin IF CDS_HZ.IsEmpty then exit; try frmZdyAttInput:=TfrmZdyAttInput.Create(Application); with frmZdyAttInput do begin TBsave.Visible:=false; ToolBar2.Visible:=false; FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); fkhType:=self.fkhType; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmZdyAttInput.Free; end; end; procedure TfrmZdyAttachmentX.ToolButton6Click(Sender: TObject); var fPrintFile:string; Txt,fImagePath:string; Moudle: THandle; Makebar:TMakebar; Mixtext:TMixtext; begin IF CDS_HZ.IsEmpty then exit; try Moudle:=LoadLibrary('MakeQRBarcode.dll'); @Makebar:=GetProcAddress(Moudle,'Make'); @Mixtext:=GetProcAddress(Moudle,'MixText'); Txt:=Trim(CDS_HZ.fieldbyname('ZDYCODE').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('条形码生成失败!','提示信息',MB_ICONERROR); exit; end; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\客户资料信息.rmf' ; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE']:=fImagePath; RM1.LoadFromFile(fPrintFile); // Rm2.DefaultCopies:=strtointdef(trim(ComboBox1.Text),1); // RM1.ShowReport; RM1.PrintReport; end else Application.MessageBox(PChar('没有找到文件'+fPrintFile),'提示',0); end; procedure TfrmZdyAttachmentX.ToolButton7Click(Sender: TObject); var FuserName:string; begin IF CDS_HZ.IsEmpty then exit; frmZDYHelp:=TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag:='YWY'; FlagName:='业务员'; IF showmodal=1 then begin FuserName:=ClientDataSet1.fieldbyname('zdyName').AsString; end; free; end; IF trim(FuserName)<>'' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update KH_Zdy_Attachment SET DEFstr5='''+trim(FuserName)+''' where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); ExecSQL; end; TBRafresh.Click; end; end; procedure TfrmZdyAttachmentX.Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryMain2 do begin Close; sql.Clear; sql.Add('select * from KH_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+''''); Open; end; SCreateCDS20(ADOQueryMain2,CDS_HZ2); SInitCDSData20(ADOQueryMain2,CDS_HZ2); with ADOQueryMain3 do begin Close; sql.Clear; sql.Add('select * from KH_Zdy_Att_Sub where ATID='''+Trim(CDS_HZ2.fieldbyname('ATID').asstring)+''''); Open; end; SCreateCDS20(ADOQueryMain3,CDS_HZ3); SInitCDSData20(ADOQueryMain3,CDS_HZ3); end; end.