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

📄 zmdj.pas

📁 销售帐目管理
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit Zmdj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, SUIForm, StdCtrls, SUIComboBox, Grids, DBGridEh,
  SUIButton, SUIEdit, DBCtrls, SUIDBCtrls, Mask, SUIPageControl, DateUtils,
  SUITabControl, SUISideChannel, DB, SUIDlg, DBTables, DBGrids;

type
  TFrmZmDj = class(TForm)
    suiForm1: TsuiForm;
    suiMessageDialog1: TsuiMessageDialog;
    nb1: TNotebook;
    grp2: TGroupBox;
    suiPageControl1: TsuiPageControl;
    suiTabSheet1: TsuiTabSheet;
    pnl5: TPanel;
    Label12: TLabel;
    Label13: TLabel;
    dbtxt1: TDBText;
    Label14: TLabel;
    dbtxt2: TDBText;
    Label15: TLabel;
    Label16: TLabel;
    suiDBLookupComboBox2: TsuiDBLookupComboBox;
    suiDBEdit5: TsuiDBEdit;
    suiDBEdit6: TsuiDBEdit;
    suiDBEdit7: TsuiDBEdit;
    pnl6: TPanel;
    suiButton7: TsuiButton;
    suiButton8: TsuiButton;
    suiButton9: TsuiButton;
    suiButton10: TsuiButton;
    suiButton11: TsuiButton;
    suiTabSheet2: TsuiTabSheet;
    pnl7: TPanel;
    Label17: TLabel;
    Label18: TLabel;
    dbtxt3: TDBText;
    Label19: TLabel;
    dbtxt4: TDBText;
    Label20: TLabel;
    suiDBLookupComboBox3: TsuiDBLookupComboBox;
    suiDBEdit8: TsuiDBEdit;
    pnl8: TPanel;
    suiButton12: TsuiButton;
    suiButton13: TsuiButton;
    suiButton14: TsuiButton;
    suiButton15: TsuiButton;
    suiButton16: TsuiButton;
    suiDBEdit9: TsuiDBEdit;
    suiTabSheet3: TsuiTabSheet;
    suiSideChannel1: TsuiSideChannel;
    pnl11: TPanel;
    Label24: TLabel;
    Label25: TLabel;
    dbtxt5: TDBText;
    Label26: TLabel;
    dbtxt6: TDBText;
    Label27: TLabel;
    Label28: TLabel;
    dbtxt7: TDBText;
    suiDBLookupComboBox4: TsuiDBLookupComboBox;
    suiDBEdit13: TsuiDBEdit;
    suiDBEdit14: TsuiDBEdit;
    pnl12: TPanel;
    suiButton22: TsuiButton;
    suiButton23: TsuiButton;
    suiButton24: TsuiButton;
    suiButton25: TsuiButton;
    suiButton26: TsuiButton;
    pnl9: TPanel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    suiDBEdit10: TsuiDBEdit;
    suiDBEdit11: TsuiDBEdit;
    suiDBEdit12: TsuiDBEdit;
    pnl10: TPanel;
    suiButton17: TsuiButton;
    suiButton18: TsuiButton;
    suiButton19: TsuiButton;
    suiButton20: TsuiButton;
    suiButton21: TsuiButton;
    suiTabSheet4: TsuiTabSheet;
    pnl13: TPanel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    suiDBEdit15: TsuiDBEdit;
    suiDBEdit16: TsuiDBEdit;
    suiDBEdit17: TsuiDBEdit;
    pnl14: TPanel;
    suiButton27: TsuiButton;
    suiButton28: TsuiButton;
    suiButton29: TsuiButton;
    suiButton30: TsuiButton;
    suiButton31: TsuiButton;
    grp1: TGroupBox;
    pnl_Search: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    suiComboBox1: TsuiComboBox;
    suiComboBox2: TsuiComboBox;
    suiCheckBox1: TsuiCheckBox;
    suiEdit1: TsuiEdit;
    suiBtnSearch: TsuiButton;
    pnl2: TPanel;
    pnl3: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    suiDBEdit1: TsuiDBEdit;
    suiDBLookupComboBox1: TsuiDBLookupComboBox;
    suiDBEdit2: TsuiDBEdit;
    suiDBEdit3: TsuiDBEdit;
    suiDBComboBox1: TsuiDBComboBox;
    suiDBEdit4: TsuiDBEdit;
    pnl4: TPanel;
    suiButton2: TsuiButton;
    suiButton3: TsuiButton;
    suiButton4: TsuiButton;
    suiButton5: TsuiButton;
    suiButton6: TsuiButton;
    suiDBMemo1: TsuiDBMemo;
    suiDBLookupComboBox5: TsuiDBLookupComboBox;
    suiDBEdit18: TsuiDBEdit;
    suiBtnPrior: TsuiButton;
    Label3: TLabel;
    dbtxt8: TDBText;
    Label4: TLabel;
    dbtxt9: TDBText;
    dbtxt10: TDBText;
    Label34: TLabel;
    grp3: TGroupBox;
    suiBtnNext: TsuiButton;
    Label_SqlSyx: TLabel;
    Label35: TLabel;
    suiDBEdit19: TsuiDBEdit;
    Label36: TLabel;
    suiDBEdit20: TsuiDBEdit;
    qry1: TQuery;
    qry2: TQuery;
    suiDBGrid1: TsuiDBGrid;
    suiDBGrid2: TsuiDBGrid;
    suiDBGrid3: TsuiDBGrid;
    suiDBGrid4: TsuiDBGrid;
    suiDBGrid5: TsuiDBGrid;
    suiDBGrid6: TsuiDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure suiButton2Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure suiComboBox1Change(Sender: TObject);
    procedure suiComboBox2Change(Sender: TObject);
    procedure suiBtnSearchClick(Sender: TObject);
    procedure suiButton3Click(Sender: TObject);
    procedure suiButton4Click(Sender: TObject);
    procedure suiButton5Click(Sender: TObject);
    procedure suiButton6Click(Sender: TObject);
    procedure suiButton7Click(Sender: TObject);
    procedure suiButton8Click(Sender: TObject);
    procedure suiButton9Click(Sender: TObject);
    procedure suiButton10Click(Sender: TObject);
    procedure suiButton11Click(Sender: TObject);
    procedure suiButton12Click(Sender: TObject);
    procedure suiButton13Click(Sender: TObject);
    procedure suiButton14Click(Sender: TObject);
    procedure suiButton15Click(Sender: TObject);
    procedure suiButton16Click(Sender: TObject);
    procedure suiButton17Click(Sender: TObject);
    procedure suiButton18Click(Sender: TObject);
    procedure suiButton19Click(Sender: TObject);
    procedure suiButton20Click(Sender: TObject);
    procedure suiButton21Click(Sender: TObject);
    procedure suiButton22Click(Sender: TObject);
    procedure suiButton23Click(Sender: TObject);
    procedure suiButton24Click(Sender: TObject);
    procedure suiButton25Click(Sender: TObject);
    procedure suiButton26Click(Sender: TObject);
    procedure suiSideChannel1Push(Sender: TObject);
    procedure suiSideChannel1Pop(Sender: TObject);
    procedure suiButton27Click(Sender: TObject);
    procedure suiButton28Click(Sender: TObject);
    procedure suiButton29Click(Sender: TObject);
    procedure suiButton30Click(Sender: TObject);
    procedure suiButton31Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure suiDBLookupComboBox5CloseUp(Sender: TObject);
    procedure suiDBEdit4Exit(Sender: TObject);
    procedure suiDBEdit9Exit(Sender: TObject);
    procedure suiDBEdit12Exit(Sender: TObject);
    procedure suiDBEdit15Exit(Sender: TObject);
    procedure suiBtnNextClick(Sender: TObject);
    procedure suiBtnPriorClick(Sender: TObject);
    procedure suiCheckBox1Click(Sender: TObject);
    procedure suiDBComboBox1Exit(Sender: TObject);
  private
    procedure SetReadOnly2(Pnl : TPanel; ReadOnly : Boolean; Color : TColor);
    function  CheckDataChg() : Boolean ;
  public
    { Public declarations }
  end;

