unit U_WorkDeptList_XJGL; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, cxCalendar, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, cxButtonEdit, cxPC, StdCtrls, ExtCtrls; type TFrmWorkDeptList_XJGL = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; ToolButton2: TToolButton; TFK: TToolButton; TDSFK: TToolButton; TSel: TToolButton; TBExport: TToolButton; TBClose: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1LYDate: TcxGridDBColumn; v1LYName: TcxGridDBColumn; v1LYMoney: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Order_Main: TClientDataSet; ADOQueryMain: TADOQuery; DataSource1: TDataSource; ADOQueryDel: TADOQuery; v1PriceUnit: TcxGridDBColumn; TCHK: TToolButton; TNOChk: TToolButton; cxTabControl1: TcxTabControl; Panel1: TPanel; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; procedure TBExportClick(Sender: TObject); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure TFKClick(Sender: TObject); procedure TDSFKClick(Sender: TObject); procedure TSelClick(Sender: TObject); procedure TCHKClick(Sender: TObject); procedure TNOChkClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); private procedure initGrid(); procedure SetStatus(); { Private declarations } public { Public declarations } end; var FrmWorkDeptList_XJGL: TFrmWorkDeptList_XJGL; implementation uses U_ZDYHelp,U_RTfun,U_DataLink; {$R *.dfm} procedure TFrmWorkDeptList_XJGL.SetStatus(); begin TDSFK.Visible:=False; TFK.Visible:=False; tSel.Visible:=False; Tchk.Visible:=False; tNochk.Visible:=False; if trim(DParameters1)='高权限' then begin case cxTabControl1.TabIndex of 0:begin //TFK.Visible:=True; Tchk.Visible:=True; //TDSFK.Visible:=true; //Tsel.Visible:=True; end; 1:begin Tnochk.Visible:=true; end; 2:begin end; end; end else begin case cxTabControl1.TabIndex of 0:begin TFK.Visible:=true; TDSFK.Visible:=true; Tsel.Visible:=True; end; 1:begin end; 2:begin end; end; end; end; procedure TFrmWorkDeptList_XJGL.initGrid(); begin with ADOQueryMain do begin close; sql.Clear; sql.Add('select * from Worker_Fee_LK '); sql.add('where LYDate>='''+formatdatetime('yyyy-MM-dd',BegDate.DateTime)+''' '); sql.add('and LYDate<'''+formatdatetime('yyyy-MM-dd',EndDate.DateTime+1)+''''); if cxTabControl1.TabIndex=0 then begin sql.add('and ChkStatus=''0'' '); end; if cxtabControl1.TabIndex=1 then begin sql.add('and ChkStatus=''1'' '); end; open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TFrmWorkDeptList_XJGL.TBExportClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; TcxGridToExcel('现金管理',cxGrid1); end; procedure TFrmWorkDeptList_XJGL.v1Column1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PriceUnit'; flagname:='币种'; if ShowModal=1 then begin with Order_Main do begin edit; fieldbyname('PriceUnit').AsString:=trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TFrmWorkDeptList_XJGL.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TFrmWorkDeptList_XJGL.ToolButton2Click(Sender: TObject); begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TFrmWorkDeptList_XJGL.cxTabControl1Change(Sender: TObject); begin SetStatus(); initGrid(); end; procedure TFrmWorkDeptList_XJGL.FormShow(Sender: TObject); begin ReadCxGrid('领用报销金',Tv1,'费用管理'); endDate.Date:=SGetServerDate(ADOQueryDel); BegDate.Date:=EndDate.Date-15; cxGrid1.Align:=alClient; SetStatus(); InitGrid(); end; procedure TFrmWorkDeptList_XJGL.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TFrmWorkDeptList_XJGL.FormDestroy(Sender: TObject); begin FrmWorkDeptList_XJGL:=nil; end; procedure TFrmWorkDeptList_XJGL.TFKClick(Sender: TObject); begin with Order_Main do begin append; fieldbyname('LYName').AsString:=trim(DName); fieldbyname('LYDate').Value:=SGetServerDate(ADOQueryDel); post; end; end; procedure TFrmWorkDeptList_XJGL.TDSFKClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if application.MessageBox('确定要删除吗','提示',1)=2 then exit; with ADOQueryDel do begin close; sql.Clear; sql.Add('delete from Worker_Fee_LK '); sql.add('where LKID='''+trim(Order_Main.fieldbyname('LKID').asstring)+''' '); execsql; end; Order_Main.Delete; end; procedure TFrmWorkDeptList_XJGL.TSelClick(Sender: TObject); var maxno: string; begin if order_Main.IsEmpty then exit; if Order_main.Locate('PriceUnit','',[])=True then begin application.MessageBox('币种不能为空','提示'); exit; end; try if Order_main.FieldByName('LKID').AsString='' then begin if GetLSNo(ADOQueryMain,maxno,'LK','Worker_Fee_LK',4,1)=False then begin Application.MessageBox('自动生成失败!','提示',0); Exit; end; end else Maxno:=trim(Order_main.FieldByName('LKID').AsString); with ADOQueryMain do begin close; sql.Clear; sql.add('select * from Worker_Fee_LK '); sql.add('where LKID='''+trim(Order_Main.fieldbyname('LKID').AsString)+''' '); open; if isempty then begin append; fieldbyname('fillTime').Value:=SGetServerDate(ADOQueryDel); fieldbyname('Filler').value:=Trim(DName); end else edit; fieldbyname('LKID').AsString:=trim(Maxno); RTSetSaveDataCDS(ADOQueryMain,Tv1,Order_Main,'Worker_Fee_LK',0); fieldbyname('LYMoney').Value:=Order_Main.fieldbyname('LYMoney').AsFloat; fieldbyname('Chkstatus').AsString:='0'; post; end; application.MessageBox('保存成功','提示'); initGrid(); except; application.MessageBox('保存失败','提示',0); exit; end; end; procedure TFrmWorkDeptList_XJGL.TCHKClick(Sender: TObject); begin try with ADOQueryMain do begin close; sql.Clear; sql.Add('Update Worker_Fee_LK set Chker='''+trim(Dname)+''',Chktime=getdate(),chkstatus=''1'' '); sql.add('where LKID='''+trim(Order_Main.fieldbyname('LKID').AsString)+''''); execsql; end; application.MessageBox('审核成功','提示'); initGrid(); except; application.MessageBox('审核失败','提示'); end; end; procedure TFrmWorkDeptList_XJGL.TNOChkClick(Sender: TObject); begin try with ADOQueryMain do begin close; sql.Clear; sql.Add('Update Worker_Fee_LK set Chker='''',Chktime=null,chkstatus=''0'' '); sql.add('where LKID='''+trim(Order_Main.fieldbyname('LKID').AsString)+''''); execsql; end; application.MessageBox('撤销成功','提示'); initGrid(); except; application.MessageBox('撤销失败','提示'); end; end; procedure TFrmWorkDeptList_XJGL.TBCloseClick(Sender: TObject); begin WriteCxGrid('领用报销金',TV1,'费用报销管理'); Close; end; end.