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

📄 frm_customeredit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Frm_CustomerEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, XPMenu, StdCtrls, CoolCtrls, CoolCtrlsEx, ComCtrls,
  Buttons, EnterAsTab, DB, ADODB, Menus;

type
  TFrmCustomerEdit = class(TFrmCargo)
    EnterAsTab1: TEnterAsTab;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BtnCheck: TSpeedButton;
    Label9: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label21: TLabel;
    Label23: TLabel;
    Label10: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    BtnCusBillName: TCoolPopupButton;
    EdtCusCode: TEdit;
    EdtCusCName: TEdit;
    EdtCusName: TEdit;
    EdtCusFax: TEdit;
    EdtCusRelation: TEdit;
    EdtCusEmail: TEdit;
    EdtCusTele: TEdit;
    MemCusYAddress: TMemo;
    CmbCountryCode: TComboBox;
    CoolScrollCustomer: TCoolScrollBox;
    CmbCusType: TComboBox;
    EdtCusCAddress: TEdit;
    CoolGroupBox1: TCoolGroupBox;
    ChkShipper: TCoolCheckRadioBox;
    ChkConsignee: TCoolCheckRadioBox;
    ChkAgent: TCoolCheckRadioBox;
    ChkCoLoad: TCoolCheckRadioBox;
    CoolPageControl1: TCoolPageControl;
    TabCountryIn: TCoolTabSheet;
    TabCountryOut: TCoolTabSheet;
    TabAgent: TCoolTabSheet;
    lblagent: TLabel;
    CmbAgentType: TComboBox;
    Label28: TLabel;
    CmbAgentComm: TComboBox;
    Label29: TLabel;
    MemAgentTerms: TMemo;
    Label27: TLabel;
    CmbAgentAC: TComboBox;
    Label5: TLabel;
    CmbAgentCity: TComboBox;
    Label25: TLabel;
    Label26: TLabel;
    MemForeignRequest: TMemo;
    Label12: TLabel;
    CmbCusTradeType: TComboBox;
    Label11: TLabel;
    CmbProviceCode: TComboBox;
    Label7: TLabel;
    EdtCusPost: TEdit;
    Label24: TLabel;
    EdtBank: TEdit;
    Label15: TLabel;
    EdtCusRmbAccount: TEdit;
    Label16: TLabel;
    EdtCusDollarACcount: TEdit;
    BtnAdd: TButton;
    BtnSave: TButton;
    BtnClose: TButton;
    QryTemp: TADOQuery;
    CmbForeignSource: TComboBox;
    PopupMenu1: TPopupMenu;
    NAdd: TMenuItem;
    NDel: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure CmbCountryCodeExit(Sender: TObject);
    procedure CmbProviceCodeExit(Sender: TObject);
    procedure BtnCheckClick(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure NAddClick(Sender: TObject);
    procedure NDelClick(Sender: TObject);
  private
    CoolEditBtnNum: Integer;
    CusTypeDesc: string;
    { Private declarations }
  public
    CusCode: string;
    IsEdit: Boolean;

    MemCusBillName: array of TMemo;
    CusBillID: array of string;
    MemCount: Integer;
    procedure MemDblClick(Sender: TObject);
    { Public declarations }
  end;

var
  FrmCustomerEdit: TFrmCustomerEdit;

implementation

uses Frm_Main, Frm_CusBillNameWordEdit, Frm_CustomerInfo;

{$R *.dfm}

procedure TFrmCustomerEdit.MemDblClick(Sender: TObject);
begin
  FrmCusBillNameWordEdit := TFrmCusBillNameWordEdit.Create(Self);
  FrmCusBillNameWordEdit.CusBillName := (Sender as TMemo).Lines.text;
  FrmCusBillNameWordEdit.ShowModal;
  if FrmCusBillNameWordEdit.ModalResult = MrOk then
  begin
    (Sender as TMemo).Lines.text := FrmCusBillNameWordEdit.CusBillName;
  end;
end;

procedure TFrmCustomerEdit.FormCreate(Sender: TObject);
var
  SqlStr: string;
begin
  inherited;
  SqlStr := 'Select Code,CName From CountryInfo ';
  FrmMain.Full_FilterCombobox(CmbCountryCode, SqlStr, 'Code', 'CName');
  SqlStr := 'Select Code,CName From ProviceInfo ';
  FrmMain.Full_FilterCombobox(CmbProviceCode, SqlStr, 'Code', 'CName');
  SqlStr := 'Select Distinct AgentType From CustomerInfo ';
  FrmMain.Full_FilterCombobox(CmbAgentType, SqlStr, 'AgentType');
  SqlStr := 'Select Distinct AgentCity From CustomerInfo ';
  FrmMain.Full_FilterCombobox(CmbAgentCity, SqlStr, 'AgentCity');
  SqlStr := 'Select Distinct AgentComm From CustomerInfo ';
  FrmMain.Full_FilterCombobox(CmbAgentComm, SqlStr, 'AgentComm');
  SqlStr := 'Select Distinct AgentAC From CustomerInfo ';
  FrmMain.Full_FilterCombobox(CmbAgentAC, SqlStr, 'AgentAC');
  SqlStr := 'Select Distinct CusTradeType From CustomerInfo ';
  FrmMain.Full_FilterCombobox(CmbCusTradeType, SqlStr, 'CusTradeType');
  SqlStr := 'Select CusCName From CustomerInfo Where CusType=''代理''';
  FrmMain.Full_FilterCombobox(CmbForeignSource, SqlStr, 'CusCName');
end;

procedure TFrmCustomerEdit.FormActivate(Sender: TObject);
var
  I: Integer;
begin
  inherited;
  if IsEdit then
  else
    Exit;

  QryTemp.Close;
  QryTemp.Sql.text := 'Select * from Customerinfo where cuscode=''' + Cuscode +
    '''';
  QryTemp.open;

  EdtCuscode.Text := QryTemp.fieldbyname('Cuscode').asstring;
  CmbCusType.ItemIndex :=
    cmbCusType.Items.IndexOf(QryTemp.Fieldbyname('CusType').asstring);
  EdtCusCName.Text := QryTemp.fieldbyname('CusCName').asstring;
  EdtCusName.Text := QryTemp.fieldbyname('CusName').asstring;
  MemCusYAddress.Lines.Text := QryTemp.fieldbyname('CusAddress').asstring;
  EdtCusCAddress.Text := QryTemp.fieldbyname('CusCAddress').asstring;
  EdtCusTele.Text := QryTemp.fieldbyname('CusTele').asstring;
  EdtCusFax.Text := QryTemp.fieldbyname('CusFax').asstring;
  CmbCountryCode.Text :=
    FrmMain.setcomboboxtext(QryTemp.fieldbyname('CountryCode').asstring,
    CmbCountryCode);
  EdtCusEMail.Text := QryTemp.fieldbyname('CusEMail').asstring;
  EdtCusRelation.Text := QryTemp.fieldbyname('CusRelation').asstring;
  CusTypeDesc := QryTemp.fieldbyname('CusTypeDesc').asstring;

  if CmbCusType.text = '国内客户' then
  begin
    CmbCusTradeType.Text := QryTemp.fieldbyname('CusTradeType').asstring;
    CmbProviceCode.Text :=
      FrmMain.setcomboboxtext(QryTemp.fieldbyname('ProviceCode').asstring,
      CmbProviceCode);
    EdtCusPost.Text := QryTemp.fieldbyname('CusPost').asstring;
    EdtBank.Text := QryTemp.fieldbyname('Bank').asstring;
    EdtCusRmbACcount.Text := QryTemp.fieldbyname('CusRmbaCcount').asstring;
    EdtCusDollarACcount.Text :=
      QryTemp.fieldbyname('CusDollarACcount').asstring;

    TabCountryOut.TabVisible := false;
    TabAgent.TabVisible := False;
    TabCountryIn.TabVisible := True;

  end;

  if CmbCusType.text = '国外客户' then
  begin
    CmbForeignSource.Text := QryTemp.fieldbyname('ForeignSource').asstring;
    MemForeignRequest.Lines.Text :=
      QryTemp.fieldbyname('ForeignRequest').asstring;

    TabCountryOut.TabVisible := True;
    TabAgent.TabVisible := False;
    TabCountryIn.TabVisible := False;
  end;

  if CmbCusType.text = '代理' then
  begin
    CmbAgentType.Text := QryTemp.fieldbyname('AgentType').asstring;
    CmbAgentCity.Text := QryTemp.fieldbyname('AgentCity').asstring;
    CmbAgentComm.Text := QryTemp.fieldbyname('AgentComm').asstring;
    CmbAgentAc.Text := QryTemp.fieldbyname('AgentAc').asstring;
    MemAgentTerms.lines.Text := QryTemp.fieldbyname('AgentTerms').asstring;

    TabCountryOut.TabVisible := False;
    TabAgent.TabVisible := True;
    TabCountryIn.TabVisible := False;
  end;

  if Pos('发货人', CusTypeDesc) > 0 then
    ChkShipper.Checked := True;

  if Pos('收货人', CusTypeDesc) > 0 then
    ChkConsignee.Checked := True;

  if Pos('目的港代理', CusTypeDesc) > 0 then
    ChkAgent.Checked := True;

  if Pos('CoLoad公司', CusTypeDesc) > 0 then
    ChkCoLoad.Checked := True;

  QryTemp.Close;
  QryTemp.SQL.Text := 'Select * from CustomerBillName Where CusCode=''' + CusCode
    + '''';
  QryTemp.Open;
  MemCount := FrmMain.RecordCount(QryTemp);
  SetLength(MemCusBillName, MemCount);
  SetLength(CusBillID, MemCount);
  I := 0;

  while not QryTemp.Eof do
  begin
    MemCusBillName[I] := TMemo.Create(Self);
    MemCusBillName[I].Parent := CoolScrollCustomer;
    MemCusBillName[I].ScrollBars := ssVertical;
    MemCusBillName[I].Align := alTop;
    MemCusBillName[I].Height := 50;
    MemCusBillName[I].Lines.Text := QryTemp.fieldbyname('CusBillName').AsString;
    MemCusBillName[I].Tag := I;
    MemCusBillName[I].OnDblClick := MemDblClick;
    CusBillID[I] := Inttostr(QryTemp.fieldbyname('ID').AsInteger);
    I := I + 1;
    QryTemp.Next;
  end;
end;

procedure TFrmCustomerEdit.CmbCountryCodeExit(Sender: TObject);
begin
  inherited;
  CmbCountryCode.Text := FrmMain.CheckComboBox(CmbCountryCode);
end;

procedure TFrmCustomerEdit.CmbProviceCodeExit(Sender: TObject);
begin
  inherited;
  CmbProviceCode.Text := FrmMain.CheckComboBox(CmbProviceCode);
end;

procedure TFrmCustomerEdit.BtnCheckClick(Sender: TObject);
begin
  inherited;
  if IsEdit then
  begin
    if CusCode = EdtCusCode.text then
    else
      if FrmMain.CheckExistCount('CusCode', EdtCusCode.Text, 'CustomerInfo') >= 1
        then
      begin
        ShowMessage('对不起,客户代码重复,请检查重新录入!');
        EdtCusCode.SetFocus;
        Exit;
      end;
  end
  else
  begin
    if FrmMain.CheckExistCount('CusCode', EdtCusCode.Text, 'CustomerInfo') >= 1
      then
    begin
      ShowMessage('对不起,客户代码重复,请检查重新录入!');
      EdtCusCode.SetFocus;
      Exit;
    end;
  end;

  ShowMessage('检查完毕,没有问题!!');
end;

procedure TFrmCustomerEdit.BtnAddClick(Sender: TObject);
var
  I: Integer;
begin
  inherited;
  EdtCuscode.Text := '';
  CmbCusType.ItemIndex := 0;
  TabCountryOut.TabVisible := false;
  TabAgent.TabVisible := False;
  TabCountryIn.TabVisible := True;

  EdtCusCName.Text := '';
  EdtCusName.Text := '';
  MemCusYAddress.Lines.Text := '';
  EdtCusCAddress.Text := '';
  EdtCusTele.Text := '';
  EdtCusFax.Text := '';
  CmbCountryCode.Text := '';
  EdtCusEMail.Text := '';
  EdtCusRelation.Text := '';
  CmbCusTradeType.Text := '';
  CmbProviceCode.Text := '';
  EdtCusPost.Text := '';
  EdtBank.Text := '';
  EdtCusRmbACcount.Text := '';
  EdtCusDollarACcount.Text := '';
  TabCountryOut.Visible := false;
  TabAgent.Visible := False;
  TabCountryIn.Visible := True;
  CmbForeignSource.Text := '';
  MemForeignRequest.Lines.Text := '';
  CmbAgentType.Text := '';
  CmbAgentCity.Text := '';
  CmbAgentComm.Text := '';
  CmbAgentAc.Text := '';
  MemAgentTerms.lines.Text := '';

⌨️ 快捷键说明

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