unit U_ZdyAttachment_CX; 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, cxDropDownEdit; type TfrmZdyAttachment_CX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; ZdyName: TEdit; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label1: TLabel; ZdyCode: TEdit; Label2: TLabel; DEFstr5: TEdit; DEFStr7: TEdit; Label4: TLabel; Label5: TLabel; KeFu: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column15: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column14: TcxGridDBColumn; v2ZdyNameYW: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column11: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column16: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; v2DefFlt1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column13: TcxGridDBColumn; v2QQ: TcxGridDBColumn; v2WeiXin: TcxGridDBColumn; v2Wangwang: TcxGridDBColumn; v2Email: TcxGridDBColumn; v2Note: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; DataSource1: TDataSource; Order_Sub: TClientDataSet; ADOQuery1: TADOQuery; TSsel: TToolButton; 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 ToolButton4Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure TBuserClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TDelClick(Sender: TObject); procedure TAddClick(Sender: TObject); procedure TSaveClick(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TSselClick(Sender: TObject); private { Private declarations } canshu1:string; procedure InitGrid(); public fkhType:string; Fmanage:string; end; var frmZdyAttachment_CX: TfrmZdyAttachment_CX; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInput,U_ZdyInput,U_FjList_RZ; {$R *.dfm} procedure TfrmZdyAttachment_CX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select * from KH_Zdy_Attachment where Type=''KHName'' '); if Trim(canshu1)<>'高权限' then begin sql.Add(' and( Filler='+quotedstr(trim(DName))); sql.Add(' Or DEFstr5='+quotedstr(trim(DName))); sql.Add(' Or KeFu='+quotedstr(trim(DName))); sql.Add(')'); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; end; procedure TfrmZdyAttachment_CX.FormDestroy(Sender: TObject); begin frmZdyAttachment_CX:=nil; end; procedure TfrmZdyAttachment_CX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmZdyAttachment_CX.TBCloseClick(Sender: TObject); begin WriteCxGrid('客户资料FM',Tv2,'客户自定义'); Close; end; procedure TfrmZdyAttachment_CX.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 where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); ExecSQL; end; end; CDS_HZ.Delete; end; procedure TfrmZdyAttachment_CX.FormShow(Sender: TObject); begin ReadCxGrid('客户资料FM',Tv2,'客户自定义'); InitGrid(); end; procedure TfrmZdyAttachment_CX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmZdyAttachment_CX.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 TfrmZdyAttachment_CX.ZdyNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmZdyAttachment_CX.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid2); // SelExportData(Tv2,ADOQueryMain,'客户资料列表'); end; procedure TfrmZdyAttachment_CX.ToolButton4Click(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 TfrmZdyAttachment_CX.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 TfrmZdyAttachment_CX.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 TfrmZdyAttachment_CX.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); end; procedure TfrmZdyAttachment_CX.TDelClick(Sender: TObject); begin if Order_Sub.IsEmpty then exit; if Order_Sub.FieldByName('ATSID').AsString<>'' then begin if application.MessageBox('确定要删行吗','提示',1)=2 then exit; with ADOQueryCmd do begin close; sql.Clear; sql.add('delete from KH_Zdy_Attachment_Sub '); sql.add('where ATSID='''+trim(Order_Sub.fieldbyname('ATSID').AsString)+''''); execsql; end; end; Order_Sub.Delete; end; procedure TfrmZdyAttachment_CX.TAddClick(Sender: TObject); begin with Order_Sub do begin append; post; end; end; procedure TfrmZdyAttachment_CX.TSaveClick(Sender: TObject); var MaxLX:string; begin if Order_Sub.IsEmpty then exit; if Application.MessageBox('确定要保存吗','提示',1)=2 then exit; with Order_Sub do begin first; while not eof do begin if fieldbyname('ATSID').AsString='' then begin if GetLSNo(ADOQueryCmd,MaxLX,'AS','KH_Zdy_Attachment_Sub',4,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else MaxLX:=trim(fieldbyname('ATSID').AsString); with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from KH_Zdy_Attachment_Sub '); sql.add('where ATSID='''+Trim(MaxLX)+''''); open; end; with ADOQuerycmd do begin if IsEmpty then append else edit; fieldbyname('ATSID').Value:=trim(MaxLx); fieldbyname('ATID').Value:=trim(CDS_HZ.fieldbyname('ATID').AsString); fieldbyname('filler').Value:=trim(DName); //SSetSaveDataCDS(ADOQuerycmd,TV1,Order_Sub,'KH_Zdy_Attachment_Sub',0); post; end; with Order_Sub do begin Edit; FieldByName('ATSID').Value:=Trim(MaxLx); end; next; end; end; Application.MessageBox('保存成功','提示'); end; procedure TfrmZdyAttachment_CX.ToolButton5Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin fkeyNO:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); fType:='合同'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmZdyAttachment_CX.Tv2FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin with ADOQuery1 do begin close; sql.Clear; sql.Add('select * from KH_Zdy_Attachment_Sub '); sql.Add('where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''''); open; end; SCreateCDS20(ADOQuery1,Order_Sub); SInitCDSData20(ADOQuery1,Order_Sub); end; procedure TfrmZdyAttachment_CX.TSselClick(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; ModalResult:=1; end; end.