📄 selectuser.jsp
字号:
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.List,
java.util.ArrayList" %>
<%@ page import="cn.com.juneng.system.common.taglib.tree.ITreeService" %>
<%@ page import="cn.com.juneng.system.common.taglib.tree.TreeUtil" %>
<%@ page import="cn.com.juneng.system.common.taglib.tree.ITreeNode" %>
<%@ page import="cn.com.juneng.system.common.taglib.tree.SimpleTreeService" %>
<%@ page import="cn.com.juneng.system.common.SpringBeanFactory" %>
<%@ page import="cn.com.juneng.system.common.cache.SysOrgCache" %>
<%@ page import="cn.com.juneng.system.vo.SysUserVOImpl" %>
<%@ page import="cn.com.juneng.system.vo.SysOrgVOImpl" %>
<%@ page import="cn.com.juneng.system.common.COMMON" %>
<%@taglib uri="/WEB-INF/tag.tld" prefix="tag"%>
<html>
<title>用户选择器</title>
<STYLE type="text/css">
BODY{
font-size:8pt;
font-family:宋体;
}
.qInput
{
BORDER-RIGHT: #4587C4 0px solid;
BORDER-TOP: #4587C4 0px solid;
FONT-SIZE: 9pt;
BORDER-LEFT: #4587C4 0px solid;
COLOR: #0000A0;
BORDER-BOTTOM: #6C6D86 1px solid;
FONT-FAMILY: Arial, 宋体;
}
.savebutton { font-size: 9pt;background-color: #C3DBFC; border: #5683BE; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; text-align: center; padding-top: 2px}
</STYLE>
<script language="JavaScript" src="<%=request.getContextPath() %>/js/selectlist.js"></script>
<script language="JavaScript" src="<%=request.getContextPath() %>/js/Check.js"></script>
<script>
var fieldArray = new Array();
fieldArray[0]='userid';
setForm("document.form1", fieldArray);
function User(){
this.userid = ""; //用户id
this.account = ""; //用户帐号
this.username = ""; //用户名
this.deptid = ""; //用户部门ID
this.deptname = ""; //中文部门名
this.phone = ""; //固定电话
this.mobilephone = ""; //移动电话;
}
function isNull(str){
return str==null||str=="null";
}
var propArray = new Array();
var user = new User();
for(var obj in user)
{
propArray[propArray.length++] = obj;
addSetMethod("User",obj);
}
function addSetMethod(obj,prop){
var temp = (prop.substring(0,1).toUpperCase())+prop.substring(1);
eval(obj+".prototype.set"+temp+" = function("+prop+"){if(!isNull("+prop+")){this."+prop+" = "+prop+"}}");
}
</script>
<base target="_self">
<%!
SysOrgVOImpl getSysOrg(List allOrgList,String orgId){
for(int i=0;i<allOrgList.size();i++){
SysOrgVOImpl orgVO = (SysOrgVOImpl)allOrgList.get(i);
if(orgVO.getOrgId().equals(orgId)){
return orgVO;
}
}
return null;
}
String getFullSysOrgName(List allOrgList,String orgId){
List list = new ArrayList();
SysOrgVOImpl org = getSysOrg(allOrgList,orgId);
while(org != null&&!"0".equals(org.getOrgId())){
list.add(org);
org = getSysOrg(allOrgList,org.getParentId());
}
String result = "";
for(int i=0; i< list.size(); i++){
org = (SysOrgVOImpl)list.get(i);
if(i == 0){
result = org.getOrgName();
} else {
result = org.getOrgName()+"/"+result;
}
}
return result;
}
%>
<body onload="load()">
<%
long a = System.currentTimeMillis();
//要显示的机构
String orgId = request.getParameter("orgId");
//要过滤的用户
String userIds = request.getParameter("userIds");
if(userIds==null){
userIds = "";
}
String treeType = "SYS_ORG";
ITreeService treeService = TreeUtil.getTreeService(treeType);
ITreeNode node = null;
if(orgId!=null){
node = treeService.findByNodeId(orgId);
}
//是否多选
String multiple = request.getParameter("multiple")==null?"false":(String)request.getParameter("multiple");
//查找用户
String sql = "from SysUserVOImpl where 1=1 ";
if(orgId==null){
sql += "";
}else{
//orgid不为空
sql += " and orgId in ("+ SimpleTreeService.getAllSubNodeSql(orgId,"SYS_ORG")+")";
}
sql += " order by account";
System.out.println(sql);
List userList = SpringBeanFactory.getCommonService().getHibernateTemplate().find(sql);
List allOrgList = SysOrgCache.getInstance().getAllSysOrg();
%>
<script>
var userArr = new Array();
<%
SysUserVOImpl s_user = null;
for(int i=0;i<userList.size();i++){
s_user = (SysUserVOImpl)userList.get(i);
//用户过滤
if(userIds!=""&&(","+userIds+",").indexOf(","+s_user.getUserId()+",")!=-1){
continue;
}
%>
var user = new User();
user.setUserid("<%=s_user.getUserId()%>");
user.setAccount("<%=s_user.getAccount() %>");
user.setUsername("<%=s_user.getUsername()%>");
user.setDeptid("<%=s_user.getOrgId()%>");
user.setDeptname("<%=getFullSysOrgName(allOrgList,s_user.getOrgId())%>");
user.setPhone("<%=s_user.getTelephone() %>");
user.setMobilephone("<%=s_user.getMobile() %>");
userArr[userArr.length++] = user;
<%
}
%>
</script>
<form name="form1">
<table style="font-size:9pt;" align="left">
<tr bgcolor='#F0F5FF'>
<td>选择机构</td>
<td>
<%
if("true".equals(multiple)){
%>
<input type='checkbox' title="全选或反选" onclick="selectAll('userid')">
<%
}
%>
快速检索:<input type="text" class='qInput' title='按帐号或姓名检索' value='按帐号或姓名检索' onclick='clearValue()' name="query" id="query" onpropertychange="lookup()" onkeydown="if(event.keyCode==13){selectit();return false;}"></td>
</tr>
<tr bgcolor='#F0F5FF'>
<td valign="top" >
<div id="org" style="background:#EEEEEE;width:250px;height:250px;overflow:auto;border: 1 inset;">
<tag:tree treeName="<%=TreeUtil.getTreeName(treeType)%>" root="<%=node%>" treeService="<%=treeService%>" lazy="true"/>
</div>
</td>
<td valign="top">
<div id="users" style="background:#EEEEEE;width:300px;height:250px;overflow:auto;border: 1 inset;">
</div>
</td>
</tr>
<tr><td align="center" colspan="3">
<%
if("true".equals(multiple)){
%>
<input name="Submit" type="button" class="savebutton" value="选择" onclick="selectValue('<%=multiple%>'); return false;">
<%
}
%>
<input name="Submit" type="button" class="savebutton" value="关闭" onclick="CloseThis(); return false;">
</td></tr>
</table>
</form>
<script>
function clearValue(){
if(event.srcElement.value=="按帐号或姓名检索"){
event.srcElement.value = "";
}
}
//全选
function selectAll(idName){
var Ids = document.getElementsByName(idName);
for (i=0; i<Ids.length; i++)
{
if(Ids[i].disabled){
continue;
}
if(Ids[i].checked){
Ids[i].checked = false;
}else{
Ids[i].checked = true;
}
}
}
var multiple = "<%=multiple%>";
function selectNode(){
var node = atree.getSelected();
loadUser('deptid',node.value,1);
}
var allObj;
function getAllObject(){
return allObj;
}
function showUser(userArr){
allObj = userArr;
var div = "";
for(var i=0;i<userArr.length;i++){
var user = userArr[i];
if(multiple=="true"){
div+="<input id='u_"+user.userid+"' type='checkbox' name='userid' value='"+user.userid+"'>";
}else{
div+="<input id='u_"+user.userid+"' type='radio' name='userid' value='"+user.userid+"' onclick=\"javascript:selectValue('false')\">";
}
for(var j=0;j<propArray.length;j++){
if(propArray[j]!="userid"){
div+="<input type='hidden' name='"+propArray[j]+"' value='"+eval("user."+propArray[j])+"'>";
}
}
div+="<Label FOR='u_"+user.userid+"' id='"+user.userid+"' style='background:;width:250px' onmouseover=\"javascript:this.style.background='yellow'\" onmouseout=\"javascript:this.style.background=''\">"+user.account+"/"+user.username+"/"+user.deptname+"</Label><br>";
}
//alert(div);
document.getElementById("users").innerHTML = div;
}
/**
* prop:检索的属性名
* value:检索的属性值
* mode:匹配模式 0:模糊匹配 1:完全匹配
*/
var temp = null;
function loadUser(prop,value,mode){
temp = new Array();
if(value==""){
}else{
var k = 0;
for(var i=0;i<userArr.length;i++){
var user = userArr[i];
var v = eval("user."+prop+"");
if(mode==1){
if(v==value){
temp[k++] = user;
}
}
if(mode==0){
if(checkValue(v,"strStartsWith('"+value+"')")){
temp[k++] = user;
}
}
}
}
showUser(temp);
}
var timer;
function lookup(){
if(timer)clearTimeout(timer);
timer=setTimeout(goLookup,100);
}
function goLookup(){
var qv = form1.query.value;
if(checkValue(qv,"enOrNum")){
loadUser("account",qv,0);
}else{
loadUser("username",qv,0);
}
}
function selectit(){
if(temp!=null&&temp.length==1){
//if (eval(thisForm+"."+findFieldArray[0]+".checked==true")) {
form1.userid.click();
}
}
function load(){
//showUser(userArr);
form1.query.select();
form1.query.focus();
}
</script>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -