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

📄 viewunit.pas

📁 人事管理源码 Delphi+ADO+Acce
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit viewunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, dxCntner, dxEditor,
  dxExEdtr, dxEdLib,typinfo, Menus, db, ExtDlgs, adodb;

type
  TViewForm = class(TForm)
    MainPage: TPageControl;
    RSPage: TTabSheet;
    GZpage: TTabSheet;
    TXpage: TTabSheet;
    OtherPage: TTabSheet;
    Panel1: TPanel;
    CancelBtn: TBitBtn;
    OKbtn: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    photo: TImage;
    name: TEdit;
    sex: TComboBox;
    MZ: TComboBox;
    born: TdxDateEdit;
    XL: TComboBox;
    ZM: TComboBox;
    HY: TComboBox;
    IDcard: TEdit;
    DAH: TEdit;
    BM: TComboBox;
    DW: TComboBox;
    WorkLB: TComboBox;
    GW: TComboBox;
    JobDate: TdxDateEdit;
    CGdate: TdxDateEdit;
    DNH: TEdit;
    YLcard: TEdit;
    YG: TComboBox;
    Label19: TLabel;
    YBH: TEdit;
    Label20: TLabel;
    ZC: TComboBox;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    JNpay: TdxCurrencyEdit;
    GSBT: TdxCurrencyEdit;
    GW94: TdxCurrencyEdit;
    GW96: TdxCurrencyEdit;
    GW2003: TdxCurrencyEdit;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    LGdate: TdxDateEdit;
    TXdate: TdxDateEdit;
    TXBL: TdxSpinEdit;
    TXstarPay: TdxCurrencyEdit;
    TXAddPay: TdxCurrencyEdit;
    TXNY: TdxCurrencyEdit;
    TXSD: TdxCurrencyEdit;
    TXGS: TdxCurrencyEdit;
    TXTolPay: TdxCurrencyEdit;
    NTpage: TTabSheet;
    TYpage: TTabSheet;
    JSpage: TTabSheet;
    NTdate: TdxDateEdit;
    NTBL: TdxSpinEdit;
    NTTolPay: TdxCurrencyEdit;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    TYdate: TdxDateEdit;
    TYBL: TdxSpinEdit;
    TYstarPay: TdxCurrencyEdit;
    TYSD: TdxCurrencyEdit;
    TYNY: TdxCurrencyEdit;
    TYGS: TdxCurrencyEdit;
    TYTolPay: TdxCurrencyEdit;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    JSDate: TdxDateEdit;
    JSwhy: TComboBox;
    TingXinDate: TdxDateEdit;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Label51: TLabel;
    LiangXi: TMemo;
    Address: TMemo;
    JTQK: TMemo;
    JL: TMemo;
    PopupMenu1: TPopupMenu;
    Label52: TLabel;
    ZM_date: TdxDateEdit;
    OpenPictureDialog1: TOpenPictureDialog;
    PhotoMenu: TPopupMenu;
    C1: TMenuItem;
    ViewFrmTOPmenu: TPopupMenu;
    T1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure bornKeyPress(Sender: TObject; var Key: Char);
    procedure MainPageChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure BMChange(Sender: TObject);
    procedure photoDblClick(Sender: TObject);
    procedure OKbtnClick(Sender: TObject);
    procedure IDcardKeyPress(Sender: TObject; var Key: Char);
    procedure DWEnter(Sender: TObject);
    procedure C1Click(Sender: TObject);
    procedure T1Click(Sender: TObject);
  private
    { Private declarations }
    function GetNewID():integer;
  public
    { Public declarations }
    procedure getbmlist(bmlst:tstrings);
    procedure getdwlist(bm:string;dwlst:tstrings);
    function getdwid(bm,dw:string):string;

    procedure ZZView;
    procedure NTView;
    procedure TYView;
    procedure TXView;
    procedure JSView;
    procedure DelRecord(quy:tadoquery;mainid:integer);

    procedure EmptyEdit;    //清空所有输入框
    procedure SetPages(pgs:TPageControl; CanUse:boolean);
    procedure CheckRecord;
    procedure AddRecord;   //Add a new record
    procedure UpdateRecord;

end;

var
  ViewForm: TViewForm;


implementation

uses dataunit,MainUnit,barunit;


{$R *.dfm}

procedure tviewform.getbmlist(bmlst:tstrings);
begin
  with dataform.selquy do
  begin
    bmlst.Clear;
    Close;
    SQL.Clear;
    SQL.Add('select distinct bm from dw');
    Open;
    while not Eof do
    begin
      bmlst.Add(trim(fields.fieldbyname('bm').AsString));
      Next;
    end;    // while
    Close;
  end;    // with
end;

procedure tviewform.getdwlist(bm:string;dwlst:tstrings);
begin
  with dataform.selquy do
  begin
    dwlst.Clear;
    Close;
    SQL.Clear;
    SQL.Add('select distinct dw from dw where bm=:bm');
    Parameters.ParamByName('bm').Value := bm;
    Open;
    while not Eof do
    begin
      dwlst.Add(trim(Fields.fieldbyname('dw').AsString));
      Next;
    end;    // while
    Close;
  end;    // with
end;

function tviewform.getdwid(bm,dw:string):string;
begin
  with dataform.selquy do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select dw_id from dw where (bm=:bm)and(dw=:dw)');
      Parameters.ParamByName('bm').Value := bm;
      Parameters.ParamByName('dw').Value := dw;
      Open;
      if Fields.Count > 0 then
        result := trim(Fields.fieldbyname('dw_id').AsString)
      else
        result := '';
      Close;
    end;    // with
end;

procedure tviewform.UpdateRecord;  //update record
var
  ms:tmemorystream;
  i:integer;
  tempsql:tstrings;
begin
  with dataform.CMD do
  begin
  if fileexists(filepath+'SQL\update.sql') then
    begin
      tempsql := tstringlist.Create;
    try
      tempsql.LoadFromFile(filepath+'SQL\update.sql');
      commandtext:=tempsql.Text;
    finally
      tempsql.Free;
    end;
    end;
    parameters.ParamByName('name').Value := viewform.name.Text;
    parameters.ParamByName('sex').Value := viewform.sex.Text;
    parameters.ParamByName('mz').Value := viewform.MZ.Text;

    if trim(viewform.born.Text) = '' then
      parameters.ParamByName('born').Value := null
    else
      parameters.ParamByName('born').Value := viewform.born.Date;

    if trim(viewform.JobDate.Text) = '' then
      parameters.ParamByName('jobdate').Value := null
    else
      parameters.ParamByName('jobdate').Value := viewform.JobDate.Date;

    if trim(viewform.CGdate.Text) = '' then
      parameters.ParamByName('cgdate').Value := null
    else
      parameters.ParamByName('cgdate').Value := viewform.CGdate.Date;

    parameters.ParamByName('hunyin').Value := viewform.HY.Text;
    parameters.ParamByName('gw').Value := viewform.GW.Text;
    parameters.ParamByName('xueli').Value := viewform.XL.Text;
    parameters.ParamByName('zc').Value := viewform.ZC.Text;
    parameters.ParamByName('zm').Value := viewform.ZM.Text;

    if trim(viewform.ZM_date.Text) = '' then
      parameters.ParamByName('zm_date').Value := null
    else
      parameters.ParamByName('zm_date').Value := viewform.ZM_date.Date;

    if trim(viewform.LiangXi.Text) = '' then
      parameters.ParamByName('lianxi').Value := ' '
    else
      parameters.ParamByName('lianxi').Value := viewform.LiangXi.Text;

    if trim(viewform.Address.Text) = '' then
      parameters.ParamByName('address').Value := ' '
    else
      parameters.ParamByName('address').Value := viewform.Address.Text;
    if trim(viewform.JL.Text) = ''  then
      parameters.ParamByName('jl').Value := ' '
    else
      parameters.ParamByName('JL').Value := viewform.Jl.Text;

    if trim(viewform.JTQK.Text) = '' then
      parameters.ParamByName('jtqk').Value := ' '
    else
      parameters.ParamByName('jtqk').Value := viewform.JTQK.Text;

    parameters.ParamByName('idcard').Value := viewform.IDcard.Text;
    parameters.ParamByName('dangan').Value := viewform.DAH.Text;
    parameters.ParamByName('diannao').Value := viewform.DNH.Text;
    parameters.ParamByName('yiliaocard').Value := viewform.YLcard.Text;
    parameters.ParamByName('jnpay').Value := viewform.JNpay.Value;
    parameters.ParamByName('gw94').Value := viewform.GW94.Value;
    parameters.ParamByName('gw96').Value := viewform.GW96.Value;
    parameters.ParamByName('gw2003').Value := viewform.GW2003.Value;
    parameters.ParamByName('worklb').Value := viewform.WorkLB.Text;
    parameters.ParamByName('yonggong').Value := viewform.YG.Text;

    if (photo.Tag = 0) and (not photo.Picture.Bitmap.Empty) then            //load photo
      begin
        ms := tmemorystream.Create;
        photo.Picture.Bitmap.SaveToStream(ms);
        parameters.ParamByName('photo').LoadFromStream(ms,ftblob);
      end
    else
      begin
        parameters.ParamByName('photo').Value := null;
      end;

    parameters.ParamByName('dw_id').Value := getdwid(bm.Text,dw.Text);

    case barform.Tag of    //
      0:begin                    //zz
          i := dataform.ZZquy.Fields.fieldbyname('main_id').AsInteger;
          parameters.ParamByName('mainid').Value := i;
          parameters.ParamByName('zt').Value := 'zz';
          parameters.ParamByName('gsbt').Value := viewform.GSBT.Value;
          parameters.ParamByName('bl').Value := null;          //
          parameters.ParamByName('lgdate').Value := null;      //
          parameters.ParamByName('txdate').Value := null;      //
          parameters.ParamByName('starpay').Value := null;     //
          parameters.ParamByName('tolpay').Value := null;      //
          parameters.ParamByName('ztsd').Value := null;        //
          parameters.ParamByName('ztny').Value := null;        //

          Execute;
          barform.DelNode(barform.ZZTree,i);
          barform.ZZAddNode(bm.Text,dw.Text,viewform.name.Text,sex.Text,i);
          barform.ZZTree.Refresh;
          dataform.ZZquy.Requery();
          dataform.ZZquy.Locate('main_id',i,[]);

        end;
      1:begin                    //nt
          i := dataform.NTquy.Fields.fieldbyname('main_id').AsInteger;
          parameters.ParamByName('mainid').Value := i;
          parameters.ParamByName('zt').Value := 'nt';
          parameters.ParamByName('gsbt').Value := viewform.GSBT.Value;
          parameters.ParamByName('lgdate').Value := viewform.NTdate.Date;
          parameters.ParamByName('bl').Value := viewform.NTBL.Value;
          parameters.ParamByName('tolpay').Value := viewform.NTTolPay.Value;
          parameters.ParamByName('txdate').Value := null;       //
          parameters.ParamByName('starpay').Value := null;      //
          parameters.ParamByName('ztsd').Value := null;         //
          parameters.ParamByName('ztny').Value := null;         //

          Execute;
          barform.DelNode(barform.NTTree,i);
          barform.AddNode(barform.NTTree,bm.Text,viewform.name.Text,sex.Text,i);
          barform.NTTree.Refresh;
          dataform.NTquy.Requery();

⌨️ 快捷键说明

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