⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wj_fujianview.pas

📁 完整的公司合同管理系统,基于ACSESS数据库开发,无须安装任何其他插件.附带源码.免费提供.
💻 PAS
字号:
unit WJ_FuJianView;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, ToolWin, ImgList, StdCtrls, DB, ADODB,
  Buttons,shellApi, Grids, DBGrids, Menus;

type
  TfrmWJ_FuJianView = class(TForm)
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    Panel2: TPanel;
    ImageList1: TImageList;
    Panel3: TPanel;
    Image1: TImage;
    ADOQuery1: TADOQuery;
    ListView1: TListView;
    ImageList2: TImageList;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton6: TSpeedButton;
    Bevel1: TBevel;
    Bevel2: TBevel;
    OpenDialog1: TOpenDialog;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    ToolBar2: TToolBar;
    Panel1: TPanel;
    ComboBox1: TComboBox;
    Panel4: TPanel;
    TreeView1: TTreeView;
    SpeedButton5: TSpeedButton;
    Bevel3: TBevel;
    ADOQuery2: TADOQuery;
    ImageList3: TImageList;
    Splitter1: TSplitter;
    Panel5: TPanel;
    SpeedButton7: TSpeedButton;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure ListView1Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure TreeView1Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
  private
    { Private declarations }
    StrL1 : TStringList;
    StrL : TStringList;
    tHtID : string;
    tHtName : string;
    Order : string; //'1'降序、‘2’升序

    procedure Init;
    procedure SetHtName(const HtName : string) ;
    procedure SetFjName(const FjName : string) ;
    procedure CreateTree ;
  public
    { Public declarations }
  end;

var
  frmWJ_FuJianView: TfrmWJ_FuJianView;

implementation
  uses pdm,pub,Pub_ChooseHT,WJ_FuJian_FJBH,WJ_FuJian_DaY;
{$R *.dfm}

procedure TfrmWJ_FuJianView.Init;
begin
  Label1.Caption:=''; Label2.Caption:='';
  Label3.Caption:=''; Label4.Caption:='';
  ComBobox1.Text:='';
  Order := '1';

  StrL := TStringList.Create;
  strL.Clear;
  StrL1 := TStringList.Create;
  strL1.Clear;

  Panel4.Visible := false;

end;

procedure TfrmWJ_FuJianView.FormCreate(Sender: TObject);
begin
  Init;
end;

procedure TfrmWJ_FuJianView.SetHtName(const HtName : string) ;
begin
  Label1.Caption:='合同名称 :';
  Label2.Caption:=HtName;
end;

procedure TfrmWJ_FuJianView.SetFjName(const FjName : string) ;
begin
  Label3.Caption:='附件名称 :';
  Label4.Caption:=FjName;

end;

procedure TfrmWJ_FuJianView.ListView1Click(Sender: TObject);
begin
  if Assigned(ListView1.Selected) then
     SetFjName(ListView1.Selected.Caption) ;
end;

procedure TfrmWJ_FuJianView.SpeedButton5Click(Sender: TObject);
   function Check(const HtName : string) : boolean ;
     var i : integer;
     begin
       result := true;
       for i:=0 to StrL.Count-1 do begin
         if SameText(StrL.Names[i],HtName) then begin
            result:=false;
            ComBobox1.Text := HtName;
            Abort;
         end;
       end;
     end;


var HtID,HtName : string;

begin
  if GetHtID(HtID,HtName) then  begin
     tHtID := HtID;
     tHtName := HtName;
     FuJian_ViewData(HtID,ADOQuery1,ListView1);
     SetHtName(HtName) ;

     if Check(HtName) then
        AddStringList(HtID , HtName ,StrL , ComBobox1);

  end ;
  SetFjName('') ;
  Label3.Caption:='';
end;

