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

📄 u_wtd.pas

📁 相关的销售服务管理行业的一个软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit U_WTD;

interface

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

type
  TF_WTS = class(TForm)
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel2: TPanel;
    Label2: TLabel;
    Label23: TLabel;
    DBEditDingDanNo: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    Panel4: TPanel;
    Label9: TLabel;
    DBEdit9: TDBEdit;
    Panel5: TPanel;
    Label8: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    PageControl2: TPageControl;
    TabSheet2: TTabSheet;
    Panel12: TPanel;
    Label38: TLabel;
    Label39: TLabel;
    DBEdit35: TDBEdit;
    DBEdit36: TDBEdit;
    Panel11: TPanel;
    Label40: TLabel;
    Label41: TLabel;
    DBEdit33: TDBEdit;
    DBEdit34: TDBEdit;
    Panel10: TPanel;
    Label42: TLabel;
    Label43: TLabel;
    DBEdit31: TDBEdit;
    DBEdit32: TDBEdit;
    Panel9: TPanel;
    Label44: TLabel;
    Label45: TLabel;
    DBEdit29: TDBEdit;
    DBEdit30: TDBEdit;
    Panel8: TPanel;
    Label46: TLabel;
    Label47: TLabel;
    DBEdit27: TDBEdit;
    DBEdit28: TDBEdit;
    Panel7: TPanel;
    Label48: TLabel;
    Label49: TLabel;
    DBEdit25: TDBEdit;
    DBEdit26: TDBEdit;
    Panel6: TPanel;
    Label50: TLabel;
    Label51: TLabel;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    PopupM1: TPopupMenu;
    N1: TMenuItem;
    N3: TMenuItem;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    DBMemo1: TDBMemo;
    DataSourceWTS: TDataSource;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Panel1DblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure N3Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure DBEditDingDanNoKeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit5KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit9KeyPress(Sender: TObject; var Key: Char);
    procedure DBComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure DBMemo1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit12KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit13KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit15KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit16KeyPress(Sender: TObject; var Key: Char);
    procedure DBComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit19KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit11KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit14KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit17KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit20KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit21KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit23KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit24KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit25KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit26KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit27KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit28KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit29KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit30KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit31KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit32KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit33KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit34KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit35KeyPress(Sender: TObject; var Key: Char);
    procedure DataSourceWTSDataChange(Sender: TObject; Field: TField);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
     procedure HandleMag(var Msg: TMessage);message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  F_WTS: TF_WTS;
  FlagWTS: Boolean;   //定义为是否保存过标志,为真:已保存,为假:未保存
  RecNoWTS: Integer;  //定义为当前所指向的记录
  wtdshow:boolean;
implementation

uses U_DM, U_P_WTS,umain, U_WTDCX,U_XGDW, U_Modal;



{$R *.DFM}

procedure TF_WTS.FormClose(Sender: TObject; var Action: TCloseAction);
  //释放委托书管理子窗体
begin
  Dm.ADOTableWTS.Active:=false;
  if not Frmmain.Outlook1.Visible then
     Frmmain.Outlook1.Visible:=true;
  if not Frmmain.Panel1.Visible then
     Frmmain.Panel1.Visible:=True;
  if not Frmmain.Panel2.Visible then
     Frmmain.Panel2.Visible:=True;
  frmmain.Label1.Caption:='';
  F_WTS:=nil;
  Action:=caFree;
end;

procedure TF_WTS.SpeedButton5Click(Sender: TObject);
begin
  Close;
  //Frmmain.Outlook1.Visible :=true;             
end;

procedure TF_WTS.SpeedButton1Click(Sender: TObject);

begin
  DBEditDingDanNo.ReadOnly:=false;
  DBEdit1.ReadOnly:=false;
  DBEdit2.ReadOnly:=false;
  DBEdit5.ReadOnly:=false;
  DBEdit6.ReadOnly:=false;
  DBEdit4.ReadOnly:=false;
  DBEdit3.ReadOnly:=false;
  DBEdit9.ReadOnly:=false;
  DBComboBox2.ReadOnly:=false;
  DBComboBox1.ReadOnly:=false;
  DBEdit12.ReadOnly:=false;
  DBEdit15.ReadOnly:=false;
  DBEdit11.ReadOnly:=false;
  DBEdit14.ReadOnly:=false;
  DBEdit20.ReadOnly:=false;
  DBEdit21.ReadOnly:=false;
  DBEdit17.ReadOnly:=false;
  DBEdit19.ReadOnly:=false;
  DBEdit16.ReadOnly:=false;
  DBEdit13.ReadOnly:=false;
  DBMemo1.ReadOnly:=false;
  DBEdit23.ReadOnly:=false;
  DBEdit24.ReadOnly:=false;
  DBEdit25.ReadOnly:=false;
  DBEdit26.ReadOnly:=false;
  DBEdit27.ReadOnly:=false;
  DBEdit28.ReadOnly:=false;
  DBEdit29.ReadOnly:=false;
  DBEdit30.ReadOnly:=false;
  DBEdit31.ReadOnly:=false;
  DBEdit32.ReadOnly:=false;
  DBEdit33.ReadOnly:=false;
  DBEdit34.ReadOnly:=false;
  DBEdit35.ReadOnly:=false;
  DBEdit36.ReadOnly:=false;
  DateTimePicker1.Enabled:=true;
  SpeedButton2.Enabled:=true;
  if DM.ADOTableWTS.RecordCount<=0 then
    FlagWTS:=False;     //如果没有记录,则将保存标志设置为假
  //F_WTS.SpeedButton2Click(Sender);  //如果连续点击增加按钮,则将上一条记录保存
  DM.ADOTableWTS.Close;
  DM.ADOTableWTS.Open;
  DM.ADOTableWTS.Append;
  DateTimePicker1.Date:=Now;
  if PageControl1.ActivePageIndex<>0 then
    PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
  DBEditDingDanNo.SetFocus;
  FlagWTS:=False;
  //
  F_Modal := TF_Modal.Create(self);
  F_Modal.Label1.Caption := '委托单位';
  F_Modal.Label2.Caption := '订单编号';
  TN := 'xs_WTS';
  F1 := 'WeiTuoUnit';
  F2 := 'DingDanNo';
  Md := 1;
  if F_Modal.ModalSet(TN, F1, F2, Md) then
    F_Modal.ShowModal
  else
    Application.MessageBox('无法生成参考模板!','提示',0+64);
  F_Modal.Free;
end;                          

procedure TF_WTS.SpeedButton2Click(Sender: TObject);
var
  len:integer;
