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

📄 ucustom.pas

📁 是个办公系统,可以实现财务上的管理和人员的流动
💻 PAS
字号:
unit Ucustom;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, Grids, DBGrids, ImgList,
  Menus, Mask, DBCtrls;

type
  TfrmCustomer = class(TForm)
    Panel2: TPanel;
    Splitter1: TSplitter;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    bbtnNew: TBitBtn;
    bbtnModify: TBitBtn;
    bbtnDel: TBitBtn;
    bbtnExit: TBitBtn;
    ImageList1: TImageList;
    GroupBox4: TGroupBox;
    DBGrid3: TDBGrid;
    PopupMenu1: TPopupMenu;
    A1: TMenuItem;
    B1: TMenuItem;
    C1: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N8: TMenuItem;
    GroupBox5: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    TreeView1: TTreeView;
    HeaderControl1: THeaderControl;
    ComboBox1: TComboBox;
    Edit8: TEdit;
    DBEdit4: TDBEdit;
    DBEdit9: TDBEdit;
    DBGrid2: TDBGrid;
    bbtnShowAll: TBitBtn;
    procedure bbtnNewClick(Sender: TObject);
    procedure bbtnModifyClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure bbtnDelClick(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure B1Click(Sender: TObject);
    procedure C1Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure bbtnShowAllClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmCustomer: TfrmCustomer;

implementation

uses MyData, Ufamily, Uconnact, UtodayWorkRecord, UcustomerAdd,
  UcustomerUpdate;

{$R *.dfm}

procedure TfrmCustomer.bbtnNewClick(Sender: TObject);
begin
  frmCustomerAdd.Show;
end;

procedure TfrmCustomer.bbtnModifyClick(Sender: TObject);
begin
  if self.DBGrid1.DataSource.DataSet.IsEmpty then
   begin
    ShowMessage('没有要修改的记录,请选择记录后再试!');
    Exit;
   end
  else
  begin
    frmCustomerUpdate.Show;
  end;
end;

procedure TfrmCustomer.bbtnExitClick(Sender: TObject);
begin
  close;
end;

procedure TfrmCustomer.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure TfrmCustomer.ComboBox1DropDown(Sender: TObject);
begin
  ComboBox1.Items.Clear;
  with dm.AQCustName do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct DeptName from Customers');
    open;

    first;
    while not Eof do
    begin
      ComboBox1.Items.Add(FieldValues['DeptName']);
      next;
    end;
  end;
end;

procedure TfrmCustomer.FormShow(Sender: TObject);
var
   node1,node2 :TTreeNode;
   secoder :string;
   first:string;
   kind:string ;
begin
  ComboBox1.Text :='';
  TreeView1.Items.Clear;
  with dm.AQCustName do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct Intension from Customers');
    open;
  end;
  dm.AQCustName.First;
  while not dm.AQCustName.Eof do
  begin
    first:= dm.AQCustName.fieldbyname('Intension').AsString;
    node1:=treeview1.Items.AddChild(nil,first);
    node1.ImageIndex :=0;
    node1.SelectedIndex :=0;
    node1.StateIndex :=-1;
    kind:=first;
    with dm.AQDeptName do
    begin
      close;
      sql.Clear;
      sql.Add('select distinct DeptName from Customers where Intension='''+kind+'''');
      open;
    end;
    dm.AQDeptName.First;
    while not dm.AQDeptName.Eof do
    begin
      secoder:=dm.AQDeptName.fieldbyname('DeptName').AsString;
      node2 :=treeview1.Items.AddChild(node1,secoder);
      node2.ImageIndex :=1;
      node2.SelectedIndex :=1;
      node2.StateIndex :=-1;
      dm.AQDeptName.Next;
    end;
    dm.AQCustName.Next;
  end;

end;

procedure TfrmCustomer.TreeView1Click(Sender: TObject);
begin
  if treeview1.Selected.Level=0 then
  begin
    with dm.AQCustInfo do
    begin
      close;
      sql.Clear;
      sql.Add('select * from Customers where Intension='''+treeview1.Selected.Text+'''');
      open;
      dm.ATCustInfo.Clone(dm.AQCustInfo);
    end;
  end
  else
  begin
    with dm.AQCustInfo do
    begin
      close;
      sql.Clear;
      sql.Text :='select * from Customers where  DeptName='''+treeview1.Selected.Text+''' '+
      ' and Intension='''+TreeView1.Selected.Parent.Text+'''';
      open;
      dm.ATCustInfo.Clone(dm.AQCustInfo);
    end;
  end;
end;

procedure TfrmCustomer.ComboBox1Change(Sender: TObject);
var
  Tempstr:string;
  i:integer;
begin
  TempStr:=Trim(ComboBox1.Text);
  if TreeView1.Items.GetFirstNode.Text=TempStr then
  begin
    TreeView1.Items.GetFirstNode.Selected:=True;
  end
  else
  begin
    for i:=1 to TreeView1.Items.Count do
    begin
      if TreeView1.Items.Item[i].Text=TempStr then
      begin
        TreeView1.SetFocus;
        TreeView1.Items.Item[i].Selected :=True;
        Break;
      end
      else
        Continue;
    end;
  end;
end;

procedure TfrmCustomer.N1Click(Sender: TObject);
begin
  bbtnNew.Click;
end;

procedure TfrmCustomer.N2Click(Sender: TObject);
begin
  bbtnModify.Click;
end;

procedure TfrmCustomer.N3Click(Sender: TObject);
begin
  bbtnDel.Click;
end;

procedure TfrmCustomer.N9Click(Sender: TObject);
begin
  frmFamily.bbtnAdd.Click;
  frmFamily.Show;
end;

procedure TfrmCustomer.bbtnDelClick(Sender: TObject);
var
  Customerid,CustomerName:string;
begin
  Customerid :=dm.ATCustInfo.FieldByName('CustomerID').AsString;
  CustomerName:=dm.ATCustInfo.fieldbyname('Cusname').AsString;
  if self.DBGrid1.DataSource.DataSet.IsEmpty then
    begin
     ShowMessage('没有要删除的记录,请选择记录后再试!');
     Exit;
    end
  else  if MessageBox(self.Handle,'将删除与该客户的项目和家庭成员信息,确定吗?','警告',MB_OKCANCEL+MB_ICONWARNING+MB_DefButton2)=IDOk then
  begin
    dm.ATCustInfo.Delete;
    with dm.AQItems do
     begin
      close;
      sql.Clear;
      sql.Add('delete from ProjectItem where Customname='''+CustomerName+'''');
      ExecSQL;
     end;
    with dm.AQCustInfo do
     begin
      close;
      sql.Clear;
      sql.Add('delete from Family where CustomerID='''+Customerid+'''');
      ExecSQL;
     end;
    with dm.AQService do
     begin
       close;
       sql.Clear;
       sql.Add('delete from Service where SerName='''+CustomerName+'''');
       ExecSQL;
     end;
  end;
end;

procedure TfrmCustomer.A1Click(Sender: TObject);
var
  CustomerId :string;
begin
  CustomerId :=dm.ATCustInfo.FieldValues['CustomerID'];
  try
    if Application.MessageBox('您确实要把此客户移到A区吗?','系统提示',MB_YESNO)=6 then
    begin
      with dm.AQCustInfo do
      begin
        close;
        sql.Clear;
        sql.Text :='update Customers set Intension=''一定''  where CustomerID='''+CustomerId+'''';
        ExecSql;
      end;
    showmessage('成功移动到A区!');
    self.FormShow(Sender);
    end;
  except
    showmessage('移动到A区失败!');
  end;
end;

procedure TfrmCustomer.B1Click(Sender: TObject);
var
  CustomerId :string;
begin
  CustomerId :=dm.ATCustInfo.FieldValues['CustomerID'];
  try
    if Application.MessageBox('您确实要把此客户移到B区吗?','系统提示',MB_YESNO)=6 then
    begin
      with dm.AQCustInfo do
      begin
        close;
        sql.Clear;
        sql.Text :='update Customers set Intension=''初定''  where CustomerID='''+CustomerId+'''';
        ExecSql;
      end;
    showmessage('成功移动到B区!');
    self.FormShow(Sender);
    end;
  except
    showmessage('移动到B区失败!');
  end;
end;

procedure TfrmCustomer.C1Click(Sender: TObject);
var
  CustomerId :string;
begin
  CustomerId :=dm.ATCustInfo.FieldValues['CustomerID'];
  try
    if Application.MessageBox('您确实要把此客户移到C区吗?','系统提示',MB_YESNO)=6 then
    begin
      with dm.AQCustInfo do
      begin
        close;
        sql.Clear;
        sql.Text :='update Customers set Intension=''待定''  where CustomerID='''+CustomerId+'''';
        ExecSql;
      end;
    showmessage('成功移动到C区!');
    self.FormShow(Sender);
    end;
  except
    showmessage('移动到C区失败!');
  end;
end;

procedure TfrmCustomer.N6Click(Sender: TObject);
var
  CustomerId :string;
begin
  CustomerId :=dm.ATCustInfo.FieldValues['CustomerID'];
  try
    if Application.MessageBox('您确实要把此客户移到公共区域吗?','系统提示',MB_YESNO)=6 then
    begin
      with dm.AQCustInfo do
      begin
        close;
        sql.Clear;
        sql.Text :='update Customers set Intension=''公共区域''  where CustomerID='''+CustomerId+'''';
        ExecSql;
      end;
    showmessage('成功移动到公共区域!');
    self.FormShow(Sender);
    end;
  except
    showmessage('移动到公共区域失败!');
  end;
end;

procedure TfrmCustomer.N7Click(Sender: TObject);
begin
  frmContact.Show;
end;

procedure TfrmCustomer.DBGrid2DblClick(Sender: TObject);
begin
 if DBGrid2.DataSource.DataSet.IsEmpty then
  Exit
 else
  frmContact.Show;
end;

procedure TfrmCustomer.DBGrid1DblClick(Sender: TObject);
begin
 if DBGrid1.DataSource.DataSet.IsEmpty then
  Exit
 else
  frmCustomerUpdate.Show;
end;

procedure TfrmCustomer.bbtnShowAllClick(Sender: TObject);
begin
  dm.ATCustInfo.Close;
  dm.ATCustInfo.Open;
  dm.ATContact.Close;
  dm.ATContact.Open;
  dm.ATFimaly.Close;
  dm.ATFimaly.Open;
end;

end.

⌨️ 快捷键说明

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