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

📄 wm_sel.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
字号:
unit wm_sel;

interface

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

type
  Tfrm_wm_sel = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    txt_d_xx: TMaskEdit;
    Label2: TLabel;
    txt_d_sx: TMaskEdit;
    cmd_q: TBitBtn;
    Panel2: TPanel;
    Panel3: TPanel;
    qe_wm: TQuery;
    ds_wm: TDataSource;
    DBGrid1: TDBGrid;
    Panel4: TPanel;
    cmdOK: TBitBtn;
    cmdCancel: TBitBtn;
    qe_bh: TQuery;
    ds_bh: TDataSource;
    DBGrid2: TDBGrid;
    Label3: TLabel;
    txt_date: TEdit;
    Label4: TLabel;
    txt_dw: TEdit;
    Label5: TLabel;
    txt_je: TEdit;
    qe_sum: TQuery;
    procedure qe_bhAfterScroll(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure cmd_qClick(Sender: TObject);
    procedure txt_d_xxKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure cmdOKClick(Sender: TObject);
    procedure cmdCancelClick(Sender: TObject);
  private
    { Private declarations }
    procedure QueryResult;
  public
    { Public declarations }
    wm_pos: integer;
  end;

var
  frm_wm_sel: Tfrm_wm_sel;

implementation

{$R *.DFM}

uses
  log, main, wm_tk;

procedure Tfrm_wm_sel.QueryResult;
begin
  qe_bh.Close;
  qe_bh.SQL.Clear;
  if Trim(txt_d_xx.EditText) = '0000-00-00' then begin
    if Trim(txt_d_sx.EditText) = '0000-00-00' then begin
      MessageBox(Handle, '请确定日期', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_d_xx.SetFocus;
      Exit;
    end else begin
      MessageBox(Handle, '请确定日期下限', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_d_xx.SetFocus;
      Exit;
    end;
  end else begin
    if Trim(txt_d_sx.EditText) = '0000-00-00' then begin
      qe_bh.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_ZF_BS = 0 AND WM_DATE = ''' + Trim(txt_d_xx.EditText) + ''' GROUP BY WM_BH');
    end else begin
      qe_bh.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_ZF_BS = 0 AND WM_DATE >= ''' + Trim(txt_d_xx.EditText) + ''' AND WM_DATE <= ''' + Trim(txt_d_sx.EditText) + ''' GROUP BY WM_BH');
    end;
  end;
  qe_bh.Open;
  qe_bh.First;
  //
  if (qe_bh.Bof) and (qe_bh.Eof) then begin
    MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
    txt_d_xx.SetFocus;
    if cmdOK.Visible then cmdOK.Enabled := False;
    Exit;
  end else begin
    if cmdOK.Visible then cmdOK.Enabled := True;
  end;
end;

procedure Tfrm_wm_sel.qe_bhAfterScroll(DataSet: TDataSet);
var
  f_zj: Double;
begin
  if (qe_bh.Bof) and (qe_bh.Eof) then begin
    //////////////////
    qe_wm.Close;
    qe_sum.Close;
    txt_date.Text := '';
    txt_dw.Text := '';
    txt_je.Text := '';
  end else begin
    qe_wm.Close;
    qe_wm.ParamByName('ibh').Value := Trim(qe_bh.FieldByName('wm_bh').AsString);
    qe_wm.Open;
    qe_wm.First;
    txt_date.Text := Trim(qe_wm.FieldByName('wm_date').AsString);
    txt_dw.Text := Trim(qe_wm.FieldByName('pj_ghdw').AsString);
    //
    qe_sum.Close;
    qe_sum.ParamByName('ibh').Value := Trim(qe_bh.FieldByName('wm_bh').AsString);
    qe_sum.Open;
    qe_sum.First;
    //
    f_zj := qe_sum.FieldByName('pj_zj').Value;
    f_zj := Int(f_zj) + Round((Frac(f_zj)*100))/100;
    //
    txt_je.Text := FloatToStr(f_zj);
  end;
end;

procedure Tfrm_wm_sel.FormShow(Sender: TObject);
begin
  if wm_pos = 1 then begin //外卖销售查询
    frm_main.mu_cx_pj.Enabled := False;
    frm_main.current_handle := Handle;
    //
    cmdOK.Visible := False;
    cmdCancel.Visible := False;
    //
    frm_wm_sel.Caption := '配件销售查询';
  end else if wm_pos = 2 then begin //外卖退货选择条件
    cmdOK.Visible := True;
    cmdCancel.Visible := True;
    frm_wm_sel.Caption := '配件销售(退货)选择';
  end;
  //
  txt_d_xx.SetFocus;
end;

procedure Tfrm_wm_sel.cmd_qClick(Sender: TObject);
begin
  QueryResult;
end;

procedure Tfrm_wm_sel.txt_d_xxKeyPress(Sender: TObject; var Key: Char);
begin
  if Ord(Key) = 13 then QueryResult;
end;

procedure Tfrm_wm_sel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  qe_sum.Close;
  qe_wm.Close;
  qe_bh.Close;
  //
  if wm_pos = 1 then begin
    frm_main.mu_cx_pj.Enabled := True;
    frm_main.current_handle := 0;
  end;
  //
  Action := caFree;
end;

procedure Tfrm_wm_sel.FormDestroy(Sender: TObject);
begin
  qe_sum := nil;
  qe_wm := nil;
  qe_bh := nil;
  //
  frm_wm_sel := nil;
end;

procedure Tfrm_wm_sel.cmdOKClick(Sender: TObject);
begin
  if not Assigned(frm_wm_tk) then begin
    frm_wm_tk := Tfrm_wm_tk.Create(Application);
    frm_wm_tk.txt_bh.EditText := Trim(qe_bh.FieldByName('wm_bh').AsString);
    frm_wm_tk.txt_dw.Text := Trim(txt_dw.Text);
    frm_wm_tk.cur_bh := Trim(qe_bh.FieldByName('wm_bh').AsString);
    frm_wm_tk.Show;
    //
    Close;
  end;
end;

procedure Tfrm_wm_sel.cmdCancelClick(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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