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

📄 uuser.pas

📁 工廠倉庫管理系統
💻 PAS
字号:
unit uuser;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, ExtCtrls, Mask, Grids, DBGrids, RzTabs,
  ComCtrls, DB, ADODB, RzButton, FR_Class;

type
  Tfrmuser = class(TForm)
    TreeView1: TTreeView;
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Image1: TImage;
    Label6: TLabel;
    DBMemo1: TDBMemo;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery3: TADOQuery;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzBitBtn4: TRzBitBtn;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn6: TRzBitBtn;
    RzBitBtn7: TRzBitBtn;
    OpenPictureDialog1: TOpenDialog;
    DBEdit5: TDBEdit;
    ADOQuery3dh: TStringField;
    ADOQuery3xm: TStringField;
    ADOQuery3dw: TStringField;
    ADOQuery3password: TStringField;
    ADOQuery3jb: TStringField;
    ADOQuery3photo_file: TStringField;
    ADOQuery3zx: TStringField;
    ADOQuery3computer: TWideStringField;
    ADOQuery3node: TMemoField;
    ADOQuery3photo: TBlobField;
    frReport1: TfrReport;
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure RzBitBtn7Click(Sender: TObject);
    procedure RzBitBtn6Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure Image1DblClick(Sender: TObject);
    procedure TabSheet2Enter(Sender: TObject);
    procedure ADOQuery3RecordChangeComplete(DataSet: TCustomADODataSet;
      const Reason: TEventReason; const RecordCount: Integer;
      const Error: Error; var EventStatus: TEventStatus);
    procedure FormCreate(Sender: TObject);
    procedure RzBitBtn5Click(Sender: TObject);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
    DH:STRING;
    node:ttreenode;
    node1:ttreenode;
    addedit:boolean;
    kzm:string;
  public
    { Public declarations }
  end;

var
  frmuser: Tfrmuser;

implementation
uses uconst,ufunction,udm1,unit3,uphoto;
{$R *.dfm}

procedure Tfrmuser.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
case node.Level of
   0:
   strsql:='select * from sec order by dh asc';
   1:
   strsql:='select * from  sec where jb='+''''+trim(node.Text)+''''+' order by dh asc';
   2:
   strsql:='select * from sec where XM='+''''+trim(node.Text)+'''';
   end;
adoexect(adoquery3,strsql);
loadpicture(adoquery3,image1,trim(dbedit5.text),'photo');
end;

procedure Tfrmuser.RzBitBtn1Click(Sender: TObject);
begin
addedit:=true;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
treeview1.Enabled:=false;
TabSheet1.Enabled:=false;
image1.enabled:=true;
adoquery3.Append;
dh:='无';
RzPageControl1.ActivePageIndex:=1;
end;

procedure Tfrmuser.RzBitBtn2Click(Sender: TObject);
begin
if adoquery3.Recordset.eof and adoquery3.Recordset.BOF then exit;
addedit:=false;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
treeview1.Enabled:=false;
TabSheet1.Enabled:=false;
image1.enabled:=true;
adoquery3.Edit;
RzPageControl1.ActivePageIndex:=1;
TreeView1.Enabled:=false;
TabSheet1.Enabled:=false;
DH:=TRIM(DBEDIT1.Text);
end;

procedure Tfrmuser.RzBitBtn3Click(Sender: TObject);
var
i:integer;
begin
strsql:='select * from sec where dh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);
if addedit and not(adoquery1.Recordset.EOF and adoquery1.Recordset.bof) then
   begin
   messagebox(handle,'该帐号已经存在,请选用其他帐号!','警告',mb_ok+mb_iconwarning);
   exit;
   end;
if not addedit and not(adoquery1.Recordset.EOF and adoquery1.Recordset.bof) and (dh<>trim(dbedit1.Text)) then
   begin
   messagebox(handle,'该帐号已经存在,请选用其他帐号!','警告',mb_ok+mb_iconwarning);
   exit;
   end;
 savepicture(adoquery3,image1,kzm,'photo');
 RzBitBtn1.Enabled:=true;
 RzBitBtn2.Enabled:=true;
 RzBitBtn3.Enabled:=false;
 treeview1.Enabled:=true;
 TabSheet1.Enabled:=true;
 image1.enabled:=false;
 dbedit5.Text:='bmp';
 adoquery3.Post;
 strsql:='select * from user_qxsz where dh='+''''+dh+'''';
 adoexect(adoquery1,strsql);
 if addedit then
 begin
 adoquery1.Append;
 adoquery1.FieldByName('dh').AsString:=trim(dbedit1.Text);
 adoquery1.FieldByName('xqd_add').Value:=false;
 adoquery1.FieldByName('xqd_edit').Value:=false;
 adoquery1.FieldByName('xqd_del').Value:=false;
 adoquery1.FieldByName('xqd_print').Value:=false;
 adoquery1.FieldByName('jhd_add').Value:=false;
 adoquery1.FieldByName('jhd_edit').Value:=false;
 adoquery1.FieldByName('jhd_del').Value:=false;
 adoquery1.FieldByName('jhd_print').Value:=false;
 adoquery1.FieldByName('bjd_add').Value:=false;
 adoquery1.FieldByName('bjd_edit').Value:=false;
 adoquery1.FieldByName('bjd_del').Value:=false;
 adoquery1.FieldByName('bjd_print').Value:=false;
 adoquery1.FieldByName('cgdd_add').Value:=false;
 adoquery1.FieldByName('cgdd_edit').Value:=false;
 adoquery1.FieldByName('cgdd_del').Value:=false;
 adoquery1.FieldByName('cgdd_print').Value:=false;
 adoquery1.FieldByName('thd_add').Value:=false;
 adoquery1.FieldByName('thd_edit').Value:=false;
 adoquery1.FieldByName('thd_del').Value:=false;
 adoquery1.FieldByName('thd_print').Value:=false;
 adoquery1.FieldByName('fld_add').Value:=false;
 adoquery1.FieldByName('fld_edit').Value:=false;
 adoquery1.FieldByName('fld_del').Value:=false;
 adoquery1.FieldByName('fld_print').Value:=false;
 adoquery1.FieldByName('shd_add').Value:=false;
 adoquery1.FieldByName('shd_edit').Value:=false;
 adoquery1.FieldByName('shd_del').Value:=false;
 adoquery1.FieldByName('shd_print').Value:=false;
 adoquery1.FieldByName('bfd_add').Value:=false;
 adoquery1.FieldByName('bfd_edit').Value:=false;
 adoquery1.FieldByName('bfd_del').Value:=false;
 adoquery1.FieldByName('bfd_print').Value:=false;
 adoquery1.FieldByName('hld_add').Value:=false;
 adoquery1.FieldByName('hld_edit').Value:=false;
 adoquery1.FieldByName('hld_del').Value:=false;
 adoquery1.FieldByName('hld_print').Value:=false;
 adoquery1.FieldByName('bsd_add').Value:=false;
 adoquery1.FieldByName('bsd_edit').Value:=false;
 adoquery1.FieldByName('bsd_del').Value:=false;
 adoquery1.FieldByName('bsd_print').Value:=false;
 adoquery1.FieldByName('pdd_add').Value:=false;
 adoquery1.FieldByName('pdd_edit').Value:=false;
 adoquery1.FieldByName('pdd_del').Value:=false;
 adoquery1.FieldByName('pdd_print').Value:=false;
 adoquery1.FieldByName('xqwltj').Value:=false;
 adoquery1.FieldByName('cgwltj').Value:=false;
 adoquery1.FieldByName('wlrktj').Value:=false;
 adoquery1.FieldByName('wlcktj').Value:=false;
 adoquery1.FieldByName('jbzl_add').Value:=false;
 adoquery1.FieldByName('jbzl_edit').Value:=false;
 adoquery1.FieldByName('jbzl_del').Value:=false;
 adoquery1.FieldByName('jbzl_print').Value:=false;
 adoquery1.FieldByName('user_add').Value:=false;
 adoquery1.FieldByName('user_edit').Value:=false;
 adoquery1.FieldByName('user_del').Value:=false;
 adoquery1.FieldByName('bom_add').Value:=false;
 adoquery1.FieldByName('bom_edit').Value:=false;
 adoquery1.FieldByName('bom_del').Value:=false;
 adoquery1.FieldByName('bom_print').Value:=false;
 adoquery1.FieldByName('ddk_add').Value:=false;
 adoquery1.FieldByName('ddk_edit').Value:=false;
 adoquery1.FieldByName('ddk_del').Value:=false;
 adoquery1.FieldByName('company').Value:=false;
 adoquery1.FieldByName('date_ys').Value:=false;
 adoquery1.FieldByName('date_clean').Value:=false;
 adoquery1.FieldByName('date_restore').Value:=false;
 adoquery1.FieldByName('date_bak').Value:=false;
 adoquery1.FieldByName('gzd_print').Value:=false;
 adoquery1.FieldByName('dgdshqk').Value:=false;
 adoquery1.FieldByName('bom_print').Value:=false;
 adoquery1.FieldByName('wlfp_print').Value:=false;
 adoquery1.FieldByName('wlfp_edit').Value:=false;
 adoquery1.FieldByName('wlfp_del').Value:=false;
 adoquery1.FieldByName('cgdd_shhe').Value:=false;
 adoquery1.FieldByName('jhd_shhe').Value:=false;
 adoquery1.FieldByName('wljctj').Value:=false;
 adoquery1.Post;
 end else begin
 adoquery1.Edit;
 adoquery1.FieldByName('dh').AsString:=trim(dbedit1.Text);
 adoquery1.Post;
 end;
 if dh=userid then
 userid:=trim(dbedit1.Text);
 TreeView1.Enabled:=true;
 TabSheet1.Enabled:=true;
 FormShow(self);

