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

📄 modmenuqx.jsp

📁 “JSP数据库项目案例导航”一书从第一章到第十一章各章实例的源程序文件以及数据库文件。 注意: 1. 本书中的案例提供的数据库环境不同
💻 JSP
📖 第 1 页 / 共 4 页
字号:
<%
/**********************************************************
Copyright (C),2003-10-12, Beijing  USTB.
All rights reserved.
Filename: selectMenuQX.jsp
Author:    
Version 1.0
Date:2003-11-24
Description:
Other:
History:
1.  Date:2003-12-7
    Author:
    Modification:
2.  Date:2003-12-9
    Author:
    Modification://采用新的方式建树型结构,分配权限
3.  Date:2003-12-14,15
    Author:
    Modification://全选,挂录入员,对象人的版面权限(personqx[][][][][]),getElementById(id)改进页面速度
***********************************************************/
%>
<%@page language="java" contentType="text/html;charset=GBK"%>
<%@page import="java.util.*,java.util.StringTokenizer ,java.text.*,oa.main.DealString,javax.swing.tree.DefaultMutableTreeNode,java.util.Hashtable,java.sql.*"%>
<%@include file="../../inc.jsp"%>
<LINK href="../css/main.css" rel=stylesheet>
<link href="../css/person.css" type=text/css rel=stylesheet>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>修改版面权限</title>
<script language="javascript" src="../scripts/department.js"></script>
<link href="../css/person.css" type=text/css rel=stylesheet>
</head>
<body bgcolor="#F6FEE8">

<form name="form3" method="post" action="">

<table border="0" cellpadding="0" style="border-collapse: collapse; color:#FFFFFF" width="100%" height="18" bgcolor="#007EAE">
  <tr>
	<td align="left" >&nbsp;<b>选择版面</b></td>
	<td><input type=button value="确定" onclick="toto();"></td>		
	<td><input type=hidden name="txt_type" value="">
	<input type=hidden name="txt_edit" value="">
	<input type=hidden name="txt_personno" value="">
	<input type=hidden name="txt_page" value="">
	<input type=hidden name="txt_dutyno" value="">
	<input type=button value="清空版面权限" onclick="clearMENUQX();">
	</td>
  </tr>
</table>  
<q id="this" align=left>	

<%
Statement stmt=null;
oa.bean.MenuChildBean myBean = null;
oa.bean.MenuBean menuBean = null;
oa.bean.ArticleBean myArtBean = null;
oa.bean.DocBean docBean = null;
oa.bean.MakeNews makenew = null;
try{
	myBean = new oa.bean.MenuChildBean();
	menuBean = new oa.bean.MenuBean();
	myArtBean = new oa.bean.ArticleBean();
	docBean = new oa.bean.DocBean();
	makenew = new oa.bean.MakeNews();

	if ( myBean.getConn() == null
		|| menuBean.getConn() == null
		|| myArtBean.getConn() == null
		|| docBean.getConn() == null
		|| makenew.getConn() == null )
	{
		%>		
		数据库无法响应,请<a href="javascript:window.history.back(-1);">返回</a>重试
		<%out.close();
	}

DealString ds = new DealString();
String uid = ds.toString((String)session.getAttribute("zgbh"));
//////////////////////////////////////////////////////////////////////////////////////////
Hashtable hash = (Hashtable)myArtBean.getbmqx(uid);
String strPersonNo = ds.toString((String)request.getParameter("strpersonno"));
String QXtitle[] = new String[5];
QXtitle[0] = "审核文章";
QXtitle[1] = "审核焦点";
QXtitle[2] = "审核首页";
QXtitle[3] = "审核首页图片";
QXtitle[4] = "录入员";	
String qx_checkid[] = new String[5];
int ischecked[] = new int[5];
int maxid1=0,maxid2=0,maxid3=0;
ResultSet rs1 = docBean.QuerySQL("select max(id1),max(id2),max(id3) from menu ");
if(rs1.next())
{
	maxid1 = rs1.getInt(1);
	maxid2 = rs1.getInt(2);
	maxid3 = rs1.getInt(3);
}
//System.out.println();
//System.out.println("maxid1 :"+maxid1+"maxid1 :"+maxid2+"maxid1 :"+maxid3);
if(rs1!=null) {stmt = rs1.getStatement(); rs1.close();}
			if(stmt!=null) stmt.close();
int personqx[][][][][] = new int[maxid1+1][maxid2+1][maxid3+1][3][5];//sf:1,2 cz:0,1,2,3,4
for(int i=0;i<=maxid1;i++)
	for(int j=0;j<=maxid2;j++)
		for(int k=0;k<=maxid3;k++)
			for(int m=0;m<3;m++)
				for(int n=0;n<5;n++)
					personqx[i][j][k][m][n] = -1;
int bon = -1;
String sql = " select id1,id2,id3,sf,cz,zz_fbxwb.id from menu,zz_fbxwb "
		   + " where menu.id=zz_fbxwb.dxbh "
		   + "   and zz_fbxwb.zgbh='"+strPersonNo+"'"
		   + "   and whichtable='1' ";
ResultSet rs2 = docBean.QuerySQL(sql);
while(rs2.next())//如果cz为空,getInt(cz)返回0
{ 	
	personqx[rs2.getInt(1)][rs2.getInt(2)][rs2.getInt(3)][rs2.getInt(4)][rs2.getInt(5)] = rs2.getInt(6);
}
if(rs2!=null) {stmt = rs2.getStatement(); rs2.close();}
			if(stmt!=null) stmt.close();
////////////////////////////////////////////////////////////

sql = " select distinct dxbh,menu1,menu2,menu3,id1,id2,id3,menu.id as menuid "
    + "   from zz_fbxwb,menu "
    + "  where zz_fbxwb.dxbh=menu.id "
    + "    and zz_fbxwb.zgbh='"+uid+"'"
    + "    and menu.zt<>'1' "
    + "  order by menu.id1,menu.id2,menu.id3 ";
ResultSet rs = docBean.QuerySQL(sql);

String radioid = "";

String menuhrachyname = "";

String ID1 = "";
String ID2 = "";
String ID3 = "";

String temp_id ="";
while(rs.next())
{
	String  menuid = ds.toString(rs.getString("menuid"));
	String  dxbh   = ds.toString(rs.getString("dxbh"));
	String  menu1  = ds.toString(rs.getString("menu1"));
	String  menu2  = ds.toString(rs.getString("menu2"));
	String  menu3  = ds.toString(rs.getString("menu3"));
	String  id1    = ds.toString(rs.getString("id1"));	
	String  id2    = ds.toString(rs.getString("id2"));
	String  id3    = ds.toString(rs.getString("id3"));	


	sql = " select sf,cz,whichtable from zz_fbxwb where zgbh='"+uid+"' and dxbh="+ dxbh +" order by sf desc,cz,whichtable";
	ResultSet rsqx = docBean.QuerySQL(sql);

	for(int i=0;i<5;i++) qx_checkid[i]="";
	for(int i=0;i<5;i++) ischecked[i]=-1;
	int k = 0;
	String sf="",cz="",wt="";
	int sfstate = 2;
	int state=1;
	while(rsqx.next())
	{
		sf = ds.toString(rsqx.getString("sf"));	 if(sf.equals("2")) state=2;
		cz = ds.toString(rsqx.getString("cz"));  
		wt = "1";		 //ds.toString(rsqx.getString("whichtable"));
		ischecked[k] = makenew.hasSuchData(strPersonNo,menuid,sf,cz,wt);
		if(sf.equals("1")){ cz = "0"; sfstate = 1;}//录入员: sf:1 cz:0
		qx_checkid[k] = sf +"_"+wt+"_"+ dxbh +"_"+ cz;		
		k = k + 1 ;
		if(k>4) k=4;
	}
	if(rsqx!=null) {stmt = rsqx.getStatement(); rsqx.close();}
			if(stmt!=null) stmt.close();




	if(!id1.equals(ID1))         /////////1111111111111111//////
	{	radioid = id1+"_0_0";
		//输出一级版面:												
		out.println("<table border='0' cellpadding='0' style='border-collapse: collapse; color:#FFFFFF' width='100%' height='18' bgcolor='#ffffff'>");
		out.print("<tr bgcolor='#ffffff' height='22'><td width='12%'>");
////////////////////////////////////////////////////////////////////////////////////////////////////
		if(Integer.parseInt(id2)==0 && Integer.parseInt(id3)==0)
		{		
			String selmenu00id = "";//将 selectmenu00 的 id 设为 selectmenu 的 id 的集合,用 E 连接
			for(int i=0;i<5;i++)
			{
				if(!qx_checkid[i].equals(""))						
					selmenu00id = selmenu00id + qx_checkid[i] + "E";
			}
			if(sfstate==2 && state==2) selmenu00id = selmenu00id + "1_1_"+dxbh+"_0" + "E";
			out.print("<input type='checkbox' name='selectmenu00' id='"+selmenu00id+"' value='' onclick='allChecked(\""+selmenu00id+"\")'>");
		}
///////////////////////////////////////////////////////////////////////////////////////////////////


		out.print("<q class='mout' onclick='Expand(\""+radioid+"\")' style='cursor:hand'><font color='blue'>"+menu1+"</font></q></td>");


////////////////////////////////////////////////////////////////////////////////////////////////////
		if(Integer.parseInt(id2)==0 && Integer.parseInt(id3)==0)
		{		
			for(int i=0;i<5;i++)
			{
				if(!qx_checkid[i].equals(""))
				{
					out.print("<td><input type='checkbox' id='"+qx_checkid[i]+"' name='selectmenu' value='");
					if(ischecked[i]!=-1) out.print(ischecked[i]+"' style='color: #66FF66;border-style: double; border-color: #6699FF' checked>");
					else out.print("' style='color: #66FF66;border-style: double; border-color: #6699FF'>");
					String ss1 = qx_checkid[i].substring(0,1);
					String ss2 = qx_checkid[i].substring((qx_checkid[i]).length()-1);
					if(ss1.equals("2"))//管理员
						out.print("<font color='blue'>"+QXtitle[Integer.parseInt(ss2)]+"</font>&nbsp;&nbsp;");
					else
						out.print("<font color='blue'>"+QXtitle[4]+"</font>&nbsp;&nbsp;");
				}
			}
			if(sfstate==2 && state==2)//没有录入员的身份,但有管理员的身份
			{
				String lrcheckid = "1_1_"+dxbh+"_0";//sf +"_"+wt+"_"+ dxbh +"_"+ cz;
				int lrischecked = personqx[Integer.parseInt(id1)][0][0][1][0];
				out.print("<input type='checkbox' id='"+lrcheckid+"' name='selectmenu' value='");
				if(lrischecked!=-1) out.print(lrischecked+"' style='color: #66FF66;border-style: double; border-color: #6699FF' checked>");
				else				out.print("' style='color: #66FF66;border-style: double; border-color: #6699FF'>");
				out.print("<font color='blue'>"+QXtitle[4]+"</font>&nbsp;&nbsp;");
			}
		}
////////////////////////////////////////////////////////////////////////////////////////////////////


		out.println("</tr></table>");
		out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='0' style='border-collapse: collapse; color:#FFFFFF' width='100%' height='18' bgcolor='#ffffff'>");
		//以上为处理一级版面

		
		if(Integer.parseInt(id2)==0 && Integer.parseInt(id3)==0)//说明zz_fbxwb.dxbh是一级菜单id,则将此树全部展开
		{
			//二级
			sql=" select distinct menu2,id2 "
			   +"   from menu "
			   +"  where id1=" + id1
			   +"    and id2<>0 "
			   +"  order by id2 ";
			ResultSet rsid2 = docBean.QuerySQL(sql);
			while(rsid2.next())
			{
			//	temp_id = ds.toString(rsid2.getString("id"));
				String temp_id2 = ds.toString(rsid2.getString("id2"));
				String temp_menu2 = ds.toString(rsid2.getString("menu2"));
				radioid = id1 + "_" + temp_id2 + "_0";
				out.print("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");


				////////////////////////////////////////////////////////////////////////////////////////////////////*				
				sql = " select id from menu where id1="+id1+" and id2="+temp_id2+" and id3=0";		//取得id/BMBH号
				//System.out.println("**********");//System.out.println("sql="+sql);																	
				ResultSet rsid2id = docBean.QuerySQL(sql);
				if(rsid2id.next())
				{
					temp_id = ds.toString(rsid2id.getString(1));//System.out.println("temp_id=module:"+temp_id);
					for(int i=0;i<5;i++)
					{
						if(!qx_checkid[i].equals(""))			//修改qx_checkid[i]的BMBH			
							qx_checkid[i] = qx_checkid[i].substring(0,4) + temp_id + qx_checkid[i].substring((qx_checkid[i]).length()-2);
					}
					
				}
				if(rsid2id!=null) {stmt = rsid2id.getStatement(); rsid2id.close();}
			if(stmt!=null) stmt.close();

				String selmenu00id2 = ""; //将 selectmenu00 的 id 设为 selectmenu 的 id 的集合,用 E 连接
				for(int i=0;i<5;i++)
				{
					if(!qx_checkid[i].equals(""))						
						selmenu00id2 = selmenu00id2 + qx_checkid[i] + "E";
				}
				if(sfstate==2 && state==2) selmenu00id2 = selmenu00id2 + "1_1_"+temp_id+"_0" + "E";
				out.print("<input type='checkbox' name='selectmenu00' id='"+selmenu00id2+"' value='' onclick='allChecked(\""+selmenu00id2+"\")'>");
				////////////////////////////////////////////////////////////////////////////////////////////////////


				out.print("<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+temp_menu2+"</font></q>");//二级

⌨️ 快捷键说明

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