📄 modmenuqx.jsp
字号:
<%
/**********************************************************
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" > <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> ");
else
out.print("<font color='blue'>"+QXtitle[4]+"</font> ");
}
}
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> ");
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
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%'> ");
////////////////////////////////////////////////////////////////////////////////////////////////////*
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 + -