📄 wj_fujianview.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 + -