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

📄 psshxt.~pas

📁 一个比较实用的配送管理系统,Delphi+SQL开发
💻 ~PAS
字号:
unit psshxt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Buttons, StdCtrls, Grids, DBGrids, DB;

type
  TForm31 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    SpeedButton1: TSpeedButton;
    CheckBox1: TCheckBox;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    ComboBox2: TComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    procedure FormShow(Sender: TObject);
    Procedure Clear;
    procedure SpeedButton1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label2Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form31: TForm31;

implementation
  uses Data1;
{$R *.dfm}

procedure TForm31.Clear;
begin
  ComboBox1.Text :=  '';
  Edit1.Clear;
  ComboBox2.ItemIndex := 0;
  DataModule1.ADOQuery2.Close;
end;

procedure TForm31.FormShow(Sender: TObject);
begin
  Combobox1.Clear;
  begin
    with DataModule1.ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 配送票号表 where (是否可用 = 0)and(完成送货 = 0) ');
      Open;
    end;
    if DataModule1.ADOQuery1.RecordCount >0 then
      while Not DataModule1.ADOQuery1.Eof do
      begin
        ComboBox1.Items.Add(DataModule1.ADOQuery1.FieldByName('配送票号').Value);
        DataModule1.ADOQuery1.Next;
      end;
  end;
  Clear;
  BitBtn1.Enabled := False;
  ComboBox1.SetFocus;
  CheckBox1.Checked := False;
end;

procedure TForm31.SpeedButton1Click(Sender: TObject);
begin
  if Trim(ComboBox1.Text)<>''then
  begin
    CheckBox1.Checked := False;
    with DataModule1.ADOQuery2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 配送申请表 where 配送票号 = (Select 配送票号 From 配送票号表 where 配送票号 = :a and 是否可用 = 0)');
      Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
      Open;
    end;
    if DataModule1.ADOQuery2.RecordCount>0 then
    begin
      DataSource1.DataSet := DataModule1.ADOQuery2;
      BitBtn1.Enabled := True;
      Edit1.SetFocus;
    end
    else
    begin
      Application.MessageBox('该票号不存在或审核已经通过。','提示',64);
      ComboBox1.Text:= '';
    end;
  end;
end;

procedure TForm31.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked = True then
  begin
    with DataModule1.ADOQuery2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 配送申请表 where 配送票号 in (Select 配送票号 from 配送票号表 where 是否可用 = 0)');
      Open;
    end;
    if DataModule1.ADOQuery2.RecordCount >0 then
    begin
      DataSource1.DataSet := DataModule1.ADOQuery2;
      BitBtn1.Enabled := True;
    end;
  end;
end;

procedure TForm31.BitBtn1Click(Sender: TObject);
begin
  if Trim(Edit1.Text)='' then
  begin
    Application.MessageBox('请输入审核人。','提示',0+64);
    Edit1.SetFocus;
    Exit;
  end;
  Try
    with DataModule1.ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('update 配送票号表 set 审核负责人 = :a,是否可用 = :c  where 配送票号 = :b');
      Parameters.ParamByName('a').Value := Trim(Edit1.Text);
      if Trim(ComboBox2.Text)= '允许' then
        Parameters.ParamByName('c').Value := 1
      else
        Parameters.ParamByName('c').Value :=0 ;
      Parameters.ParamByName('b').Value := Trim(DataModule1.ADOQuery2.FieldByName('配送票号').Value);
      ExecSQL;
    end;
    Application.MessageBox('审核完成。','提示',0+64);
    Self.OnShow(Sender);
  Except
    Application.MessageBox('系统出错。','提示',0+64);
    Close;
  end;
  BitBtn1.Enabled := False;
  
end;

procedure TForm31.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clRed;
end;

procedure TForm31.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clBlue;
end;

procedure TForm31.Label2Click(Sender: TObject);
begin
  if CheckBox1.Checked then
    CheckBox1.Checked := False
  else
    CheckBox1.Checked :=True;
end;

procedure TForm31.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Trim(Edit1.Text)<>'')and(Key = VK_ReTurn) then
    ComboBox2.SetFocus;
end;

procedure TForm31.ComboBox2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Trim(ComboBox2.Text)<>'')and(Key = Vk_ReTurn)and(BitBtn1.Enabled = True)then
    BitBtn1.OnClick(Sender);
end;

procedure TForm31.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = Vk_ReTurn then
    SpeedButton1.OnClick(Sender);
end;

end.

⌨️ 快捷键说明

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