📄 zmdj.pas
字号:
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 + -