📄 newrole2.inc
字号:
<%
'************************************************************************************************
' 函数名 : FormRoleTable(iRoleid)
' 输 入 : iRoleid:角色id,如果是新增角色,那么iRoleid=0,表示一张空的表
' 输 出 : 一张角色信息表(新的或者是旧的供修改的),可以提交
' 功能描述: 根据角色id,将相应的角色信息显示出来
' 调用模块: newrole2.inc
' 作 者 : 蔡晓燕
' 日 期 : 2002-07-31
' 版 本 :
'************************************************************************************************
Function FormRoleTable(iRoleid)
'------------------------------------
' 根据iRoleid,显示相应的角色信息,供修改
'------------------------------------
dim sSQL, iExecuter, sRoledesp, sSQL1, sSQL2, sSQL3, sSQL_right, sRoletype
dim sTemp, sTempButtons
dim crs, rs, sError, crs1, rs1, crs2, rs2, crs_item, rs_item, crs_right, rs_right
'rs: 返回t_role表中关于当前角色的记录
'rs1: 返回t_item表中项目组的名称
'rs2: 返回t_item表中属于当前项目组的子项目的名称
'rs_item:返回t_item表中的所有项目
sSQL = "select * from T_Role where role_id = "& iRoleid
sSQL1 = "select * from T_item where has_child = 1 order by item_id"
sSQL3 = "select * from T_item"
set crs = New CRecordset
set rs = crs.open(dbLocal,sSQL)
set crs1 = New CRecordset
set rs1 = crs1.open(dbLocal,sSQL1)
set crs_item = New CRecordset
set rs_item = crs_item.open(dbLocal,sSQL3)
if rs1.eof then
response.write "T_item中没有项目,请先添加项目!"
response.end
end if
' 以下的script实现了树形结构的checkbox动作关联,
' 即项目组名称前的checkbox的动作直接影响该组下面所有的checkbox的选中情况,目的是为了方便权限的选择
response.write "<script language = vbscript>"&vblf
do while not rs1.eof
sSQL2 = "select * from T_Item where parent_item = "&crs1.GetValue("item_id")
set crs2 = New CRecordset
set rs2 = crs2.open(dbLocal,sSQL2)
response.write "sub quanxian"&crs1.GetValue("item_id")&"_Onclick()"&vblf
response.write "if frmnewrole2.quanxian"&crs1.GetValue("item_id")&".checked = true then"&vblf
do while not rs2.eof
response.write "frmnewrole2.quanxian"&crs2.GetValue("item_id")&".checked = true"&vblf
rs2.movenext
loop
crs2.close()
response.write "else"&vblf
set crs2 = New CRecordset
set rs2 = crs2.open(dbLocal,sSQL2)
do while not rs2.eof
response.write "frmnewrole2.quanxian"&crs2.GetValue("item_id")&".checked = false"&vblf
rs2.movenext
loop
response.write "end if"&vblf
response.write "end sub"&vblf
crs2.close()
rs1.movenext
loop
response.write "</script>"&vblf
crs1.close()
if not rs.eof then
'存在该角色,显示该角色信息
sRoletype = crs.GetValue("role_type")
if sRoletype = "u" then
sTempButtons=_
" <img border=0 src=""../images/button/update.gif"" style=""cursor:hand"" name=btnUpdate>" & _
" <img border=0 src=""../images/button/delete.gif"" style=""cursor:hand"" name=btnDelete>" & _
" <img border=0 src=""../images/button/reset.gif"" style=""cursor:hand"" name=btnReset>"
else
sTempButtons=_
" <img border=0 src=""../images/button/return.gif"" style=""cursor:hand"" name=btnReturn>"
end if
FormRoletable=_
TableTitle("角色管理", 600, "", "#0040a0") & _
"<table cellspacing=0 cellpadding=0 width=600 align=center border=0 >" & _
"<form name=""frmnewrole2"" method=post action=""newrole2.asp"">"
FormRoleTable = FormRoleTable & _
"<tr height=30>" & _
" <td width=115 align=right>角色名称:</td>"
FormRoleTable = FormRoleTable & _
" <td width=485 ><input name=""roledesp"" value=""" & TransRole(dbLocal, iRoleid) & """ size=64 type=""text"" maxlength=10></td>"
FormRoleTable = FormRoleTable & _
"<tr height=30>" & _
" <td width=115 align=right>角色权限:</td>"&_
" <td width=485 > </td>"
do while not rs_item.eof
if crs_item.GetValue("has_child") = 0 then
if not rs.eof then
sSQL_right = "select * from T_Rights where role_id ="&iRoleid&" and item_id ="&crs_item.GetValue("item_id")
set crs_right = New CRecordset
set rs_right = crs_right.open(dbLocal,sSQL_right)
end if
end if
FormRoleTable = FormRoleTable & _
"<tr height=30>" & _
" <td width=115 align=right> </td>"&_
" <td width=485 > "
if crs_item.GetValue("has_child") = 0 then
FormRoleTable = FormRoleTable &" "
end if
FormRoleTable = FormRoleTable & _
" <input name=quanxian"&crs_item.GetValue("item_id") & " style=""border-width:0"" type = ""checkbox"""
if crs_item.GetValue("has_child") = 0 then
if crs_right.GetValue("operation_right") = 1 then
FormRoleTable = FormRoleTable & "checked"
end if
crs_right.close()
end if
FormRoleTable = FormRoleTable & _
">"&crs_item.GetValue("item_desp")&"</TD></tr>"
rs_item.movenext
loop
FormRoleTable = FormRoleTable & _
"<tr height=50>" & _
" <td colspan=2 align=center>" & sTempButtons & _
" </td>" & _
"</tr>" & _
"<tr height=30>" & _
" <input type=hidden name=formaction>" & _
" <input type=hidden name=roleid value="""&iRoleid&""">" & _
"</tr>" & _
"</form>" & _
"</table>"
else
'不存在该角色,显示空的角色信息
sTempButtons=_
" <img border=0 src=""../images/button/submit.gif"" style=""cursor:hand"" name=btnSubmit>" & _
" <img border=0 src=""../images/button/clear.gif"" style=""cursor:hand"" name=btnCancel>"
FormRoletable=_
TableTitle("角色管理", 600, "", "#0040a0") & _
"<table cellspacing=0 cellpadding=0 width=600 align=center border=0 >" & _
"<form name=""frmnewrole2"" method=post action=""newrole2.asp"">"
FormRoleTable = FormRoleTable & _
"<tr height=30>" & _
" <td width=115 align=right>角色名称:</td>"&_
" <td width=485 ><input name=""roledesp"" value=""" & TransRole(dbLocal, iRoleid) & """ size=64 type=""text"" maxlength=100></td>"& _
"<tr height=30>" & _
" <td width=115 align=right>角色权限:</td>"&_
" <td width=485 > </td>"
do while not rs_item.eof
FormRoleTable = FormRoleTable & _
"<tr height=30>" & _
" <td width=115 align=right> </td>"&_
" <td width=485 > "
if crs_item.GetValue("has_child") = 0 then
FormRoleTable = FormRoleTable &" "
end if
FormRoleTable = FormRoleTable & _
" <input name=quanxian"&crs_item.GetValue("item_id") & " type = ""checkbox"" style=""border-width:0"" >"&_
crs_item.GetValue("item_desp")&"</td></tr>"
rs_item.movenext
loop
FormRoleTable = FormRoleTable & _
"<tr height=50>" & _
" <td colspan=2 align=center>" & sTempButtons & _
" </td>" & _
"</tr>" & _
"<tr height=30>" & _
" <input type=hidden name=formaction>" & _
" <input type=hidden name=roleid value="""&iRoleid&""">" & _
"</tr>" & _
"</form>" & _
"</table>"
crs_item.close()
crs.close()
end if
End Function
'************************************************************************************************
' 函数名 : UpdateRole()
' 输 入 :
' 输 出 :
' 功能描述: 新增、更新、删除
' 调用模块: newrole2.asp
' 作 者 : 蔡晓燕
' 日 期 : 2002-08-01
' 版 本 :
'************************************************************************************************
Sub UpdateRole()
' 定义变量
dim sSQL, sError, sFormaction, crs, rs, sRoledesp
dim crs_item, rs_item, newid, temp
' 获取表单的数据
sFormaction = GetParam("formaction")
sRoledesp = GetParam("roledesp")
select case sFormaction
case "add"'新增角色
'检查有没有相同的角色名称,如果有的话,给出消息,不允许相同
sSQL = "select * from t_role where role_desp = "&Tosql(sRoledesp,"text")
set crs = New CRecordset
set rs = crs.open(dbLocal,sSQL)
if not rs.eof then
' response.write "here is 2"
response.write "<script language=javascript >window.alert('对不起,该角色已经存在,请另选角色名称!')</script>"
response.write "<script language=javascript >history.go(-1)</script>"
response.end
end if
crs.close()
sSQL = "insert into T_Role(role_desp,role_type) values("&ToSQL(sRoledesp,"text")&", 'u')"
'执行新增角色到t_role表中
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,新增角色失败!')</script>"
else
response.write "<script language=""javascript"">alert('新增角色成功!')</script>"
end if
' response.end
'找到新增的角色的role_id
sSQL = "select * from t_role where role_desp = '"&sRoledesp&"'"
set crs = New CRecordset
set rs = crs.open(dbLocal,sSQL)
newid = crs.GetValue("role_id")
crs.close()
'新增角色到t_right表中
sSQL = "select * from t_item where has_child = 0"
set crs_item = New CRecordset
set rs_item = crs_item.open(dbLocal,sSQL)
do while not rs_item.eof
temp = GetParam("quanxian"&rs_item("item_id"))
if temp = "on" then
temp = "1"
else
temp = "0"
end if
sSQL = "insert into t_rights(item_id, role_id, operation_right) values("&Tosql(rs_item("item_id"),"text")&","& Tosql(newid,"number") & "," & temp & ") "
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,新增角色权限失败!')</script>"
response.end
else
' response.write "<script language=""javascript"">alert('新增角色权限成功!')</script>"
end if
rs_item.movenext
loop
response.write "<script language=""javascript"">alert('新增角色权限成功!')</script>"
crs_item.close()
response.write "<script language=vbscript>window.navigate(""newrole2.asp"")</script>"
case "upd"'更新角色
sSQL = "select * from T_role where role_id = "&iRoleid
set crs = New CRecordset
set rs = crs.open(dbLocal,sSQL)
if not rs.eof then
'定义更新角色名称的sSQL语句
sSQL = "update T_role set role_desp = "& ToSQL(sRoledesp,"text") & " where role_id=" & iRoleid
'执行角色名称的更新
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,角色名称更新失败!')</script>"
else
response.write "<script language=""javascript"">alert('角色名称更新成功!')</script>"
end if
'执行角色权限的更新
sSQL = "select * from t_item where has_child = 0"
set crs_item = New CRecordset
set rs_item = crs_item.open(dbLocal,sSQL)
do while not rs_item.eof
temp = GetParam("quanxian"&rs_item("item_id"))
if temp = "on" then
temp = "1"
else
temp = "0"
end if
sSQL = "update t_rights set operation_right = "&temp&_
"where role_id = "&iRoleid&" and item_id ="&Tosql(rs_item("item_id"),"text")
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,角色权限更新失败!')</script>"
response.end
else
' response.write "<script language=""javascript"">alert('角色权限更新成功!')</script>"
end if
rs_item.movenext
loop
response.write "<script language=""javascript"">alert('角色权限更新成功!')</script>"
crs_item.close()
response.write "<script language=vbscript>window.navigate(""list_role.asp"")</script>"
else
response.write "<script language=""javascript"">alert('对不起,不存在该角色!')</script>"
response.write "<script language = vbscript>window.navigate(""list_role.asp"")</script>"
end if
case "del"'删除角色
'判断在T_account表中是否有用户的Role_id=要删除的role_id,如果有,则不能删除该role
sSQL = "select * from T_Account where role_id ="&iRoleid
set crs = New CRecordset
set rs = crs.open(dbLocal,sSQL)
if not rs.eof then
response.write "<script language=""javascript"">alert('该角色目前有用户,不能删除,如果要删除该角色,请先删除所有对应该角色的用户!')</script>"
response.end
end if
crs.close()
'先删除t_role表中的角色信息
sSQL = "delete from T_Role where role_id = "&iRoleid
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,角色删除失败!')</script>"
else
response.write "<script language=""javascript"">alert('角色删除成功!')</script>"
end if
'再删除t_rights中的角色信息
sSQL = "select * from t_item where has_child = 0"
set crs_item = New CRecordset
set rs_item = crs_item.open(dbLocal,sSQL)
do while not rs_item.eof
sSQL = "delete from t_rights where role_id = "&iRoleid&" and item_id ="&Tosql(rs_item("item_id"),"text")
sError = ExecuteSQL(dbLocal, sSQL)
if sError <> "" then
response.write "<script language=""javascript"">alert('对不起,角色权限删除失败!')</script>"
response.end
else
' response.write "<script language=""javascript"">alert('角色权限删除成功!')</script>"
end if
rs_item.movenext
loop
response.write "<script language=""javascript"">alert('角色权限删除成功!')</script>"
crs_item.close()
response.write "<script language=vbscript>window.navigate(""list_role.asp"")</script>"
end select
End Sub
'************************************************************************************************
' 函数名 : TableLink()
' 输 入 :
' 输 出 :
' 功能描述: 角色管理相关连接
' 调用模块: list_role.asp
' 作 者 : 蔡晓燕
' 日 期 : 2002-08-01
' 版 本 :
'************************************************************************************************
Function TableLink()
TableLink = _
"<table width=600 cellspacing=0 cellpadding=0 border=0 align=center>" & _
"<tr height=30>" & _
" <td width=600><img src=""../images/bg/line.gif"" width=600 height=3></td>" & _
"</tr>" & _
"<tr height=30>" & _
" <td width=600> " & _
" <img src=""../images/goto.gif"" width=11 height=11> <a href=""newrole2.asp"">新增角色</a>" & _
" " & _
" <img src=""../images/goto.gif"" width=11 height=11> <a href=""list_role.asp"">角色列表</a></td>" & _
"</tr>" & _
"</table>"
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -