📄 u_department.pas
字号:
unit U_DepartMent;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, U_Form_base, ExtCtrls, ComCtrls, DB, ADODB, StdCtrls, Mask,
DBCtrls, Buttons, ImgList, dxCntner, dxEditor, dxEdLib, dxtree, dxdbtree,
U_ToolbarFrame, dxDBELib, dxmdaset, dxtrprds;
type
TF_Department = class(TF_Form_base)
ImageList1: TImageList;
Panel2: TPanel;
Splitter1: TSplitter;
Trv: TdxDBTreeView;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
F_Toolbarframe1: TF_Toolbarframe;
DE1: TdxDBEdit;
De2: TdxDBEdit;
De3: TdxDBEdit;
De4: TdxDBEdit;
De5: TdxDBEdit;
Q_mainSid: TGuidField;
Q_mainDep_id: TStringField;
Q_mainDep_name: TStringField;
Q_mainDep_manager: TStringField;
Q_mainDep_tel: TStringField;
Q_mainDep_motherID: TStringField;
procedure F_Toolbarframe1Btn_newClick(Sender: TObject);
procedure F_Toolbarframe1Btn_EditClick(Sender: TObject);
procedure F_Toolbarframe1Btn_SaveClick(Sender: TObject);
procedure F_Toolbarframe1Btn_CancelClick(Sender: TObject);
procedure F_Toolbarframe1Btn_DeleteClick(Sender: TObject);
procedure Q_mainAfterScroll(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure Q_mainBeforeInsert(DataSet: TDataSet);
procedure Q_mainAfterInsert(DataSet: TDataSet);
procedure DE1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure De2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure De3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure De4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure De5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DS_mainStateChange(Sender: TObject);
procedure Q_mainDep_idSetText(Sender: TField; const Text: string);
procedure Q_mainBeforePost(DataSet: TDataSet);
procedure TrvChange(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
MotherID: string;
procedure SET_BUTTON;
{ Public declarations }
end;
var
F_Department: TF_Department;
implementation
uses U_data;
{$R *.dfm}
procedure TF_Department.SET_BUTTON;
begin
//BTN_FIRST.Enabled := (not DS_MAIN.DataSet.Bof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
//BTN_PRE.Enabled := (not DS_MAIN.DataSet.Bof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
// BTN_NEXT.Enabled := (not DS_MAIN.DataSet.Eof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
// BTN_LAST.Enabled := (not DS_MAIN.DataSet.Eof) and (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]));
// De1.ReadOnly:=(Ds_main.DataSet.State in [dsedit,dsinsert]);
De2.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
De3.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
De4.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
De5.ReadOnly := not (Ds_main.DataSet.State in [dsedit, dsinsert]);
F_Toolbarframe1.BTN_NEW.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
F_Toolbarframe1.BTN_EDIT.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
F_Toolbarframe1.BTN_SAVE.Enabled := (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
F_Toolbarframe1.BTN_CANCEL.Enabled := (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
F_Toolbarframe1.BTN_FIND.Enabled := not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT]);
F_Toolbarframe1.BTN_DELETE.Enabled := (not (DS_MAIN.DataSet.STATE in [DSEDIT, DSINSERT])) and (not (DS_MAIN.DataSet.BOF and DS_MAIN.DataSet.EOF));
F_Toolbarframe1.BTN_Print.Enabled := (not (ds_main.DataSet.State in [Dsedit, Dsinsert])) and (not (DS_MAIN.DataSet.BOF and DS_MAIN.DataSet.EOF));
end;
procedure TF_Department.F_Toolbarframe1Btn_newClick(Sender: TObject);
begin
inherited;
if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //是否是系统管理员
if not Is_INSERT then
begin
MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end; //
//if not (Q_main.State in [Dsedit, Dsinsert]) then Q_main.Edit;
// Sql_change(q_main,'Select * from TB_Department');
//De1.Enabled:=not (Q_main.RecordCount=0); //如果是第一次增加则设为不可用
De1.Enabled := False;
Q_MAIN.APPEND;
if De1.Enabled then
de1.SetFocus
else
De2.SetFocus;
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''增加主表记录'')';
Insert_log(sql_s);
end;
procedure TF_Department.F_Toolbarframe1Btn_EditClick(Sender: TObject);
begin
inherited;
if Uppercase(LOGIN_CODE) <> 'SYSTEM' then // 权限
begin
if not Is_EDIT then
begin
MessageDlg('你没有修改的权限,请与管理员联系!', mtError, [mbOK], 0);
Exit;
end; // 权限
end;
Q_MAIN.EDIT;
SET_BUTTON;
end;
procedure TF_Department.F_Toolbarframe1Btn_SaveClick(Sender: TObject);
begin
inherited;
Q_main.UpdateBatch(arall);
end;
procedure TF_Department.F_Toolbarframe1Btn_CancelClick(Sender: TObject);
begin
inherited;
Q_main.CancelBatch(arall);
SET_BUTTON;
end;
procedure TF_Department.F_Toolbarframe1Btn_DeleteClick(Sender: TObject);
begin
inherited;
if Q_MAIN.RecordCount = 0 then exit; //无记录则退出
if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //
if not Is_DELETE then
begin
MessageDlg('你没有删除的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
if Trv.Selected.HasChildren then
begin
MessageDlg('<' + copy(Trv.Selected.Text, pos('@', Trv.Selected.Text) + 1, length(Trv.Selected.Text)) + '> 有下级部门,请先删除下级部门!', mtError, [mbOK], 0);
Abort;
end;
if MessageDlg('你真的要删除 <' + copy(Trv.Selected.Text, pos('@', Trv.Selected.Text) + 1, length(Trv.Selected.Text)) + '> 这个部门吗?', mtWarning, [mbOK, mbCancel], 0) = mrok then
try
Q_MAIN.Delete;
except
raise;
end;
Q_MAIN.UpdateBatch(ARALL);
end;
procedure TF_Department.Q_mainAfterScroll(DataSet: TDataSet);
begin
inherited;
SET_BUTTON;
end;
procedure TF_Department.FormShow(Sender: TObject);
begin
inherited;
Q_main.Open;
SET_BUTTON;
end;
procedure TF_Department.Q_mainBeforeInsert(DataSet: TDataSet);
begin
inherited;
Motherid := Q_main.fieldbyname('Dep_id').AsString;
end;
procedure TF_Department.Q_mainAfterInsert(DataSet: TDataSet);
begin
inherited;
Q_main.FieldByName('DEP_motherid').AsString := motherid;
end;
procedure TF_Department.DE1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = 13 then
de2.SetFocus;
end;
procedure TF_Department.De2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = 13 then
de3.SetFocus;
end;
procedure TF_Department.De3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = 13 then
de4.SetFocus;
end;
procedure TF_Department.De4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = 13 then
de5.SetFocus;
end;
procedure TF_Department.De5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = 13 then
F_Toolbarframe1.Btn_Save.Click;
end;
procedure TF_Department.DS_mainStateChange(Sender: TObject);
begin
inherited;
Trv.Enabled := not (DS_main.DataSet.State in [dsedit, dsinsert]);
end;
procedure TF_Department.Q_mainDep_idSetText(Sender: TField;
const Text: string);
begin
inherited;
SQL_S := 'Select * from TB_Department where Dep_id=''' + Text + '''';
Sql_change(Q_Detail, sql_s);
if Q_Detail.RecordCount > 0 then
begin
MessageDlg('注意,部门编号不能有相同的!', mtWarning, [mbOK], 0);
Abort;
end;
sender.Value := text;
end;
procedure TF_Department.Q_mainBeforePost(DataSet: TDataSet);
begin
inherited;
if Q_main.FieldByName('Dep_id').AsString = '' then
begin
MessageDlg('注意,部门编号不能是空值!', mtWarning, [mbOK], 0);
De2.SetFocus;
Abort;
end;
end;
procedure TF_Department.TrvChange(Sender: TObject; Node: TTreeNode);
begin
inherited;
node.ImageIndex := 1;
end;
initialization
RegisterClass(TF_Department);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -