flow_form_field_sel.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <%@ page import="java.util.*" %>
  3. <%@ page import="cn.js.fan.util.*" %>
  4. <%@ page import="com.redmoon.oa.person.*" %>
  5. <%@ page import="com.redmoon.oa.dept.*" %>
  6. <%@ page import="com.redmoon.oa.flow.*" %>
  7. <HTML><HEAD><TITLE>流程动作设定</TITLE>
  8. <link href="common.css" rel="stylesheet" type="text/css">
  9. <%
  10. String op = ParamUtil.get(request, "op");
  11. int flowId = ParamUtil.getInt(request, "flowId");
  12. WorkflowDb wfd = new WorkflowDb();
  13. wfd = wfd.getWorkflowDb(flowId);
  14. Leaf lf = new Leaf();
  15. lf = lf.getLeaf(wfd.getTypeCode());
  16. FormDb fd = new FormDb();
  17. fd = fd.getFormDb(lf.getFormCode());
  18. Vector v = fd.getFields();
  19. Iterator ir = v.iterator();
  20. String options = "";
  21. String fieldWrite = ParamUtil.get(request, "fieldWrite");
  22. String[] fds = fieldWrite.split(",");
  23. int len = fds.length;
  24. if (fieldWrite.equals(""))
  25. len = 0; // 当为空时,split所得的数组长度为1
  26. String[] fdsText = new String[len];
  27. while (ir.hasNext()) {
  28. FormField ff = (FormField) ir.next();
  29. boolean isFinded = false;
  30. for (int i=0; i<len; i++) {
  31. if (ff.getName().equals(fds[i])) {
  32. isFinded = true;
  33. fdsText[i] = ff.getTitle();
  34. }
  35. }
  36. if (!isFinded)
  37. options += "<option value='" + ff.getName() + "'>" + ff.getTitle() + "</option>";
  38. }
  39. String selOptions = "";
  40. for (int i=0; i<len; i++) {
  41. selOptions += "<option value='" + fds[i] + "'>" + fdsText[i] + "</option>";
  42. }
  43. %>
  44. <script language="JavaScript">
  45. function setFieldWrite() {
  46. var str = "";
  47. var strText = "";
  48. var opts = fieldsSelected.options;
  49. var len = opts.length;
  50. for (var i=0; i<len; i++) {
  51. if (str=="") {
  52. str = opts[i].value;
  53. strText = opts[i].text;
  54. }
  55. else {
  56. str += "," + opts[i].value;
  57. strText += "," + opts[i].text;
  58. }
  59. }
  60. window.opener.setFieldWriteValue(str);
  61. window.opener.setFieldWriteText(strText);
  62. window.close();
  63. }
  64. function sel() {
  65. var opts = fieldsNotSelected.options;
  66. var len = opts.length;
  67. var ary = new Array(len);
  68. for (var i=0; i<len; i++) {
  69. ary[i] = "0";
  70. if (opts(i).selected) {
  71. fieldsSelected.options.add(new Option(opts[i].text, opts[i].value));
  72. ary[i] = opts[i].value;
  73. }
  74. }
  75. for (var i=0; i<len; i++) {
  76. for (var j=0; j<len; j++) {
  77. if (ary[i]!="0") {
  78. try {
  79.     // 删除项目后,options会变短,因此用异常捕获来防止出错
  80. if (opts[j].value==ary[i])
  81. opts.remove(j);
  82. }
  83. catch(e) {
  84. }
  85. }
  86. }
  87. }
  88. }
  89. function notsel() {
  90. var opts = fieldsSelected.options;
  91. var len = opts.length;
  92. var ary = new Array(len);
  93. for (var i=0; i<len; i++) {
  94. ary[i] = "0";
  95. if (opts(i).selected) {
  96. fieldsNotSelected.options.add(new Option(opts[i].text, opts[i].value));
  97. ary[i] = opts[i].value;
  98. }
  99. }
  100. for (var i=0; i<len; i++) {
  101. for (var j=0; j<len; j++) {
  102. if (ary[i]!="0") {
  103. try {
  104.     // 删除项目后,options会变短,因此用异常捕获来防止出错
  105. if (opts[j].value==ary[i])
  106. opts.remove(j);
  107. }
  108. catch(e) {
  109. }
  110. }
  111. }
  112. }
  113. }
  114. </script>
  115. <META content="Microsoft FrontPage 4.0" name=GENERATOR><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  116. </HEAD>
  117. <BODY bgColor=#FBFAF0 leftMargin=4 topMargin=8 rightMargin=0 class=menubar onLoad="window_onload()">
  118. <jsp:useBean id="fchar" scope="page" class="cn.js.fan.util.StrUtil"/>
  119. <jsp:useBean id="cfg" scope="page" class="com.redmoon.oa.Config"/>
  120. <jsp:useBean id="privilege" scope="page" class="com.redmoon.oa.pvg.Privilege"/>
  121. <%
  122. String priv="read";
  123. if (!privilege.isUserPrivValid(request,priv))
  124. {
  125. // out.println(fchar.makeErrMsg("警告非法用户,你无访问此页的权限!"));
  126. // return;
  127. }
  128. %>
  129. <table width="501" height="293"  border="0" align="center" cellpadding="0" cellspacing="0" class="tableframe">
  130.   <tr>
  131.     <td height="23" colspan="3" class="right-title">&nbsp;&nbsp;<span>选择表单域 (表单名称:<%=fd.getName()%>)</span></td>
  132.   </tr>
  133.   <tr>
  134.     <td width="231" height="22" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下为已选的域</td>
  135.     <td width="37">&nbsp;</td>
  136.     <td width="231" height="22">以下为备选的域</td>
  137.   </tr>
  138.   <tr>
  139.     <td align="right"><select name="fieldsSelected" size=15 multiple style="width:200px">
  140. <%=selOptions%>
  141.     </select>    </td>
  142.     <td align="center" valign="middle"><input type="button" name="sel" value=" &lt; " onClick="sel()">
  143.       <br>
  144.       <br>
  145.     <input type="button" name="notsel" value=" &gt; " onClick="notsel()"></td>
  146.     <td>
  147. <select name="fieldsNotSelected" size=15 multiple style="width:200px">
  148. <%=options%>
  149.     </select>
  150. </td>
  151.   </tr>
  152.   <tr>
  153.     <td height="22" align="left">&nbsp;</td>
  154.     <td>&nbsp;</td>
  155.     <td height="22">&nbsp;</td>
  156.   </tr>
  157.   <tr align="center">
  158.     <td height="28" colspan="3"><input type="button" name="okbtn" value="确定" onClick="setFieldWrite()">
  159. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  160. <input type="button" name="cancelbtn" value="取消" onClick="window.close()"></td>
  161.   </tr>
  162. </table>
  163. </BODY></HTML>