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

📄 jguser.pas

📁 公积金监管系统客户端,是新疆公积金监管系统的客户端软件
💻 PAS
字号:
unit JGUser;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, ImgList,
  ToolWin, InvokeRegistry, DB, Rio, SOAPHTTPClient, DBClient, AppEvnts, SOAPHTTPTrans;

type
  TJGUserGL = class(TForm)
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ImageList1: TImageList;
    ImageList2: TImageList;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn0: TBitBtn;
    TabSheet3: TTabSheet;
    Panel3: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Panel4: TPanel;
    CheckBoxB1: TCheckBox;
    CheckBoxB2: TCheckBox;
    CheckBoxB3: TCheckBox;
    CheckBoxB4: TCheckBox;
    CheckBoxB5: TCheckBox;
    CheckBoxB6: TCheckBox;
    CheckBoxB7: TCheckBox;
    CheckBoxB8: TCheckBox;
    CheckBoxB9: TCheckBox;
    CheckBoxB10: TCheckBox;
    CheckBoxB11: TCheckBox;
    CheckBoxB12: TCheckBox;
    CheckBoxB13: TCheckBox;
    CheckBoxB14: TCheckBox;
    CheckBoxB15: TCheckBox;
    CheckBoxB16: TCheckBox;
    CheckBoxB17: TCheckBox;
    CheckBoxB18: TCheckBox;
    CheckBoxB19: TCheckBox;
    CheckBoxB20: TCheckBox;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    StatusBar1: TStatusBar;
    CheckBox17: TCheckBox;
    CheckBox18: TCheckBox;
    CheckBox19: TCheckBox;
    CheckBox20: TCheckBox;
    CheckBox21: TCheckBox;
    CheckBox22: TCheckBox;
    CheckBox23: TCheckBox;
    CheckBox24: TCheckBox;
    CheckBox25: TCheckBox;
    CheckBox26: TCheckBox;
    CheckBox27: TCheckBox;
    CheckBox28: TCheckBox;
    CheckBox29: TCheckBox;
    CheckBox30: TCheckBox;
    CheckBox31: TCheckBox;
    CheckBox32: TCheckBox;
    CheckBox33: TCheckBox;
    CheckBox34: TCheckBox;
    CheckBox35: TCheckBox;
    CheckBox36: TCheckBox;
    ApplicationEvents1: TApplicationEvents;
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RefreshItem(Index, Item: integer);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn0Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  JGUserGL: TJGUserGL;

implementation

uses DataModule, UserFace, JGLRIntf;

{$R *.dfm}

procedure TJGUserGL.ToolButton1Click(Sender: TObject);
//用户列表
begin
  DM.P_UserInfo;
  PageControl1.ActivePageIndex := 0;
  refreshitem(0, 0);
end;

procedure TJGUserGL.ToolButton3Click(Sender: TObject);
//增加用户
begin
  PageControl1.ActivePageIndex := 1;
  Toolbutton5.Enabled := false;
  Toolbutton4.Enabled := false;
  Toolbutton3.Enabled := false;
  refreshitem(1, 0);
end;

procedure TJGUserGL.ToolButton4Click(Sender: TObject);
//修改用户
var
  username, userid, userqx, userpwd, Ssds: string;
  ni: smallint;
  purviewenabled: boolean;
begin
  DM.P_User(UserId, UserPwd, UserName, Userqx, Ssds);
  if uppercase(userid) = uppercase(LoginUserID) then
    Application.MessageBox('用户不能修改自己!', MsgCaption, 64)
  else
  begin
      //设置是否更改用户项目
    if (Copy(LoginUserQx, 1, 1) = '1') then
    begin
      edit7.Enabled := True;
      edit8.Enabled := True;
      edit7.Color := clWindow;
      edit8.Color := clWindow;
    end
    else
    begin
      edit7.Enabled := false;
      edit8.Enabled := false;
      edit7.Color := clMenu;
      edit8.Color := clMenu;
    end;
      //赋值
    edit5.Text := username;
    edit6.Text := userid;
    edit7.Text := UserPwd;
    edit8.Text := edit7.Text;
    for ni := 0 to panel4.ControlCount - 1 do
      if copy(userqx, ni + 1, 1) = '1' then
        (panel4.Controls[ni] as tcheckbox).checked := true
      else
        (panel4.Controls[ni] as tcheckbox).checked := false;

    if uppercase(Userid) = 'SYSTEM' then
      purviewenabled := false
    else
    begin
      //设置是否可以授权
      if (Copy(LoginUserQx, 1, 1) = '1') then
        purviewenabled := true
      else
        purviewenabled := false;
    end;
    for ni := 0 to panel4.ControlCount - 1 do
      (panel4.Controls[ni] as tcheckbox).enabled := purviewenabled;

    //更换面面
    PageControl1.ActivePageIndex := 2;
    Toolbutton5.Enabled := false;
    Toolbutton4.Enabled := false;
    Toolbutton3.Enabled := false;
  end;
end;

procedure TJGUserGL.ToolButton5Click(Sender: TObject);
//删除用户
var
  username, userid: string;
  nRet: smallint;
  userqx, userpwd, ssds: string;
begin
  DM.P_User(UserId, UserPwd, UserName, Userqx, ssds);
  if UpperCase(userid) = 'SYSTEM' then
    Application.MessageBox('不能删除用户管理员!', MsgCaption, 48)
  else
    if UpperCase(userid) = upperCase(LoginUserID) then
      Application.MessageBox('用户不能删除自己!', MsgCaption, 48)
    else
    begin
      if Application.MessageBox(pchar('是否要删除用户“' + username + '”吗?'), MsgCaption, 36) = 6 then
      begin
        nRet := DM.F_UserDel(Userid);
        case nRet of
          0: begin
              Application.MessageBox(Pchar('用户“' + username + '”删除成功'), MsgCaption, 64);
              DM.P_UserInfo;
            end;
          1: Application.MessageBox(Pchar('用户“' + username + '”已登录,不允许删除!'), MsgCaption, 48);
          2: Application.MessageBox(Pchar('删除用户“' + username + '”失败!'), MsgCaption, 16);
        end;
      end;
    end;
end;

procedure TJGUserGL.ToolButton9Click(Sender: TObject);
//退出
begin
  close;
end;

procedure TJGUserGL.FormCreate(Sender: TObject);
//初始化
begin
{  DM.Qry_User.First;
  while not DM.Qry_User.Eof do
  begin
    i:=strtoint(DM.Qry_User.FieldByName('dsbh').AsString)-1;
    (Panel6.Controls[i] as tCheckBox).Caption :=trim(DM.Qry_User.FieldByName('dsmc').AsString);
    (Panel5.Controls[i] as tCheckBox).Caption :=trim(DM.Qry_User.FieldByName('dsmc').AsString);
    DM.Qry_User.Next;
  end;    }

  DM.P_UserInfo;
  PageControl1.ActivePageIndex := 0;
  //dbgrid1.DataSource:=DM.DS_User;
end;

procedure TJGUserGL.RefreshItem(Index, Item: integer);
//刷新项目
var
  ni: smallint;
begin
  case index of
    0: begin
        if Copy(LoginUserQx, 1, 1) = '0' then
        begin
          ToolButton3.Enabled := false;
          ToolButton5.Enabled := false;
          ToolButton4.Enabled := false;
        end
        else
        begin
          Toolbutton3.Enabled := true;
          Toolbutton4.Enabled := true;
          Toolbutton5.Enabled := true;
        end;
      end;
    1: begin //增加
        case item of
          0: begin //增加新职工
              bitbtn1.Enabled := true;
              bitbtn0.Enabled := false;
              edit1.Text := '';
              edit2.Text := '';
              edit3.Text := '';
              edit4.Text := '';
              edit1.Enabled := true;
              edit2.Enabled := true;
              edit3.Enabled := true;
              edit4.Enabled := true;
              for ni := 1 to panel2.ControlCount do
              begin
                (panel2.Controls[ni - 1] as tcheckbox).Checked := False;
              end;
            end;
          1: begin //增加存盘时更新控件属性
              bitbtn0.Enabled := true;
              bitbtn1.Enabled := false;
              edit1.Enabled := false;
              edit2.Enabled := false;
              edit3.Enabled := false;
              edit4.Enabled := false;
            end;
        end;
      end;
    2: begin //修改用户
      end;
  end;
end;

procedure TJGUserGL.BitBtn1Click(Sender: TObject);
//增加用户存盘
var
  userid, username, userpwd, userqx, ssds: string;
  nRet, ni, nl: smallint;
begin
  userqx := '';
  for ni := 1 to panel2.ControlCount do
  begin
    if panel2.Controls[ni - 1].Visible then
    begin
      if (panel2.Controls[ni - 1] as tcheckbox).checked then
        userqx := userqx + '1'
      else
        userqx := userqx + '0';
    end
    else
      break;
  end;
  for nl := ni to 20 do
    userqx := userqx + '0';

  Ssds := '';
  for nl := ni to 30 do
    ssds := ssds + '0';

  if (edit1.Text <> '') and (edit2.Text <> '') then
  begin
    if edit3.Text = edit4.Text then
    begin
      userid := trim(Edit2.Text);
      username := trim(Edit1.Text);
      userpwd := trim(Edit3.Text);
      nRet := DM.F_UserSave(userid, username, userpwd, userqx, ssds);
      if nRet = 0 then
      begin
        refreshitem(1, 1);
        Application.MessageBox('存盘成功。', MsgCaption, 64);
      end
      else
        if nRet = 1 then
          Application.MessageBox('用户代码已被其他人使用,请重新填写!', MsgCaption, 48)
        else
          Application.MessageBox('存盘失败,请稍候再重试!', MsgCaption, 16);
    end
    else
      Application.MessageBox('密码输入错误,请重新输入!', MsgCaption, 48);
  end
  else
    Application.MessageBox('用户名及用户代码不能为空,请输入!', MsgCaption, 48);
end;

procedure TJGUserGL.BitBtn0Click(Sender: TObject);
//继续增加
begin
  refreshitem(1, 0);
end;

procedure TJGUserGL.BitBtn4Click(Sender: TObject);
var
  userid, username, userpwd, userqx, ssds: string;
  nRet, ni, nl: smallint;
begin
  userqx := '';
  for ni := 1 to panel4.ControlCount do
  begin
    if panel4.Controls[ni - 1].Visible then
    begin
      if (panel4.Controls[ni - 1] as tcheckbox).checked then
        userqx := userqx + '1'
      else
        userqx := userqx + '0';
    end
    else
      break;
  end;
  for nl := ni to 20 do
    userqx := userqx + '0';

  ssds := '';
  for nl := ni to 20 do
    ssds := ssds + '0';

  if (edit5.Text <> '') then
  begin
    if edit7.Text = edit8.Text then
    begin
      userid := trim(Edit6.Text);
      username := trim(Edit5.Text);
      userpwd := trim(Edit7.Text);
      nRet := DM.F_UserSave(userid, username, userpwd, userqx, ssds); //iif(RadBtn1.Checked,0,1));
      if nRet = 0 then
      begin
        refreshitem(1, 1);
        Application.MessageBox('修改成功。', MsgCaption, 64);
      end
      else
        if nRet = 1 then
          Application.MessageBox('用户代码已被其他人删除!', MsgCaption, 48)
        else
          Application.MessageBox('存盘失败,请稍候再重试!', MsgCaption, 16);
    end
    else
      Application.MessageBox('密码输入错误,请重新输入!', MsgCaption, 48);
  end
  else
    Application.MessageBox('用户名不能为空,请输入!', MsgCaption, 48);
end;

procedure TJGUserGL.ApplicationEvents1Exception(Sender: TObject;
  E: Exception);
begin
  if E is ESOAPHTTPException then
    //showmessage('Something is wrong!')
    DM.P_UserInfo
  else
    Application.ShowException(E);
end;

end.

⌨️ 快捷键说明

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