affairreq.jsp
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:10k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page language="java" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
  3. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
  4. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
  5. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
  6. <%@ page import="java.text.SimpleDateFormat"%>
  7. <%@ page import="java.util.Date"%>
  8. <link href="<%=request.getContextPath()%>/Css_file/oa.css" rel="stylesheet" type="text/css" />
  9. <script src="<%=request.getContextPath()%>/Js_file/date.js"></script>
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11. <html:html lang="true">
  12.   <head>
  13.     <html:base />
  14.     
  15.     <title>事务发起</title>    
  16.     <meta http-equiv="pragma" content="no-cache">
  17.     <meta http-equiv="cache-control" content="no-cache">
  18.     <meta http-equiv="expires" content="0">    
  19.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  20.     <meta http-equiv="description" content="This is my page">
  21.   </head>
  22.   <body>
  23. <html:form action="/affairReq" method="post" styleId="form1">
  24. <table width="100%" border=1 class="myTable">
  25. <tr class="tableHead" >
  26. <td colspan="4"  align="center">事务发起</td>
  27. </tr>
  28.     <tr>
  29.       <td colspan="1" align="right">事务标题</td>
  30.       <td colspan="3" >
  31.       <html:text property="rtitle" maxlength="45" style="width: 100%" ></html:text>
  32.       </td>
  33.     </tr>    
  34.     <tr>
  35.   <td style="width: 135" align="right">事务类型</td>
  36.       <td>
  37.    <html:select  property="tno" onchange="init();">
  38. <html:option value="">请选择</html:option>
  39. <logic:iterate name="affair" id="affair" scope="request">
  40.    <option value="${affair.rtid}">${affair.tname}</option>
  41.    </logic:iterate>
  42. </html:select>
  43.       </td>
  44.       <td style="width: 95"  align="right">事务等级</td>
  45.       <td>
  46. <html:select  property="rgrade" > 
  47.     <html:option value="">请选择</html:option>
  48. <html:option value="0">一般</html:option> 
  49. <html:option value="1">重要</html:option> 
  50. <html:option value="2">紧急</html:option> 
  51. </html:select>
  52.   </td>      
  53. </tr>     
  54. <tr> 
  55.       <td style="width: 135"  align="right" >事务详情</td>
  56.       <td colspan="3">    
  57.       <textarea name="rdetail" rows="3" style="width:100%"></textarea>
  58.       </td>
  59.     </tr> 
  60.     
  61.     <tr>
  62.       <td style="width: 135"  align="right">事务开始时间</td>
  63.       <td colspan="3">
  64. <html:text property="rstarttime" onclick="setday(this);"  style="width: 100%" maxlength="45"  readonly="true"></html:text>
  65.   </td>      
  66.     </tr>
  67.     
  68.     <tr>
  69.       <td style="width: 135"  align="right">期望下一环节完成时间</td>
  70.       <td>
  71. <html:text property="rnexttime" onclick="setday(this);"  style="width: 100%" maxlength="45" readonly="true" ></html:text>
  72.   </td> 
  73.   <td style="width: 95"  align="right">期望总完成时间</td>
  74.       <td>
  75.   <html:text property="rlasttime" onclick="setday(this);"  style="width: 100%" maxlength="45" readonly="true" ></html:text>
  76.   </td>
  77.     </tr>
  78. <tr>
  79.       <td align="right" align="right"></td>
  80.       <td  colspan="3" align="left">
  81.       <input type="checkbox" name="rolename"  value="" onclick="init();" disabled="disabled"/>通过选择角色确定下一负责人</td>
  82.     </tr>
  83.     <tr>
  84.       <td align="right">下一环节处理者角色</td>
  85.       <td>
  86.   <select name="roleid" disabled="disabled" onchange="javascript:getUser(this.value);">
  87.   <option value="">请选择</option>
  88.       </select><span id="rolemsg"></span>
  89.       </td>
  90.       <td align="right">下一环节处理者</td>
  91.       <td><select name="userid" disabled="disabled">
  92.   <option value="">请选择</option>
  93.       </select>
  94.       </td>
  95.     </tr>
  96.     <tr>
  97.       <td align="right">事务备注</td>
  98.       <td colspan="3"><textarea name="rmemo"  rows="4"  style="width:100%"></textarea></td>
  99.     </tr>
  100.     <tr><td colspan="4" align="center">
  101.     <input type="hidden" value="transreq" name="task">
  102.     <input type="submit" name="Submit" value="提交" onclick="return check();"/>
  103.     <input type="reset" value="重置"/></td></tr>
  104. <tr class="tableHead" >
  105. <td colspan="4"  align="center"></td>
  106. </tr>
  107. </table>
  108. <a href="<%=request.getContextPath()%>/login.do?method=main"><strong> 返回首页<strong></a>
  109. </html:form>
  110. </body>
  111.   <script language="javascript">
  112. var xmlhttp_request;
  113. var onecount=0;//定义一个变量,用于记录数组中的长度。
  114. var subcat = new Array();//定义一个二维数组,用于存放用户的ID,名称和对应角色的ID。
  115. function initrequest(){
  116. if(window.XMLHttpRequest){//这种就是Mozilla
  117. xmlhttp_request = new XMLHttpRequest();
  118. }else if(window.ActiveXObject){//这种浏览器是IE
  119. try{
  120. xmlhttp_request = new ActiveXObject("Msxml2.XMLHttp");
  121. }catch(e){
  122. try{
  123. xmlhttp_request = new ActiceXObject("Microsoft.XMLHttp");
  124. }catch(e){
  125. }
  126. }
  127. }
  128. if(!xmlhttp_request){
  129. alert("您的浏览器不支持Ajax");
  130. return false;
  131. }
  132. }
  133. function init(){
  134. initrequest();
  135. var rtid = document.getElementById("tno").value;
  136. if (rtid != ""){
  137. if (document.getElementById("rolename").checked){
  138. var url = "${pageContext.request.contextPath}/affairReq.do?task=getProcessers&rtid="
  139. +rtid+"&type=role&step=0&sessionid="+Math.random();
  140. }else{
  141. var url = "${pageContext.request.contextPath}/affairReq.do?task=getProcessers&rtid="
  142. +rtid+"&type=user&step=0&sessionid="+Math.random();
  143. }
  144. xmlhttp_request.open("get",url,true);
  145. xmlhttp_request.onreadystatechange=getMsg;
  146. xmlhttp_request.send();
  147. }else{
  148. var userids = document.getElementById("userid");
  149. var roleids = document.getElementById("roleid");
  150. var rolenames = document.getElementById("rolename");
  151. userids.disabled="disabled";
  152. userids.innerHTML ="";
  153. roleids.disabled="disabled";
  154. roleids.innerHTML ="";
  155. rolenames.checked=false;
  156. rolenames.disabled=true;
  157. }
  158. }
  159. function getUser(roleidstr){
  160. document.getElementById("userid").length = 0;
  161.     for (var i=0;i<onecount;i++)
  162. {
  163.         if (subcat[i][1] == roleidstr)
  164.              document.getElementById("userid").options[document.getElementById("userid").length] = new Option(subcat[i][0], subcat[i][2]);
  165.         }        
  166.     }
  167. }
  168. function getMsg(){
  169. if (xmlhttp_request.readyState == 4){
  170. if (xmlhttp_request.status == 200){
  171. var xmlText = xmlhttp_request.responseXML;
  172. var userids = document.getElementById("userid");
  173. var roleids = document.getElementById("roleid");
  174. var rolenames = document.getElementById("rolename");
  175. if(!rolenames.checked){
  176. userids.disabled=false;
  177. rolenames.disabled=false;
  178. roleids.disabled=true;
  179. if (document.getElementById("tno").value!=""){
  180. userids.length = 0;
  181. var users = xmlText.getElementsByTagName("userid");
  182. for(var i = 0; i < users.length ;i++){
  183. var id = users[i].getAttribute("id");
  184. var name = users[i].text;
  185. userids.options[i] = new Option(name,id);
  186. }
  187. roleids.length = 0 ;
  188. }else{
  189. userids.innerHTML ="";
  190. }
  191. }else {
  192. roleids.disabled=false;
  193. roleids.length = 0;
  194. userids.length = 0;
  195. var roles = xmlText.getElementsByTagName("roleid");
  196. var users = xmlText.getElementsByTagName("userid");
  197. for(var j= 0 ;j < roles.length; j++){
  198. var id = roles[j].getAttribute("id");
  199. var name =roles[j].getAttribute("rolename");
  200. roleids.options[j] = new Option(name,id);
  201. var userid = roles[j].getElementsByTagName("userid")
  202. for (var k=0;k<userid.length;k++){
  203. if(userid[k].getAttribute("id") != ""){ 
  204. subcat[onecount] = new Array(userid[k].getAttribute("username"),id,userid[k].getAttribute("id"));
  205. onecount = onecount + 1;
  206. }
  207. }
  208. }
  209. if(roles.length>0){
  210. getUser(roles[0].getAttribute("id"));
  211. var test = document.getElementById("rolemsg").innerHTML="";
  212. }else{
  213. var test = document.getElementById("rolemsg").innerHTML="<a style='color: red'>没有相应的角色</a>";
  214. }
  215. }
  216. }else if (xmlhttp_request.status == 404){
  217. alert('地址没有找到');
  218. }else if (xmlhttp_request.status == 500){
  219. alert('服务端出现错误');
  220. }
  221. }
  222. }
  223. function check(){
  224. <%
  225. SimpleDateFormat  simple=new SimpleDateFormat("yyyy-MM-dd");
  226. String datetime=simple.format(new Date());
  227. %>
  228. if (isEmpty(document.getElementById("rtitle").value)){
  229. alert("请填写事务标题");
  230. document.getElementById("rtitle").focus();
  231. return false;
  232. }
  233. if (document.getElementById("tno").value==""){
  234. alert("请选择事务类型");
  235. document.getElementById("tno").focus();
  236. return false;
  237. }
  238.  
  239. if (document.getElementById("rgrade").value==""){
  240. alert("请填写事务等级");
  241. document.getElementById("rgrade").focus();
  242. return false;
  243. }
  244. if (isEmpty(document.getElementById("rdetail").value)){
  245. alert("请填写事务详情");
  246. document.getElementById("rdetail").focus();
  247. return false;
  248. }
  249. if (isEmpty(document.getElementById("rstarttime").value)){
  250. alert("请填写事务开始时间");
  251. document.getElementById("rstarttime").focus();
  252. return false;
  253. }
  254. if (isEmpty(document.getElementById("rnexttime").value)){
  255. alert("请填写下一环节期望完成时间");
  256. document.getElementById("rnexttime").focus();
  257. return false;
  258. }
  259. if (isEmpty(document.getElementById("rlasttime").value)){
  260. alert("请填写期望总完成时间");
  261. document.getElementById("rlasttime").focus();
  262. return false;
  263. if (document.getElementById("userid").value==""){
  264. alert("请填写下一环节处理者");
  265. return false;
  266. }
  267. if (document.getElementById("rlasttime").value <"<%=datetime%>"){
  268. alert("期望总完成时间不能小于当天时间!");
  269. document.getElementById("rlasttime").focus();
  270. return false;
  271. if (document.getElementById("rnexttime").value <"<%=datetime%>"){
  272. alert("期望下一环节完成时间不能小于当天时间!");
  273. document.getElementById("rnexttime").focus();
  274. return false;
  275. if (document.getElementById("rnexttime").value > document.getElementById("rlasttime").value){
  276. alert("总完成时间不能小于下一环节完成时间!");
  277. document.getElementById("rlasttime").focus();
  278. return false;
  279. }
  280. return true;
  281. }
  282. //去左右空格;
  283. function trim(s){
  284.      return rtrim(ltrim(s));
  285. }
  286. //去左空格;
  287. function ltrim(s){
  288.      return s.replace( /^s*/, "");
  289. }
  290. //去右空格;
  291. function rtrim(s){
  292.      return s.replace( /s*$/, "");
  293. }
  294. //验证信息;
  295. //空字符值;
  296. function isEmpty(s){
  297.     s = trim(s);
  298.     return s.length == 0;
  299. }
  300. </script>
  301. </html:html>