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

📄 newrole2.inc

📁 物业管理和办公自动化系统
💻 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 >&nbsp;</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>&nbsp;</td>"&_
			"	<td width=485 >&nbsp;"
			 if crs_item.GetValue("has_child") = 0 then 
				FormRoleTable = FormRoleTable &" &nbsp;&nbsp;"
			 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 >&nbsp;</td>"
		do while not rs_item.eof 
			FormRoleTable = FormRoleTable & _
			"<tr height=30>" & _
			"	<td width=115 align=right>&nbsp;</td>"&_
			"	<td width=485 >&nbsp;"
			 if crs_item.GetValue("has_child") = 0 then 
				FormRoleTable = FormRoleTable &" &nbsp;&nbsp;"
			 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>&nbsp;" & _
		"		<img src=""../images/goto.gif"" width=11 height=11>&nbsp;<a href=""newrole2.asp"">新增角色</a>" & _
		"		&nbsp;&nbsp;&nbsp;" & _
		"		<img src=""../images/goto.gif"" width=11 height=11>&nbsp;<a href=""list_role.asp"">角色列表</a></td>" & _
		"</tr>" & _
		"</table>"
End Function
%>

⌨️ 快捷键说明

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