begin
  if FlagWTS then
    begin
      Application.MessageBox('数据保存成功!','提示',0+64);
      Exit;
    end;
  if DBEditDingDanNo.Text='' then
  begin
    Application.MessageBox('订单编号不许为空,请重新输入!','报关委托书管理',0+64);
    if PageControl1.ActivePageIndex<>0 then
      PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
    DBEditDingDanNo.SetFocus;
    Exit;
  end;
  if DBEdit1.Text='' then
   begin
    Application.MessageBox('委托单位不许为空,请重新输入!','报关委托书管理',0+64);
    if PageControl1.ActivePageIndex<>0 then
      PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
    DBEdit1.SetFocus;
    Exit;
   end;
  len:=length(DBEdit6.Text);
  if len<>18 then
    begin
    Application.MessageBox('输入的身份证号码必须为18位!','错误',0+16);
    DBEdit6.SetFocus;
    Exit;
    end;
 { DM.ADOQuerySGOODS.Active:=False;
  DM.ADOQuerySGOODS.SQL.Clear;
  DM.ADOQuerySGOODS.SQL.Add('select * from s_goods');
  DM.ADOQuerySGOODS.Open;
  while not DM.ADOQuerySGOODS.Eof do begin}
  try
  {
    if DBComboBox2.Text<>DM.ADOQuerySGOODS.FieldByName('NGDName').value then
      begin

      end else
      begin
     // DBComboBox2.Text:='';
     // Application.MessageBox('无效输入,请重新输入或选择!','货物名称',0);
      //DBComboBox2.SetFocus;
    // exit;
      DM.ADOQuerySGOODS.Next;
    end;
    DM.ADOQuerySGOODS.Active:=False;  }
    if ((DBComboBox1.Text='是') or (DBComboBox1.Text='否'))then
    begin
    DM.ADOTableWTS.edit;
    DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime:=DateTimePicker1.Date;//在保存前将日期转为字符串类型
    DM.ADOTableWTS.Post;
    DBEditDingDanNo.ReadOnly:=true;
    DBEdit1.ReadOnly:=true;
    DBEdit2.ReadOnly:=true;
    DBEdit5.ReadOnly:=true;
    DBEdit6.ReadOnly:=true;
    DBEdit4.ReadOnly:=true;
    DBEdit3.ReadOnly:=true;
    DBEdit9.ReadOnly:=true;
    DBEdit12.ReadOnly:=true;
    DBEdit15.ReadOnly:=true;
    DBComboBox2.ReadOnly:=true;
    DBEdit11.ReadOnly:=true;
    DBEdit14.ReadOnly:=true;
    DBEdit20.ReadOnly:=true;
    DBEdit21.ReadOnly:=true;
    DBEdit17.ReadOnly:=true;
    DBEdit19.ReadOnly:=true;
    DBEdit16.ReadOnly:=true;
    DBEdit13.ReadOnly:=true;
    DBMemo1.ReadOnly:=true;
    DBEdit23.ReadOnly:=true;
    DBEdit24.ReadOnly:=true;
    DBEdit25.ReadOnly:=true;
    DBEdit26.ReadOnly:=true;
    DBEdit27.ReadOnly:=true;
    DBEdit28.ReadOnly:=true;
    DBEdit29.ReadOnly:=true;
    DBEdit30.ReadOnly:=true;
    DBEdit31.ReadOnly:=true;
    DBEdit32.ReadOnly:=true;
    DBEdit33.ReadOnly:=true;
    DBEdit34.ReadOnly:=true;
    DBEdit35.ReadOnly:=true;
    DBEdit36.ReadOnly:=true;
    DateTimePicker1.Enabled:=false;
    DBComboBox1.ReadOnly:=true;
    FlagWTS:=True;
    SpeedButton2.Enabled:=false;
    F_WTS.Caption:='报关委托书管理';
    Application.MessageBox('数据保存成功!','提示',0+64);
    end else
      begin
      DBComboBox1.Text:='';
      Application.MessageBox('无效输入,请选择是否退税!','是否退税',0+16);
      DBComboBox1.SetFocus;
      exit;
      end;
   except
    Application.MessageBox('数据保存错误,请重新输入!', '报关委托书管理',0+16);
  end;
  
end;

procedure TF_WTS.SpeedButton3Click(Sender: TObject);
begin
  if  DM.ADOTableWTS.RecordCount<=0 then
  begin
    Application.MessageBox('没有记录可以删除!','报关委托书管理',0+16);
    FlagWTS:=True;
    Exit;
  end
  else
    if Application.MessageBox('确实要删除此记录?','报关委托书管理',4+16)=IDYES then
    begin
      DM.ADOTableWTS.Delete;
      FlagWTS:=True;
      SpeedButton2.Enabled:=false;
    end;
end;

procedure TF_WTS.SpeedButton4Click(Sender: TObject);
begin
   Screen.Cursor := -11;
  wtdshow:=true;
  if F_P_WTS=nil then
    F_P_WTS:=TF_P_WTS.Create(self);
   Screen.Cursor := 0;  
  F_P_WTS.QuickRep1.Preview;
  wtdshow:=false;
end;

procedure TF_WTS.DateTimePicker1Change(Sender: TObject);
begin
  if DBEditDingDanNo.Text='' then
    Exit;
  DM.ADOTableWTS.Edit;
  DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime:=DateTimePicker1.Date;//在保存前将日期转为字符串类型
end;

procedure TF_WTS.FormShow(Sender: TObject);
begin
  FlagWTS:=True;
  DM.ADOTableWTS.Edit;
  if DBEditDingDanNo.Text <>'' then
    DateTimePicker1.Date:=DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime
  else
    DateTimePicker1.Date:=Now;  
  case PageControl1.ActivePageIndex of

⌨️ 快捷键说明

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