procedure TfrmWJ_FuJianView.SpeedButton1Click(Sender: TObject);
var FileDir ,FJBH: string;
begin
  if SameText(tHtID,'') then Exit;
  OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist];
  OpenDialog1.Title := '选择附件';
  OpenDialog1.Filter := 'Text files (*.doc)|*.doc|bmp (*.bmp)|*.bmp|All files (*.*)|*.*';
  OpenDialog1.FilterIndex := 3; { start the dialog showing all files }
  if OpenDialog1.Execute then
     begin
        if OpenDialog1.Files.Count>1 then
           begin
              application.MessageBox('对不起,一次只能添加一个附件!','提示',MB_OK+MB_ICONINFORMATION);
           end
        else
           begin
                FileDir := OpenDialog1.FileName;
                if  FuJian_GetFileName(FileDir) then
                    if EditFuJianBH(tHtID,FileDir,FJBH) then
                       if FuJian_PostInTable (tHtID,FileDir,FJBH,OpenDialog1.FileName,ADOTable1,ADOTable2) then
                          FuJian_ViewData(tHtID,ADOQuery1,ListView1);
           end;
     end;

end;

procedure TfrmWJ_FuJianView.SpeedButton2Click(Sender: TObject);
begin
  if Assigned(ListView1.Selected) then
     if FuJIan_DelteFile(tHtID,ListView1,ADOTable2,ADOQuery1) then
         FuJian_ViewData(tHtID,ADOQuery1,ListView1);

end;

procedure TfrmWJ_FuJianView.ListView1DblClick(Sender: TObject);
begin
   SpeedButton4.Click;
end;

procedure TfrmWJ_FuJianView.SpeedButton4Click(Sender: TObject);
var NewDir : string;
begin
  if Assigned(ListView1.selected) then
     begin
        NewDir := tHtID;
        if FuJian_GetSaveLocation(NewDir,adoTable2) then  begin
           shellExecute(handle,nil,pchar(NewDir+ListView1.Selected.Caption),nil,nil,SW_SHOWNORMAL);
        end else
            application.MessageBox('请先在“系统维护”中设置附件存取路径!','提示',MB_OK+MB_ICONSTOP);
     end;
end;

procedure TfrmWJ_FuJianView.SpeedButton3Click(Sender: TObject);
 var StrL : TStringList;
     HtID,HtName : string;
begin
  if SameText(tHtID,'') then begin
     if GetHtID(HtID,HtName) then
        FuJianPrint(HtID,HtName, StrL);
  end else
      FuJianPrint(tHtID,tHtName, StrL);
end;

procedure TfrmWJ_FuJianView.ComboBox1Change(Sender: TObject);
begin
  FuJian_ViewData(Strl.Values[ComboBox1.Text], ADOQuery1, ListView1) ;
  tHtID := Strl.Values[ComboBox1.Text];
  tHtName := ComboBox1.Text;
  SetHtName(tHtName) ;
  SetFjName('') ;
  Label3.Caption:='';
end;

{procedure TfrmWJ_FuJianView.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
  function SetDataOrder(const clmIndex : integer) : boolean;
    var FieldName : string;
    begin
      case clmIndex of
          0 : FieldName := 'FJMC';
          1 : FieldName := 'FJID';
          2 : FieldName := 'SHIJ';
      end;

      if Order<>'1' then begin
         FieldName := FieldName+' desc';
         Order := '1';
      end else begin
         FieldName := FieldName;
         Order := '2';
      end;


      with ADOQuery1 do
           begin
                Close;
                SQL.Strings[2]:=' order by '+#39+FieldName+#39;
                Prepared  ;
                Open;
           end;
      result := true;
    end;
begin
  if ADOQuery1.SQL.Text<>'' then
     if SetDataOrder(Column.Index) then
        FuJian_ListViewShowData(ADOQuery1,ListView1);
end;  }
procedure TfrmWJ_FuJianView.CreateTree ;
var sqltext : string;
    Node : TTreeNode;
begin
 if TreeView1.Items.Count>0 then
    TreeView1.Items.Delete(TreeView1.Items.GetFirstNode);
 sqltext := 'select distinct SORT from TAIZ' ;
 if HeTong_GetQueryData(sqltext,AdoQuery2) then
    if not AdoQuery2.IsEmpty then
       begin
          TreeView1.Items.AddFirst(nil,'所有项目');
          Node:=TreeView1.Items.GetFirstNode;
          with AdoQuery2 do
            begin
              First;
              while not Eof do
                begin
                  Node := TreeView1.Items.AddChild(TreeView1.Items.GetFirstNode,FieldByName('SORT').Asstring);
                  Node.ImageIndex:=1;
                  Node.SelectedIndex:=1;
                  TreeView1.Items.AddChild(Node,'1');
                  Next;
                end;
            end;
            TreeView1.Items.Item[0].Expand(true);
       end
    else
       begin
          Node := TreeView1.Items.AddFirst(nil,'所有项目');
          Node.ImageIndex:=0;
          Node.SelectedIndex:=0;
       end;


end;

procedure TfrmWJ_FuJianView.SpeedButton6Click(Sender: TObject);
begin
  if Panel4.Visible then begin
     Panel4.Visible := false;
     Panel4.Align := alNone;
  end else begin
     Panel4.Visible := true;
     Panel4.Align := alClient;
     CreateTree ;
  end;
end;

procedure TfrmWJ_FuJianView.TreeView1Expanding(Sender: TObject;
  Node: TTreeNode; var AllowExpansion: Boolean);
  procedure GetData(const Sort : string);
    var  sqltext : string;
    cnode : ttreenode;
    begin

     if Node.Level=1 then
       if Node.GetNext.Text='1' then begin
          TreeView1.Items.Delete(node.GetNext);
          sqltext := 'select ID,Name from TAIZ where SORT='+#39+Sort+#39 ;
           if HeTong_GetQueryData(sqltext,AdoQuery2) then
              if not AdoQuery2.IsEmpty then
                 with AdoQuery2 do
                      begin
                        First;
                        while not Eof do
                          begin
                             cnode := TreeView1.Items.AddChild(Node,FieldByName('Name').Asstring);
                             StrL1.Add(inttostr(cnode.AbsoluteIndex)+'='+FieldByName('ID').Asstring);
                             cNode.ImageIndex:=2;
                             cNode.SelectedIndex:=2;
                             Next;
                          end;
                      end;

       end;
    end;

begin

    GetData(Node.Text);

end;

procedure TfrmWJ_FuJianView.TreeView1Click(Sender: TObject);
var Node : TTreeNode;
begin
  Node := TreeView1.Selected;
  if Node.Level=2 then begin
       Node.ImageIndex:=2;
       Node.SelectedIndex:=3;

       tHtID := StrL1.Values[inttostr(Node.AbsoluteIndex)];
       tHtName := Node.Text;
       SetHtName(tHtName) ;
       FuJian_ViewData(tHtID,ADOQuery1,ListView1);
  end;
end;

procedure TfrmWJ_FuJianView.SpeedButton7Click(Sender: TObject);
begin
  panel4.Visible := false;
end;

procedure TfrmWJ_FuJianView.N1Click(Sender: TObject);
begin
  SpeedButton1.Click;
end;

procedure TfrmWJ_FuJianView.N2Click(Sender: TObject);
begin
  SpeedButton2.Click;
end;

procedure TfrmWJ_FuJianView.N4Click(Sender: TObject);
begin
  SpeedButton3.Click;
end;

procedure TfrmWJ_FuJianView.N5Click(Sender: TObject);
begin
  SpeedButton4.Click;
end;

procedure TfrmWJ_FuJianView.N7Click(Sender: TObject);
begin
  SpeedButton5.Click;
end;

procedure TfrmWJ_FuJianView.PopupMenu1Popup(Sender: TObject);
begin
  if Assigned(ListView1.selected) then
     begin
        N2.Enabled := true;
        N5.Enabled := true;
     end else begin
        N2.Enabled := false;
        N5.Enabled := false;


     end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -