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