end;

procedure Tfrmuser.FormShow(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
strsql:='select distinct jb from sec order by jb asc';
adoexect(adoquery1,strsql);
if not(adoquery1.Recordset.eof and adoquery1.Recordset.BOF) then
   begin
       adoquery1.First;
       treeview1.Items.Clear;
       node:=treeview1.Items.AddFirst(nil,'操作员帐号列表');
       while not adoquery1.Eof do
        begin
              node1:=treeview1.Items.AddChild(node,trim(adoquery1.fieldbyname('jb').AsString));
              strsql:='select * from sec where jb='+''''+trim(adoquery1.fieldbyname('jb').AsString)+''''+'order by dh asc';
              adoexect(adoquery2,strsql);
              if not(adoquery2.Recordset.eof and adoquery2.Recordset.BOF) then
                 begin
                    adoquery2.First;
                    while not adoquery2.Recordset.EOF do
                    begin
                    treeview1.Items.AddChild(node1,trim(adoquery2.fieldbyname('xm').AsString));
                    adoquery2.Next;
                    end;
                 end;
              adoquery1.Next;
       end;
   end;
adoquery1.Close;
adoquery2.Close;
end;

procedure Tfrmuser.RzBitBtn4Click(Sender: TObject);
begin
if adoquery3.Recordset.eof and adoquery3.Recordset.BOF then exit;
strsql:='delete from user_qxsz where dh='+''''+trim(dbedit1.Text)+'''';
adodel(adoquery2,strsql);
adoquery3.Delete;
 FormShow(self);
end;

procedure Tfrmuser.RzBitBtn7Click(Sender: TObject);
begin
close;
end;

procedure Tfrmuser.RzBitBtn6Click(Sender: TObject);
begin
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
treeview1.Enabled:=true;
TabSheet1.Enabled:=true;
image1.enabled:=false;
adoquery3.CancelUpdates;
end;

procedure Tfrmuser.DBGrid1DblClick(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=1;
end;

procedure Tfrmuser.Image1DblClick(Sender: TObject);
var
i:integer;
begin
if OpenPictureDialog1.Execute then begin
image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
i:=pos('.',OpenPictureDialog1.FileName);
kzm:=copy(OpenPictureDialog1.FileName,i+1,length(OpenPictureDialog1.FileName)-i);
dbedit5.text:=kzm;
end;
end;

procedure Tfrmuser.TabSheet2Enter(Sender: TObject);
begin
loadpicture(adoquery3,image1,trim(dbedit5.text),'photo');
end;

procedure Tfrmuser.ADOQuery3RecordChangeComplete(
  DataSet: TCustomADODataSet; const Reason: TEventReason;
  const RecordCount: Integer; const Error: Error;
  var EventStatus: TEventStatus);
begin
loadpicture(adoquery3,image1,trim(dbedit5.text),'photo');
end;

procedure Tfrmuser.FormCreate(Sender: TObject);
begin
DBComboBox1.Items.Clear;
DBComboBox1.Items.add('系统维护');
DBComboBox1.Items.add('生产部');
DBComboBox1.Items.add('采购部');
DBComboBox1.Items.add('货仓部');
end;

procedure Tfrmuser.RzBitBtn5Click(Sender: TObject);
begin
form3.frDBDataSet1.dataset:=adoquery3;
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
form3.frReport1.LoadFromFile(strpath+'/report/user.frf');
frVariables['username']:=username;
form3.frReport1.Preview := Form3.frPreview1;
if form3.frReport1.PrepareReport then
  begin
    form3.frReport1.ShowPreparedReport;
  end;
form3.ShowModal;
end;

procedure Tfrmuser.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if button=mbright then begin
frmphoto:=tfrmphoto.Create(self);
frmphoto.Image1.Picture:=image1.Picture;
frmphoto.Show;
end;
end;

end.

⌨️ 快捷键说明

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