📄 hm_pinf.~pas
字号:
unit hm_pinf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, ImgList, DBCtrls, Grids, DBGrids,
Mask, DB, ADODB, jpeg,Math, Buttons;
type
Thm_pinfForm = class(TForm)
ImageList1: TImageList;
Splitter1: TSplitter;
GroupBox1: TGroupBox;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label24: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label23: TLabel;
Label22: TLabel;
hm_pname: TDBEdit;
hm_psex: TDBComboBox;
hm_pdep: TDBComboBox;
hm_psorts: TDBEdit;
hm_pduty: TDBEdit;
hm_pprovi: TDBEdit;
hm_pfolk: TDBEdit;
hm_pslevel: TDBComboBox;
hm_pspecial: TDBEdit;
hm_pdes: TDBEdit;
hm_pcardid: TDBEdit;
hm_recnum: TDBEdit;
hm_politics: TDBEdit;
hm_plevel: TDBEdit;
hm_pmarried: TDBComboBox;
hm_phealth: TDBEdit;
hm_pbaryear: TDBEdit;
hm_paddress: TDBEdit;
hm_ppcode: TDBEdit;
pnlimg: TPanel;
imgi: TImage;
button1: TButton;
button2: TButton;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
dbgrid2: TDBGrid;
Label25: TLabel;
Label27: TLabel;
Label29: TLabel;
Label28: TLabel;
Label26: TLabel;
dbgrid3: TDBGrid;
Label30: TLabel;
Label33: TLabel;
Label34: TLabel;
Label32: TLabel;
Label31: TLabel;
dbgrid4: TDBGrid;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label39: TLabel;
Label38: TLabel;
Label40: TLabel;
dbgrid5: TDBGrid;
Label41: TLabel;
Label42: TLabel;
Label45: TLabel;
Label43: TLabel;
ADOQuery1: TADOQuery;
Panel1: TPanel;
Image1: TImage;
TreeView1: TTreeView;
Image2: TImage;
DBGrid1: TDBGrid;
Label21: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Image3: TImage;
DataSource1: TDataSource;
Label51: TLabel;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
hm_pnum: TDBEdit;
Label52: TLabel;
Label53: TLabel;
DataSource3: TDataSource;
ADOQuery4: TADOQuery;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
ComboBox1: TComboBox;
Edit11: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Label44: TLabel;
Label54: TLabel;
StatusBar1: TStatusBar;
Edit10: TEdit;
Edit18: TEdit;
Memo2: TMemo;
Memo1: TMemo;
SpeedButton1: TSpeedButton;
Image4: TImage;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
OpenDialog1: TOpenDialog;
ADOQuery5: TADOQuery;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
DateTimePicker6: TDateTimePicker;
DateTimePicker7: TDateTimePicker;
DateTimePicker8: TDateTimePicker;
hm_StartEnd: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Label21MouseEnter(Sender: TObject);
procedure Label21MouseLeave(Sender: TObject);
procedure Label21Click(Sender: TObject);
procedure Label46MouseEnter(Sender: TObject);
procedure Label46MouseLeave(Sender: TObject);
procedure Label46Click(Sender: TObject);
procedure Label47MouseEnter(Sender: TObject);
procedure Label47MouseLeave(Sender: TObject);
procedure Label47Click(Sender: TObject);
procedure Label48Click(Sender: TObject);
procedure Label48MouseEnter(Sender: TObject);
procedure Label48MouseLeave(Sender: TObject);
procedure Label49Click(Sender: TObject);
procedure Label49MouseEnter(Sender: TObject);
procedure Label49MouseLeave(Sender: TObject);
procedure Label50Click(Sender: TObject);
procedure Label50MouseEnter(Sender: TObject);
procedure Label50MouseLeave(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure TabSheet1Show(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure TabSheet3Show(Sender: TObject);
procedure TabSheet4Show(Sender: TObject);
procedure TabSheet5Show(Sender: TObject);
procedure dbgrid2CellClick(Column: TColumn);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure dbgrid3CellClick(Column: TColumn);
procedure dbgrid4CellClick(Column: TColumn);
procedure dbgrid5CellClick(Column: TColumn);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure button1Click(Sender: TObject);
procedure button2Click(Sender: TObject);
procedure ADOQuery2BeforeScroll(DataSet: TDataSet);
procedure ADOQuery2AfterOpen(DataSet: TDataSet);
// procedure hm_psexExit(Sender: TObject);
// procedure hm_pmarriedExit(Sender: TObject);
// procedure hm_pdepExit(Sender: TObject);
// procedure hm_pslevelExit(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
private
ActiveIndex: Integer;
procedure ShowData;
procedure ButtonState;
procedure TabSheetState(Index: Integer=-1);
{ Private declarations }
public
{ Public declarations }
end;
type
Ttable=array[1..2000,1..2] of string;
Tindextable=array[1..2000,1..1] of integer;
var
hm_pinfForm: Thm_pinfForm;
temptable:Ttable;
indextable:Tindextable;
implementation
uses hm_main, hm_login;
{$R *.dfm}
//--------------窗口生成时,对普通用户封锁编辑类选项-------------
procedure Thm_pinfForm.FormCreate(Sender: TObject);
begin
//if hm_loginForm.idright < 2 then
//begin
SpeedButton2.Enabled:=false;
//SpeedButton3.Enabled:=false;
SpeedButton4.Enabled:=false;
//end;
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := 'select * from 基本信息';
ADOQuery2.Open;
TabSheetState;
end;
//--------员工信息窗口关闭时,显示主窗口--------------
procedure Thm_pinfForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
hm_mainForm.Visible:=true;
end;
//---------共有六种导引方式----------------------------------
//----------第一种 组织关系导引 ,显示组织关系图
procedure Thm_pinfForm.Label21Click(Sender: TObject);
var
pnode:TTreeNode;
pnum,snum:integer;
sname:string;
ItemLevel:integer;
begin
//未显示时,显示
if not TreeView1.Visible then
begin
TreeView1.Visible:=true;
Label21.Caption:='取消';
adoquery1.Close;
adoquery2.Close;
//读入部门信息
adoquery1.Open;
while not adoquery1.Eof do//表不空
begin
pnum:=adoquery1.FieldByName('父编号').AsInteger;
snum:=adoquery1.FieldByName('编号').AsInteger;
sname:=adoquery1.FieldByName('名称').AsString;
ItemLevel:=adoquery1.FieldByName('层次').AsInteger;
temptable[snum,2]:=adoquery1.FieldByName('最大子号').AsString;
if (ItemLevel=0) then
begin
pnode:=treeview1.Items.AddFirst(nil,sname);
indextable[pnode.AbsoluteIndex+1,1]:=snum;
//如果是第一个节点,那么它没有父节点,其父节点是nil(空),创建第一个节点的数据
temptable[snum,1]:=inttostr(pnode.AbsoluteIndex);
end
else
begin//根据记录的父节点在树中的编号,依次将记录插入图中
pnode:=treeview1.Items.Item[strtoint(temptable[pnum,1])];
pnode:=treeview1.Items.AddChild(pnode,sname);
indextable[pnode.AbsoluteIndex+1,1]:=snum;
temptable[snum,1]:=inttostr(pnode.AbsoluteIndex);
end;
adoquery1.Next;
end;
end
else
begin //如果组织图已存在,则清除
if treeview1.Items.Count <> 0 then
begin
treeview1.Items.Item[0].Delete;
end;
TreeView1.Visible:=false;
Label21.Caption:='组织关系导引';
end;
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label21MouseEnter(Sender: TObject);
begin
Label21.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label21MouseLeave(Sender: TObject);
begin
Label21.Font.Style:=[];
end;
//--------------点击组织关系图,显示该部门全部人员名单
procedure Thm_pinfForm.TreeView1Click(Sender: TObject);
begin
DBGrid1.Enabled :=true;
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := 'select * from 基本信息 where 部门编号 < '+inttostr(indextable[treeview1.Selected.AbsoluteIndex+1,1]+strtoint(floattostr(intpower(10,3-treeview1.Selected.Level))))+' and 部门编号>='+inttostr(indextable[treeview1.Selected.AbsoluteIndex+1,1]);
ADOQuery2.Open;
Label51.Caption:=inttostr(ADOQuery2.RecordCount)+' 人';
end;
//------------------第二种基本信息导引,显示基本信息TabSheet1,等待输入查询信息-----
procedure Thm_pinfForm.Label46Click(Sender: TObject);
begin
if Label21.Enabled <> false then
begin
DBGrid1.Enabled:=false;
PageControl1.ActivePage:=TabSheet1;
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Text := 'select * from 基本信息 where 编号=0';
ADOQuery3.Open;
ADOQuery3.Append;
SpeedButton1.Visible :=true;
Label21.Enabled:=false;
Label47.Enabled:=false;
Label48.Enabled:=false;
Label49.Enabled:=false;
Label50.Enabled:=false;
Image4.Top:=Label46.Top-4;
Image4.Visible:=true;
end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label46MouseEnter(Sender: TObject);
begin
Label46.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label46MouseLeave(Sender: TObject);
begin
Label46.Font.Style:=[];
end;
//------------------第三种工作经历导引,显示工作经历TabSheet2,等待输入查询信息-----
procedure Thm_pinfForm.Label47Click(Sender: TObject);
begin
if Label21.Enabled <> false then
begin
DBGrid1.Enabled:=false;
PageControl1.ActivePage:=TabSheet2;
ADOQuery2.Close;
ADOQuery4.Close;
SpeedButton1.Visible :=true;
Label21.Enabled:=false;
Label46.Enabled:=false;
Label48.Enabled:=false;
Label49.Enabled:=false;
Label50.Enabled:=false;
Image4.Top:=Label47.Top-4;
Image4.Visible:=true;
end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label47MouseEnter(Sender: TObject);
begin
Label47.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label47MouseLeave(Sender: TObject);
begin
Label47.Font.Style:=[];
end;
//------------------第四种社会关系导引,显示社会关系TabSheet3,等待输入查询信息-----
procedure Thm_pinfForm.Label48Click(Sender: TObject);
begin
if Label21.Enabled <> false then
begin
DBGrid1.Enabled:=false;
PageControl1.ActivePage:=TabSheet3;
ADOQuery2.Close;
ADOQuery4.Close;
SpeedButton1.Visible :=true;
Label21.Enabled:=false;
Label46.Enabled:=false;
Label47.Enabled:=false;
Label49.Enabled:=false;
Label50.Enabled:=false;
Image4.Top:=Label48.Top-4;
Image4.Visible:=true;
end
end;
//--------------鼠标进入改变字体格式------------------
procedure Thm_pinfForm.Label48MouseEnter(Sender: TObject);
begin
Label48.Font.Style:=[fsItalic, fsUnderline];
end;
//--------------鼠标离开恢复字体格式-------------------
procedure Thm_pinfForm.Label48MouseLeave(Sender: TObject);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -