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

📄 userright.pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      begin
        datashare_form.Dbs.Rollback;
        application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
      end;
    end;
  end;
 
end;

procedure Tuseradmin_form.Save_butExecute(Sender: TObject);
var
  Str:String;
  CurItem:TfcTreeNode;
begin
  inherited;
  if fctreeview2.Selected.StringData2='1' then
  begin
    application.MessageBox('当前用户身份为系统管理员,具有所有权限!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);

    exit;
  end;
  datashare_form.Dbs.StartTransaction;
  try
    with datashare_form.Query1 do
    begin
      close;
      sql.Clear;
      str:='delete from USERRIGHT where OPERID=:p1';
      sql.Add(str);
      params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
      Execsql;
    end;

    //遍历所有结点,并将权限设置存入数据库
    CurItem:=fcTreeView1.Items.GetFirstNode;
    while CurItem <> nil do
    begin
      if CurItem.Checked then
      begin
        with datashare_form.Query1 do
        begin
          close;
          sql.Clear;
          str:='insert into USERRIGHT(OPERID,ITEMNO) values(:p1,:p2)';
          sql.Add(str);
          params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
          params[1].AsInteger:=strtoint(CurItem.StringData);
          execsql;
        end;
      end;
      CurItem:=CurItem.GetNext;
    end;


    with datashare_form.Query1 do
    begin
      close;
      sql.Clear;
      str:='delete from UNITRIGHT where OPERID=:p1';
      sql.Add(str);
      params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
      Execsql;
    end;

    //遍历所有结点,并将权限设置存入单位部门存入数据库
    CurItem:=fcTreeView3.Items.GetFirstNode;
    while CurItem<>Nil do
    begin
      if Curitem.Checked then
      begin
        with datashare_form.Query1 do
        begin
          close;
          sql.Clear;
          str:='insert into UNITRIGHT(OPERID,ORGANID) values(:p1,:p2)';
          sql.Add(str);
          params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
          params[1].AsInteger:=Strtoint(CurItem.StringData);
          execsql;
        end;
      end;
      CurItem:=CurItem.GetNext;
    end;
    datashare_form.Dbs.Commit;
    application.MessageBox('设置信息保存成功!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
  except
    on e:exception do
    begin
      datashare_form.Dbs.Rollback;
      application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
    end;
  end;
end;

procedure Tuseradmin_form.TreeView1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  //按键为enter,向上,向下,HOME,END,PAGEUP,PAGEDOWN
  //if (key in [13,40,38,34,33,35,36]) then
    //TreeView1Click(self)
end;

procedure Tuseradmin_form.Modi_userExecute(Sender: TObject);
begin
  inherited;
  if fcTreeView2.Selected.Level<>1 then
  begin
    application.MessageBox('请选择操作人员!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
    exit;
  end;
  try
    Oper_type:='1';
    useroption_form:=Tuseroption_form.create(application);
    useroption_form.showmodal;
  finally
    useroption_form.free;
  end;
end;

procedure Tuseradmin_form.fcTreeView1ToggleCheckbox(
  TreeView: TfcCustomTreeView; Node: TfcTreeNode);
var
  i,n:integer;
  ParentItem,CurItem:TfcTreeNode;
  Stat:boolean;
begin
  inherited;
  
  if (node.StringData='25')and(fctreeview2.Selected.StringData2='0') then
  begin
    node.Checked:=false;
//    application.MessageBox('普通用户无用户权限管理功能!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
    exit;
  end;
  if (Node.Level=0) then
  begin
    CurItem:=Node;
    Stat:=CurItem.Checked;
    for i:=1 to Node.Count do
    begin
      CurItem:=CurItem.GetNext;
      CurItem.Checked:=Stat;
    end;
  end;

end;

procedure Tuseradmin_form.InitTree(Tree:TfcTreeView;Sour:string;const flag:boolean);
var
  CurItem:TfcTreeNode;
begin
  CurItem:=Tree.Items.GetFirstNode;
  while CurItem <> nil do
  begin
    if (pos(','+CurItem.StringData+',',Sour)<>0)or(flag)  then
      CurItem.Checked:=true
    else
      CurItem.Checked:=false;
    CurItem:=CurItem.GetNext;
  end;
end;

procedure Tuseradmin_form.fcTreeView2Click(Sender: TObject);
var
  str,combstr1,combstr2:string;
  k,i:integer;
  CurItem:TfcTreeNode;
begin
  inherited;
  if fctreeview2.Selected.Level=0 then
  begin
    modifyuser_button.Enabled:=false;
    modifyuser_submenu.Enabled:=false;
    deleteuser_button.Enabled:=false;
    deluser_submenu.Enabled:=false;
    save_button.Enabled:=false;
    save_submenu.Enabled:=false;
    StatusBar1.Panels[0].Text:=copy(StatusBar1.Panels[0].Text,1,14);
    statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10);
    exit;
  end else
  begin
    modifyuser_button.Enabled:=true;
    modifyuser_submenu.Enabled:=true;
    deleteuser_button.Enabled:=true;
    deluser_submenu.Enabled:=true;
    save_button.Enabled:=true;
    save_submenu.Enabled:=true;
  end;

  fctreeview2.Selected.Checked:=true;

  //列出权限的设置
  with datashare_form.Query1 do
  begin
    close;
    sql.Clear;
    str:='AND ITEMNO in (select ITEMNO from VERSION where VER='+#39+ESIIS_VERSION+#39+')';
    str:='select ITEMNO from USERRIGHT where OPERID=:p1 '+str+' order by ITEMNO';
    sql.Add(str);
    params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
    prepare;
    open;

    combstr1:=',';
    while not eof do
    begin
      combstr1:=combstr1+fieldbyname('ITEMNO').AsString+',';
      next;
    end;

    close;
    sql.Clear;
    str:='select ORGANID from UNITRIGHT where OPERID=:p1 order by ORGANID';
    sql.Add(str);
    params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
    prepare;
    open;

    combstr2:=',';
    while not eof do
    begin
      combstr2:=combstr2+fieldbyname('ORGANID').AsString+',';
      next;
    end;
  end;
  if fctreeview2.Selected.StringData2='1' then
    InitTree(fcTreeView1,combstr1,true)
  else
    InitTree(fcTreeView1,combstr1,false);
  InitTree(fcTreeView3,combstr2,false);

  StatusBar1.Panels[0].Text:=copy(StatusBar1.Panels[0].Text,1,14)+fctreeview2.Selected.Text;
  if (fctreeview2.Selected.StringData2='1') then
  begin
//    fctreeview1.Enabled:=false;
//    fctreeview3.Enabled:=false;
    statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10)+'系统管理员';
    //fctreeview1.FullExpand;
    fctreeview3.FullExpand;
  end else
  begin
//    fctreeview1.Enabled:=true;
//    fctreeview3.Enabled:=true;
    statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10)+'普通用户';
    fctreeview3.FullExpand;
  end;


end;

procedure Tuseradmin_form.SetNode(item:TfctreeNode;state:boolean);
var
  i:integer;
  currnode:TfctreeNode;
begin
 // currnode:=item.GetFirstChild;
 // showmessage(currnode.Text);
//  currnode:=item.GetNextChild(currnode);

  for i:=1 to item.Count do
  begin
    if i=1 then
      currnode:=item.GetFirstChild
    else
      currnode:=item.GetNextChild(currnode);
    currnode.Checked:=state;
    //currnode.Text:='abc';
  end;
//  currnode:=item.
 // for i:=1 to item.Count do
 // begin

 // end;
  //item.Checked:=state;
//  SetNode(item.GetNext,state);
end;

procedure Tuseradmin_form.fcTreeView3ToggleCheckbox(
  TreeView: TfcCustomTreeView; Node: TfcTreeNode);
var
  state:boolean;
  currnode:TfcTreeNode;
begin
  inherited;

  if node.Checked=true then
    state:=true
  else
    state:=false;


  setNode(node,state);

end;

procedure Tuseradmin_form.help_butExecute(Sender: TObject);
begin
  inherited;
  if (HHCtrlHandle = 0) then
    application.MessageBox('帮助文件不存在!','恩普软件',MB_OK+MB_IconStop+MB_SystemModal)
  else
    FHelpSystemHook.HelpContext(1080100);
end;
  }
end.

⌨️ 快捷键说明

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