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

📄 frmwlcplb.pas

📁 工廠採購管理系統
💻 PAS
字号:
unit frmwlcplb;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, RzPanel, RzSplit, Grids, DBGrids,
  RzDBGrid, ImgList, DB, ADODB;

type
  Tufrmwlcplb = class(TForm)
    RzSizePanel1: TRzSizePanel;
    Panel1: TPanel;
    TreeView1: TTreeView;
    Panel2: TPanel;
    Panel3: TPanel;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label1: TLabel;
    editid: TEdit;
    editclass: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button4: TButton;
    Button3: TButton;
    GroupBox2: TGroupBox;
    Label4: TLabel;
    Label3: TLabel;
    comcxxm: TComboBox;
    editcxz: TEdit;
    Button5: TButton;
    GroupBox3: TGroupBox;
    ImageList1: TImageList;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    RzDBGrid1: TRzDBGrid;
    ADOQuery2: TADOQuery;
    Button6: TButton;
    ADOQuery3: TADOQuery;
    ADOQuery4: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure createid(adoquery1:tadoquery);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure RzDBGrid1CellClick(Column: TColumn);
    procedure Button6Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
      var AllowCollapse: Boolean);
      procedure deletedate(id:string);
    procedure TreeView1Expanded(Sender: TObject; Node: TTreeNode);
    procedure TreeView1Collapsed(Sender: TObject; Node: TTreeNode);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
     strsql:string;
     addedit:boolean;
     id:string;
     child:string;
     titlename:string;
     basename:string;

  public
    { Public declarations }
    dbname:string;
  end;

var
  ufrmwlcplb: Tufrmwlcplb;

implementation
uses uconst,unit_treepublic,ufunction;
{$R *.dfm}
procedure tufrmwlcplb.createid(adoquery1:tadoquery);
var
id:integer;
begin
if adoquery1.Recordset.EOF and adoquery1.Recordset.bof then begin
   editid.Text:='1000';
   exit;
end;
adoquery1.last;
id:=strtoint(trim(adoquery1.fieldbyname('id').AsString))+1;
editid.Text:=inttostr(id);
end;
procedure Tufrmwlcplb.FormCreate(Sender: TObject);
begin
dbname:=dbase;
titlename:=title;
button1.Enabled:=true;
button1.Enabled:=true;
button3.Enabled:=true;
button4.Enabled:=false;
button6.Enabled:=false;

comcxxm.Items.Add('类别代码');
comcxxm.Items.Add('类别名称');
comcxxm.Items.Add('父类别代码');
strsql:='select * from '+ dbname +' order by id asc';
adoexect(adoquery1,strsql);
maketree(adoquery1,dbname,treeview1,titlename);

end;

procedure Tufrmwlcplb.Button1Click(Sender: TObject);
begin
if not qxjc(userid,'jbzl_add') then exit;
if treeview1.Items.Count>0  then begin
if child='' then  begin
  if Messagebox(handle,'是否添加基类?','警告',MB_yesno+MB_ICONwarning)=idyes then
     child:='root'
  else
     exit;
 end;
end;
button1.Enabled:=false;
button2.Enabled:=false;
button6.Enabled:=true;
button4.Enabled:=true;
addedit:=true;
editid.Text:='';
editclass.text:='';
editid.Enabled:=true;
editclass.Enabled:=true;
TreeView1.Enabled:=false;
strsql:='select * from '+ dbname +' order by id asc';
adoexect(adoquery3,strsql);
createid(adoquery3);
editclass.SetFocus;
end;

procedure Tufrmwlcplb.Button2Click(Sender: TObject);
begin
if not qxjc(userid,'jbzl_edit') then exit;
button1.Enabled:=false;
button2.Enabled:=false;
button6.Enabled:=true;
button4.Enabled:=true;
id:=trim(editclass.Text);
addedit:=false;
editid.Enabled:=true;
editclass.Enabled:=true;
TreeView1.Enabled:=false;
editclass.SetFocus;
end;

procedure Tufrmwlcplb.Button4Click(Sender: TObject);
begin
if id=trim(editclass.text) then begin
exit;
end;
strsql:='select * from '+dbname+' where classname='+''''+trim(editclass.Text)+'''';
adoexect(adoquery2,strsql);
if adoquery2.Recordset.EOF and adoquery2.Bof then begin
   if addedit then begin
      if child<>'' then begin
          adoquery2.Append;
          adoquery2.FieldByName('child').AsString:=child;
          adoquery2.FieldByName('id').AsString:=trim(editid.Text);
          adoquery2.FieldByName('classname').AsString:=trim(editclass.Text);
          if child='root' then
          adoquery2.FieldByName('jb').AsString:='1'
          else
          adoquery2.FieldByName('jb').AsString:='2';
          adoquery2.Post;
          end;
      end else begin
           strsql:='select * from '+dbname+' where classname='+''''+id+'''';
           adoexect(adoquery3,strsql);
            adoquery3.Edit;
           adoquery3.FieldByName('classname').AsString:=trim(editclass.Text);
           adoquery3.Post;
           if (dbase='wllb') then basename:='wldmk' else basename:='cpdmk';
           if  (adoquery3.FieldByName('jb').AsString='1') then
               strsql:='update '+ basename+' set bigclass='+''''+trim(editclass.Text)+''''+' where bigclass='+''''+id+''''
           else
               strsql:='update '+ basename+' set smallclass='+''''+trim(editclass.Text)+''''+' where smallclass='+''''+id+'''';
            showmessage(strsql);
           adodel(adoquery3,strsql);
      end;
   end else begin
        application.MessageBox('该类别已经存在!','警告',mb_ok+mb_iconinformation);
        exit;
end;
TreeView1.Enabled:=true;
if addedit then
   addtreenode(adoQuery2,TreeView1,true)
else
   treeview1.Selected.Text:=trim(editclass.text);
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=false;
button6.Enabled:=false;
editclass.Enabled:=false;

end;

procedure Tufrmwlcplb.RzDBGrid1CellClick(Column: TColumn);
var
i:integer;
begin
if adoquery1.Recordset.eof and adoquery1.Recordset.BOF then  exit;
   editid.Text:=adoquery1.fieldbyname('id').AsString;
   editclass.text:=adoquery1.fieldbyname('classname').AsString;
   child:=trim(editid.Text);
end;

procedure Tufrmwlcplb.Button6Click(Sender: TObject);
begin
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=false;
button6.Enabled:=false;
TreeView1.Enabled:=true;
editclass.Enabled:=false;
end;

procedure Tufrmwlcplb.Button3Click(Sender: TObject);
var
id:string;
begin
if (editclass.enabled=true) then exit;
if not qxjc(userid,'jbzl_del') then exit;
if adoquery1.Recordset.eof and adoquery1.Recordset.BOF then exit;
   id:=trim(editid.Text);
    deletedate(id);
    treeview1.Selected.Delete;
    treeview1.Refresh;
end;
procedure tufrmwlcplb.deletedate(id:string);
var
i:integer;
begin
strsql:='select * from '+dbname+' where child='+''''+id+'''';
adoexect(adoquery2,strsql);
strsql:='delete from '+dbname+' where id='+''''+id+'''';
adodel(adoquery3,strsql);
if not(adoquery2.Eof and adoquery2.Bof) then
   begin
   adoquery2.First;
   while not adoquery2.Eof do
        begin
        deletedate(adoquery2.fieldbyname('id').AsString);
        adoquery2.Next;
        end;
   end;
end;
procedure Tufrmwlcplb.Button5Click(Sender: TObject);
var
cx:string;
begin
case comcxxm.ItemIndex of
     -1:
begin
      application.MessageBox('请先选择查询类别','提示',mb_ok+mb_iconwarning);
      exit;
end;
     0:cx:='id';
     1:cx:='classname';
     2:cx:='child';
end;
strsql:='select * from '+dbname+' where '+cx+' ='+''''+trim(editcxz.text)+'''';
adoexect(adoquery1,strsql);
if adoquery1.Recordset.eof and adoquery1.Recordset.bof then
   messagebox(handle,'没有查询到相关的记录!','警告',mb_ok+mb_iconwarning);
   adoquery1.requery();
end;

procedure Tufrmwlcplb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure Tufrmwlcplb.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
begin
node.ImageIndex:=1;
end;

procedure Tufrmwlcplb.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
  var AllowCollapse: Boolean);
begin
node.ImageIndex:=0;
end;

procedure Tufrmwlcplb.TreeView1Expanded(Sender: TObject; Node: TTreeNode);
begin
node.ImageIndex:=1;
end;

procedure Tufrmwlcplb.TreeView1Collapsed(Sender: TObject; Node: TTreeNode);
begin
node.ImageIndex:=0;
end;

procedure Tufrmwlcplb.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
case node.Level of
   0:
   strsql:='select * from '+dbname+' order by classname asc';
   1:
   strsql:='select * from '+dbname+' where child=(select id from '+dbname+' where classname='+
   ''''+trim(node.Text)+''''+') or classname='+''''+trim(node.Text)+''''+'order by classname asc';
   2:
   strsql:='select * from '+dbname+' where classname='+''''+trim(node.text)+'''';
   end;
adoexect(adoquery1,strsql);
if node.Level=0 then child:='root';
if (adoquery1.Recordset.EOF and adoquery1.Recordset.BOF) or (node.level=0) then exit;
strsql:='select * from '+dbname+' where classname='+''''+trim(node.text)+'''';
adoexect(adoquery3,strsql);
editid.Text:=adoquery3.fieldbyname('id').AsString;
editclass.Text:=adoquery3.fieldbyname('classname').AsString;
child:=trim(adoquery3.fieldbyname('id').AsString);
adoquery3.Close;
end;

end.

⌨️ 快捷键说明

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