以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  菜单和权限管理  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=121963)

--  作者:susu312
--  发布时间:2018/7/16 16:22:00
--  菜单和权限管理

If _UserRole = "管理员" Then
    RibbonTabs("人员管理").Groups("操作").Items("编    辑").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导    入").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导入历史库").Visible=False
Else
    RibbonTabs("人员管理").Groups("操作").Items("编    辑").Visible = True
    RibbonTabs("人员管理").Groups("操作").Items("导    入").Visible = True
    RibbonTabs("人员管理").Groups("操作").Items("导入历史库").Visible=True
End If

 

我把上面代码写入菜单的loadusersetting事件中,但是设置无效?当管理员进去后 ,还是可以看到这些按钮


--  作者:有点甜
--  发布时间:2018/7/16 16:48:00
--  
代码写到你登陆窗口的【登陆】按钮里面去
--  作者:susu312
--  发布时间:2018/7/16 17:36:00
--  

If _UserRole ="超级管理员" Then
    DataTables("person").LoadFilter = ""
    DataTables("organList").LoadFilter = ""
    DataTables("history").LoadFilter = ""
    DataTables("user").LoadFilter = ""
    For Each t As Table In Tables
        t.AllowEdit = False
    Next
    \'RibbonTabs("单位管理").Visible=False
    RibbonTabs("人员管理").Groups("操作").Items("编    辑").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导    入").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导入历史库").Visible=False
    RibbonTabs("历史库管理").Groups("操作").Items("编   辑").Visible=False
    RibbonTabs("历史库管理").Groups("操作").Items("删   除").Visible=False
  
  
ElseIf _UserRole ="管理员" Then
    DataTables("person").LoadFilter = "organ = \'" & _UserOrgan & "\'"
    DataTables("organList").LoadFilter = "organName = \'" & _UserOrgan & "\'or superName=\'" & _UserOrgan & "\'"
    DataTables("history").LoadFilter = "organ= \'" & _UserOrgan & "\'"
    DataTables("user").LoadFilter = "userOrgan = \'" & _UserOrgan & "\'"
    For Each t As Table In Tables
        t.AllowEdit = False
    Next
    \'RibbonTabs("单位管理").Visible=True
    RibbonTabs("人员管理").Groups("操作").Items("编    辑").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导    入").Visible = False
    RibbonTabs("人员管理").Groups("操作").Items("导入历史库").Visible=False
    RibbonTabs("历史库管理").Groups("操作").Items("编   辑").Visible=False
    RibbonTabs("历史库管理").Groups("操作").Items("删   除").Visible=False

ElseIf _UserRole ="操作员" Then
    DataTables("person").LoadFilter = "organ = \'" & _UserOrgan & "\'"
    DataTables("organList").LoadFilter = "organName = \'" & _UserOrgan & "\'"
    DataTables("history").LoadFilter = "organ= \'" & _UserOrgan & "\'"
    DataTables("user").LoadFilter = "userOrgan = \'" & _UserOrgan & "\'"
    For Each t As Table In Tables
        t.AllowEdit = True
    Next
    \'RibbonTabs("单位管理").Visible=False
    RibbonTabs("人员管理").Groups("操作").Items("编    辑").Visible = True
    RibbonTabs("人员管理").Groups("操作").Items("导    入").Visible = True
    RibbonTabs("人员管理").Groups("操作").Items("导入历史库").Visible=True
    RibbonTabs("历史库管理").Groups("操作").Items("编   辑").Visible=True
    RibbonTabs("历史库管理").Groups("操作").Items("删   除").Visible=True

Else
      Messagebox.show("当前用户角色为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

DataTables("person").Load()
DataTables("organList").Load()
DataTables("history").Load()
DataTables("user").Load()


StatusBar.Message1 = Date.Today & "  " &  _UserOrgan & "  " & _UserName
StatusBar.Refresh

 

放在登录窗口的确定按钮中,为啥报错不存在单位管理和人员管理功能组,但实际是存在的


--  作者:有点甜
--  发布时间:2018/7/16 17:55:00
--  

1、【历史库管理】没有报错?

 

2、你目前是在系统菜单还是用户菜单?你要切换到用户菜单,才有你自己设置的菜单的。


--  作者:susu312
--  发布时间:2018/7/16 21:27:00
--  

您说的对,我应该是自己的用户菜单中测试,我还没有来得及管历史库,历史库目前没有报错。