var
  FrmZmDj: TFrmZmDj;

implementation

uses DataModule, PubUnit;

{$R *.dfm}

function  TFrmZmDj.CheckDataChg() : Boolean ;
var bResult : Boolean ;
    jbhtqkb,fjhtqkb,fhqkb,kpqkb,fjkpqkb,skqkb : Boolean ;
    i : Integer ;
begin
  Result := True ;
  with DataModule1 do
  begin
    qry_jbhtqkb.Next ;
    tbl_Kpqkb.Next ;
    tbl_Fjhtqkb.Next ;
    tbl_Fhqkb.Next ;
    tbl_Skqkb.Next ;
    tbl_Fjkpqkb.Next ;
    jbhtqkb := (qry_jbhtqkb.UpdatesPending) ;
    fjhtqkb := (tbl_Fjhtqkb.UpdatesPending) ;
    kpqkb := (tbl_Kpqkb.UpdatesPending) ;
    fjkpqkb := (tbl_FjKpqkb.UpdatesPending) ;
    fhqkb := (tbl_Fhqkb.UpdatesPending) ;
    skqkb := (tbl_Skqkb.UpdatesPending) ;
    bResult := (jbhtqkb or fjhtqkb or kpqkb or fjkpqkb or fhqkb or skqkb);
    if bResult then
       with suiMessageDialog1 do
       begin
         ButtonCount := 3 ;
         Button1Caption := '是';
         Button2Caption := '否';
         Button3Caption := '取消';
         Button1ModalResult := mrYes ;
         Button2ModalResult := mrNo ;
         Button3ModalResult := mrCancel ;
         IconType := suiHelp ;
         Caption := suiForm1.Caption ;
         Text := '您所编辑的数据尚未保存,是否保存?';
         i := ShowModal ;
         case i of
           mrYes :
             begin
               try
                 db1.StartTransaction ;
                 if jbhtqkb then
                 begin
                   qry_Jbhtqkb.ApplyUpdates ;
                   qry_Jbhtqkb.CommitUpdates ;
                 end;
                 if fjhtqkb then
                 begin
                   tbl_Fjhtqkb.ApplyUpdates ;
                   tbl_Fjhtqkb.CommitUpdates ;
                 end;
                 if fhqkb then
                 begin
                   tbl_Fhqkb.ApplyUpdates ;
                   tbl_Fhqkb.CommitUpdates ;
                 end;
                 if kpqkb then
                 begin
                   tbl_Kpqkb.ApplyUpdates ;
                   tbl_Kpqkb.CommitUpdates ;
                 end;
                 if fjkpqkb then
                 begin
                   tbl_Fjkpqkb.ApplyUpdates ;
                   tbl_Fjkpqkb.CommitUpdates ;
                 end;
                 if skqkb then
                 begin
                   tbl_Skqkb.ApplyUpdates ;
                   tbl_Skqkb.CommitUpdates ;
                 end;
                 db1.Commit ;
               except
                 On E : Exception do
                 begin
                   with suiMessageDialog1 do
                   begin
                     ButtonCount := 1;
                     Button1Caption := '确定';
                     IconType := suiStop ;
                     Caption := suiForm1.Caption ;
                     Text := '数据错误无法保存:'+E.Message ;
                     ShowModal ;
                   end;
                   Result := False ;
                 end;
               end;
             end;
           mrNo :
             begin
               qry_Jbhtqkb.CancelUpdates ;
               tbl_Fjhtqkb.CancelUpdates ;
               tbl_Fhqkb.CancelUpdates ;
               tbl_Kpqkb.CancelUpdates ;
               tbl_Fjkpqkb.CancelUpdates ;
               tbl_Skqkb.CancelUpdates ;
             end;
           mrCancel : Result := False ;
         end;
       end;
  end;
end;

procedure TFrmZmDj.SetReadOnly2(Pnl : TPanel; ReadOnly : Boolean; Color : TColor);
var i,Count : Integer ;
begin
  Count := ComponentCount ;
  for i := 0 to Count - 1 do
  begin
    if Components[i].GetParentComponent = Pnl then
    begin
      if (Components[i] is TsuiDBEdit) then//suiDBEdit
      begin
        TsuiDBEdit(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBEdit(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBMemo) then//suiDbMemo
      begin
        TsuiDBMemo(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBMemo(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBImage) then//suiDBImage
      begin
        TsuiDBImage(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBImage(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBListBox) then//suiDBListBox
      begin
        TsuiDBListBox(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBListBox(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBComboBox) then//suiDBComboBox
      begin
        TsuiDBComboBox(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBComboBox(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBCheckBox) then//suiDBCheckBox
      begin
        TsuiDBCheckBox(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBCheckBox(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBRadioGroup) then//suiDBRadioGroup
      begin
        TsuiDBRadioGroup(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBRadioGroup(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBLookupListBox) then//suiDBLookupListBox
      begin
        TsuiDBLookupListBox(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBLookupListBox(Components[i]).Color := Color ;
      end;
      if (Components[i] is TsuiDBLookupComboBox) then//suiDBLookupComboBox
      begin
        TsuiDBLookupComboBox(Components[i]).ReadOnly := ReadOnly ;
        TsuiDBLookupComboBox(Components[i]).Color := Color ;
      end;
    end;
  end;
end;

procedure TFrmZmDj.FormCreate(Sender: TObject);
begin
  ChangeInterface(Self, suiForm1);
  SetReadOnly(Self,True,suiForm1.Color);
end;

procedure TFrmZmDj.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0 ;
    Perform(WM_NEXTDLGCTL,0,0);
  end;
end;

//=========初始化省级编号
procedure TFrmZmDj.FormShow(Sender: TObject);
begin
  with DataModule1.qry_Jbhtqkb do
  begin
    Close ;
    SQL.Clear ;
    SQL.Add('SELECT * FROM 基本合同信息表 Order By 合同编号');
    try
      Open ;
    except
      grp1.Enabled := False ;
      grp2.Enabled := False ;
    end;
  end;
  nb1.PageIndex := 0 ;
  suiBtnNext.Enabled := DataModule1.qry_Jbhtqkb.RecordCount > 0 ;
  P_SelectSfNo := -1 ;
  P_SelectSfMc := '未选择';
  P_SelectDwNo := -1 ;
  P_SelectDwMc := '未选择';
  suiComboBox1.Items.Clear ;
  suiComboBox1.Items.Add('<All>');
  with qry1 do
  begin
    Close ;
    SQL.Clear ;
    SQL.Add('Select * from 省级信息表');
    Open ;
    if RecordCount > 0 then
    begin
      First ;
      while not Eof do
      begin
        suiComboBox1.Items.Add(Trim(FieldByName('省级编号').AsString)+'-'+
                               Trim(FieldByName('省级名称').AsString));
        Next ;
      end;
    end;
  end;
end;

procedure TFrmZmDj.suiComboBox1Change(Sender: TObject);
var Str, MyParam : String;
    Pos : Integer ;
begin
  P_SelectDwNo := -1 ;
  P_SelectDwMc := '未选择';
  MyParam := '';
  Str := Trim(suiComboBox1.Text);
  Pos := AnsiPos('-',Str);
  if Pos <=0 then
  begin
    P_SelectSfNo := -1 ;
    P_SelectSfMc := '未选择';
  end
  else
  begin
    P_SelectSfNo := StrToInt(Copy(Str,1,Pos-1));
    P_SelectSfMc := Copy(Str,Pos+1,Length(Str)-Pos);
  end;
  suiComboBox2.Items.Clear ;
  suiComboBox2.Items.Add('<All>');
  with qry2 do
  begin
    Close ;
    SQL.Clear ;
    if P_SelectSfNo > 0 then
    begin
       SQL.Add('Select * from 单位信息表 where 省级编号=:省级编号');
       ParamByName('省级编号').AsString := IntToStr(P_SelectSfNo) ;
    end
    else
       SQL.Add('Select * from 单位信息表');
    Open ;
    if RecordCount > 0 then
    begin
      First ;
      while not Eof do
      begin
        suiComboBox2.Items.Add(Trim(FieldByName('单位编号').AsString)+'-'+
                               Trim(FieldByName('单位名称').AsString));
        Next ;
      end ;
    end;
  end;
end;

⌨️ 快捷键说明

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