SelectUser2.jsp
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:12k
源码类别:

OA系统

开发平台:

Java

  1. <%@ page contentType="text/html; charset=GB2312"%>
  2. <%@ page import="com.gforce.gfoa.*,com.gforce.currency.*,java.util.*" %>
  3. <% Session m_session = new Session(session); %>
  4. <html>
  5.   <head>
  6.     <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta http-equiv="pragma" content="no-cache">
  7.     <title>短信息-- GForce OA 2.0</title>
  8.     <link href="/css/txt.jsp" rel="stylesheet" type="text/css">
  9.     <style type="text/css">
  10.       <!--
  11.       div {
  12.           font-size: 12px;
  13.           line-height: normal;
  14.       }
  15.       a {
  16.           font-size: 12px;
  17.           line-height: normal;
  18.           color: #000000;
  19.       }
  20.       td {
  21.           font-size: 12px;
  22.       }
  23.       -->
  24.     </style>
  25.   </head>
  26. <SCRIPT LANGUAGE="JavaScript">
  27. <!--
  28. var jsArray = new Array();
  29. <%
  30. Vector vt = DepartmentManager.getDepartmentTreeData();
  31. int i=0;
  32. for(int j=0;j<vt.size();j++,i++)
  33. {
  34.     String strFartherID = ((Vector)vt.get(j)).get(2).toString();
  35.     strFartherID = strFartherID.substring(0,strFartherID.length()-1);
  36.     strFartherID = strFartherID.substring(strFartherID.lastIndexOf("_")+1);
  37.     out.println("jsArray[" + i+ "] = new Array("" + ((Vector)vt.get(j)).get(0).toString() + "","" + ((Vector)vt.get(j)).get(1).toString() + "","" + strFartherID + "","" + ((Vector)vt.get(j)).get(2).toString() + "");");
  38. }
  39. out.println("var maxdept=" + i);
  40. vt = UserManager.getUserTreeData();
  41. for(int j=0;j<vt.size();j++,i++)
  42. {
  43.   String strStation=((Vector)vt.get(j)).get(4).toString();
  44.   String strDepartmentID=((Vector)vt.get(j)).get(2).toString();
  45.   if(strStation.trim().equalsIgnoreCase(""))
  46.   {
  47.     strStation="_0_";
  48.     strDepartmentID="0";
  49.   }
  50.   else
  51.   {
  52.     strStation+=strDepartmentID + "_";
  53.   }
  54.   out.println("jsArray[" + i + "] = new Array("" + ((Vector)vt.get(j)).get(0).toString() + "","" + ((Vector)vt.get(j)).get(1).toString() + "","" + strDepartmentID + "","" + strStation + "");");
  55. }
  56. %>
  57. function hasfile(shangjiid)
  58. {
  59.   for(var i = maxdept;i<jsArray.length;i++)
  60.   {
  61.     if(jsArray[i][3].indexOf("_" + shangjiid.toString() + "_" )>=0)
  62.     {
  63.       return true;
  64.     }
  65.   }
  66.   return false;
  67. }
  68. function isfilesallchecked(shangjiid)
  69. {
  70.   for(var i = maxdept;i<jsArray.length;i++)
  71.   {
  72.     if(jsArray[i][3].indexOf("_" + shangjiid.toString() + "_" )>=0)
  73.     {
  74.       if(eval("document.all.user_" + jsArray[i][0] + ".checked==false"))
  75.       {
  76.         return false;
  77.       }
  78.     }
  79.   }
  80.   return true;
  81. }
  82. function showtree(jibie,shangjiid,bline)
  83. {
  84.     if(jibie==0)
  85.     {
  86.         document.write("<div id="t" + jibie + "_" + shangjiid +"" style="display:">");
  87.     }
  88.     else
  89.     {
  90.         document.write("<div id="t" + jibie + "_" + shangjiid +"" style="display:none">");
  91.     }
  92.     var i,notislast,j,haschild;
  93.     notislast=false;
  94.     haschild=false;
  95.     for(i=0;i<jsArray.length;i++)
  96.     {
  97.         if(jsArray[i][2]==shangjiid.toString())
  98.         {
  99.             var j,maxorder=0;
  100.             haschild=false;
  101.             for(j=0;j<jsArray.length;j++)
  102.             {
  103.                 if((jsArray[j][2]==shangjiid.toString())&&maxorder<j)
  104.                 {
  105.                     maxorder=j;
  106.                 }
  107.             }
  108.             if(i<maxdept)
  109.             {
  110.               for(j=0;j<jsArray.length;j++)
  111.               {
  112.                 if(jsArray[j][2]==jsArray[i][0])
  113.                 {
  114.                     haschild=true;
  115.                     break;
  116.                 }
  117.               }
  118.             }
  119.             bline = bline.substr(0,jibie);
  120.             for(j=0;j<bline.length;j++)
  121.             if(bline.substr(j,1)=="1")
  122.                 document.write("<img align="absbottom" src="/images/tree/i.gif" border=0>");
  123.             else
  124.                 document.write("<img align="absbottom" src="/images/tree/white.gif" border=0>");
  125.             if(maxorder>i)
  126.             {
  127.                 if(haschild)
  128.                 {
  129.                   if(hasfile(parseInt(jsArray[i][0])))
  130.                   {
  131.                     document.write("<a href="" onclick="javascript:clicktree(" + (jibie + 1).toString() +"," + jsArray[i][0] + ");return false;" target="_self"><img align="absbottom" src="/images/tree/tplus.gif" border=0 name="n" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""><img align="absbottom" src="/images/tree/folderclosed.gif" border=0 name="f" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""></a><input type="checkbox" name="dept_" + jsArray[i][0] +"" value="" onclick="clickdept(" + jsArray[i][0] + ",this.checked);unselect('" + jsArray[i][3] + "',this.checked);">" + jsArray[i][1] + "<br>");
  132.                   }
  133.                   else
  134.                   {
  135.                     document.write("<a href="" onclick="javascript:clicktree(" + (jibie + 1).toString() +"," + jsArray[i][0] + ");return false;" target="_self"><img align="absbottom" src="/images/tree/tplus.gif" border=0 name="n" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""><img align="absbottom" src="/images/tree/folderclosed.gif" border=0 name="f" + (jibie + 1).toString() +"_" + jsArray[i][0] + "">" + jsArray[i][1] + "</a><br>");
  136.                   }
  137.                     bline += "1".toString();
  138.                     showtree(jibie + 1,jsArray[i][0],bline);
  139.                 }
  140.                 else
  141.                 {
  142.                     if(i<maxdept)
  143.                         document.write("<img align="absbottom" src="/images/tree/t.gif" border=0><img align="absbottom" src="/images/tree/folderclosed.gif" border=0>" + jsArray[i][1] + "<br>");
  144.                     else
  145.                         document.write("<img align="absbottom" src="/images/tree/t.gif" border=0><img align="absbottom" src="/images/tree/book.gif" border=0><input id="user_" + jsArray[i][0] + "" type="checkbox" name="userid" value="" + jsArray[i][0] + "" onclick="unselect('" + jsArray[i][3] + "',this.checked);">" + jsArray[i][1] + "<br>");
  146.                 }
  147.             }
  148.             else
  149.             {
  150.                 if(haschild)
  151.                 {
  152.                   if(hasfile(parseInt(jsArray[i][0])))
  153.                   {
  154.                     document.write("<a href="" onclick="javascript:clicktree(" + (jibie + 1).toString() +"," + jsArray[i][0] + ");return false;" target="_self"><img align="absbottom" src="/images/tree/lplus.gif" border=0 name="n" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""><img align="absbottom" src="/images/tree/folderclosed.gif" border=0 name="f" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""></a><input type="checkbox" name="dept_" + jsArray[i][0] +"" value="" onclick="clickdept(" + jsArray[i][0] + ",this.checked);unselect('" + jsArray[i][3] + "',this.checked);">" + jsArray[i][1] + "<br>");
  155.                   }
  156.                   else
  157.                   {
  158.                     document.write("<a href="" onclick="javascript:clicktree(" + (jibie + 1).toString() +"," + jsArray[i][0] + ");return false;" target="_self"><img align="absbottom" src="/images/tree/lplus.gif" border=0 name="n" + (jibie + 1).toString() +"_" + jsArray[i][0] + ""><img align="absbottom" src="/images/tree/folderclosed.gif" border=0 name="f" + (jibie + 1).toString() +"_" + jsArray[i][0] + "">" + jsArray[i][1] + "</a><br>");
  159.                   }
  160.                     bline += "0".toString();
  161.                     showtree(jibie + 1,jsArray[i][0],bline);
  162.                 }
  163.                 else
  164.                 {
  165.                     if(i<maxdept)
  166.                         document.write("<img align="absbottom" src="/images/tree/l.gif" border=0><img align="absbottom" src="/images/tree/folderclosed.gif" border=0>" + jsArray[i][1] + "<br>");
  167.                     else
  168.                         document.write("<img align="absbottom" src="/images/tree/l.gif" border=0><img align="absbottom" src="/images/tree/book.gif" border=0><input id="user_" + jsArray[i][0] + "" type="checkbox" name="userid" value="" + jsArray[i][0] + "" onclick="unselect('" + jsArray[i][3] + "',this.checked);">" + jsArray[i][1] + "<br>");
  169.                 }
  170.             }
  171.         }
  172.     }
  173.     document.write("</div>");
  174. }
  175. function clicktree(jibie,shangjiID)
  176. {
  177.     if(shangjiID>0)
  178.     if(eval("t" + jibie + "_" + shangjiID).style.display=="none")
  179.     {
  180.         eval("t" + jibie + "_" + shangjiID).style.display="";
  181.         if(eval("document.n" + jibie + "_" + shangjiID).src.toLowerCase().indexOf("/images/tree/tplus.gif")>=0)
  182.             eval("document.n" + jibie + "_" + shangjiID).src="/images/tree/tminus.gif";
  183.         else
  184.             eval("document.n" + jibie + "_" + shangjiID).src="/images/tree/lminus.gif";
  185.         eval("document.f" + jibie + "_" + shangjiID).src="/images/tree/folderopen.gif";
  186.     }
  187.     else
  188.     {
  189.         eval("t" + jibie + "_" + shangjiID).style.display="none";
  190.         if(eval("document.n" + jibie + "_" + shangjiID).src.toLowerCase().indexOf("/images/tree/tminus.gif")>=0)
  191.             eval("document.n" + jibie + "_" + shangjiID).src="/images/tree/tplus.gif";
  192.         else
  193.             eval("document.n" + jibie + "_" + shangjiID).src="/images/tree/lplus.gif";
  194.         eval("document.f" + jibie + "_" + shangjiID).src="/images/tree/folderclosed.gif";
  195.     }
  196. }
  197. function clickdept(deptid,isselected)
  198. {
  199.     with(document.selectuser)
  200.     {
  201.         for(var i=0;i<jsArray.length;i++)
  202.         {
  203.             if(jsArray[i][3].indexOf("_"+deptid.toString()+"_")>=0)
  204.             {
  205.               if(i<maxdept)
  206.               {
  207.                 if(hasfile(jsArray[i][0]))
  208.                 {
  209.                   eval("dept_" + jsArray[i][0] + "").checked = isselected;
  210.                 }
  211.               }
  212.               else
  213.               {
  214.                 checkuser(jsArray[i][0],isselected);
  215.               }
  216.             }
  217.         }
  218.     }
  219. }
  220. function selectcurrentuser(useridstring)
  221. {
  222.   with(document.selectuser)
  223.   {
  224.     for(var i=maxdept;i<jsArray.length;i++)
  225.     {
  226.       if(useridstring.indexOf(","+jsArray[i][0]+",")>=0)
  227.       {
  228.         checkuser(jsArray[i][0],true);
  229.       }
  230.     }
  231.     for(var i=0;i<maxdept;i++)
  232.     {
  233.       if(hasfile(jsArray[i][0]))
  234.       {
  235.         eval("document.selectuser.dept_" + jsArray[i][0]).checked = isfilesallchecked(jsArray[i][0]);
  236.       }
  237.     }
  238.     selectall.checked = isfilesallchecked(0);
  239.   }
  240. }
  241. function checkuser(useridvalue,isselected)
  242. {
  243.   with(document.selectuser)
  244.   {
  245.     try
  246.     {
  247.       eval("document.all.user_" + useridvalue + ".checked=isselected");
  248.     }
  249.     catch (ex)
  250.     {
  251.     }
  252.   }
  253. }
  254. function unselect(fatherids,isselected)
  255. {
  256.   var fatherArray = new Array();
  257.   fatherArray = (fatherids+"").split("_");
  258.   document.selectuser.selectall.checked = isfilesallchecked("0");
  259.   for(var i=1;i<fatherArray.length-1;i++)
  260.   {
  261.     if(i==1)
  262.     {
  263.       document.selectuser.selectall.checked = isfilesallchecked(fatherArray[i]);
  264.     }
  265.     else
  266.     {
  267.       eval("document.selectuser.dept_" + fatherArray[i]).checked = isfilesallchecked(fatherArray[i]);
  268.     }
  269.   }
  270. }
  271. function ckeckall()
  272. {
  273.     clickdept(0,document.selectuser.selectall.checked);
  274. }
  275. function returnvalue()
  276. {
  277.   var userids="",usernames="";
  278.   for(var i = maxdept;i<jsArray.length;i++)
  279.   {
  280.     if(eval("document.all.user_" + jsArray[i][0] + ".checked==true"))
  281.     {
  282.       userids+="," + jsArray[i][0];
  283.       usernames += "," + jsArray[i][1];
  284.     }
  285.   }
  286.   if(userids.length>0)
  287.   {
  288.     userids=userids.substr(1);
  289.     usernames=usernames.substr(1);
  290.     window.returnValue=userids + "|!|" + usernames;
  291.     window.close();
  292.     return false;
  293.   }
  294.   else
  295.   {
  296.     alert("请选择用户!");
  297.     return false;
  298.   }
  299. }
  300. //-->
  301. </SCRIPT>
  302. <BODY BGCOLOR='<%=m_session.GetString("BackColor")%>' LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
  303. <table width="100%"  border="0" cellspacing="0" cellpadding="0">
  304.   <form name="selectuser" method="post" action="" onsubmit="return returnvalue();">
  305.     <tr>
  306.       <td>
  307.         <img src="/images/tree/folderopen.gif" width="18" height="18" align="absbottom"><input type="checkbox" name="selectall" value="" onclick="ckeckall();">全部选择/取消<br>
  308.         <script language="JavaScript">
  309.         showtree(0,0,"");
  310.         selectcurrentuser(window.dialogArguments);
  311.         </script>
  312.       </td>
  313.     </tr>
  314.     <tr>
  315.       <td align="center">
  316.         <input type="submit" value="确定">&nbsp;&nbsp;&nbsp;<input type="reset" value="重选">&nbsp;&nbsp;&nbsp;<input type="button" value="清空" onclick="window.returnValue='';window.close();">&nbsp;&nbsp;&nbsp;<input type="button" value="取消" onclick="window.close();">
  317.       </td>
  318.     </tr>
  319.   </form>
  320. </table>
  321. </body>
  322. </html>