holiday-view.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <title>休假申请表</title>
  7. <t:base type="jquery,easyui,tools,DatePicker"></t:base>
  8. <script src="plug-in/layer/layer.js"></script>
  9. <script>
  10. function btn_ok(){
  11. var id = $("#id").val();
  12. var userid = $("#userid").val();
  13. var stime = $("#holidayStime").val();
  14. var etime = $("#holidayEtime").val();
  15. if(userid != '' && stime != '' && etime != ''){
  16. $.ajax({
  17. url:"holidayController.do?isRepeat",
  18. data:{id:id,userid:userid,stime:stime,etime:etime},
  19. dataType:"json",
  20. type:"POST",
  21. success:function(result){
  22. if(result.success){
  23. $("#btnsub").click();
  24. }else{
  25. layer.alert(result.msg);
  26. }
  27. }
  28. });
  29. }else{
  30. $("#btnsub").click();
  31. }
  32. }
  33. function callback(data){
  34. if(data.success){
  35. layer.alert(data.msg,{ icon: 0 , closeBtn: 0 } , function(index){
  36. window.location.href="holidayController.do?list"
  37. layer.close(index);
  38. });
  39. }
  40. else{
  41. layer.alert(data.msg);
  42. }
  43. }
  44. </script>
  45. <script type="text/javascript">
  46. //编写自定义JS代码
  47. $(function(){
  48. $("#userid").next("input").next("a").next("a").attr("icon","icon-clean");
  49. $("#userid").next("input").next("a").next("a").children("span").children("span").attr("class","l-btn-text icon-clean l-btn-icon-left");
  50. var ls = ${holidayPage.holidayType};
  51. if(ls == '0' || ls == '1'){
  52. $(".otherthing").hide();
  53. $(".thting").show();
  54. }else{
  55. $(".thting").hide();
  56. $(".otherthing").show();
  57. }
  58. });
  59. function updateholidayType(){
  60. if($(".holidayType").val() == '0' || $(".holidayType").val() == '1'){
  61. $("#holidayStime2").val("");
  62. $("#holidayEtime2").val("");
  63. $(".otherthing").hide();
  64. $(".thting").show();
  65. }else{
  66. $("#holidayStime1").val("");
  67. $("#holidayEtime1").val("");
  68. $("#holidayDuration").val("");
  69. $(".thting").hide();
  70. $(".otherthing").show();
  71. }
  72. }
  73. function num(obj){
  74. obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
  75. obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
  76. obj.value = obj.value.replace(/\.{1,}/g,"."); //只保留第一个, 清除多余的
  77. obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
  78. obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.5'); //只能输入两个小数
  79. }
  80. function randomDate(){
  81. var holidayEtime2 = $("#holidayEtime2").val();
  82. if(holidayEtime2 != ''){
  83. var birthday = new Date(holidayEtime2.replace("-", "/").replace("-", "/"));
  84. var day = birthday.getDate();
  85. var month=birthday.getMonth() + 1;
  86. var year=birthday.getFullYear();
  87. if(day > 1){
  88. return year+"-"+month+"-01"+" 00:00";
  89. }else{
  90. return year+"-"+(month-1)+"-01"+" 00:00";
  91. }
  92. }
  93. }
  94. function randomDate1(){
  95. var holidayStime2 = $("#holidayStime2").val();
  96. if(holidayStime2 != ''){
  97. var birthday = new Date(holidayStime2.replace("-", "/").replace("-", "/"));
  98. var day = birthday.getDate();
  99. var month=birthday.getMonth() + 2;
  100. var year=birthday.getFullYear();
  101. if(day > 1){
  102. return year+"-"+month+"-01"+" 23:59";
  103. }else{
  104. return year+"-"+month+"-01 23:59";
  105. }
  106. }
  107. }
  108. function show1(){
  109. var mydate = new Date();
  110. var str = "" + mydate.getFullYear() + "-";
  111. var ss = (mydate.getMonth()+1);
  112. if((mydate.getMonth()+1) < 10){
  113. ss = "0"+(mydate.getMonth()+1);
  114. }
  115. str += ss + "-";
  116. var s1 = mydate.getDate();
  117. if(s1 < 10){
  118. s1 = "0"+(mydate.getDate());
  119. }
  120. str += s1;
  121. return str;
  122. }
  123. function show2(){
  124. var mydate = new Date();
  125. var str = "" + mydate.getFullYear() + "-";
  126. var ss = (mydate.getMonth()+1);
  127. if((mydate.getMonth()+1) < 10){
  128. ss = "0"+(mydate.getMonth()+1);
  129. }
  130. str += ss + "-";
  131. var s1 = mydate.getDate();
  132. if(s1 < 10){
  133. s1 = "0"+(mydate.getDate());
  134. }
  135. str += s1+ " ";
  136. var s2 = mydate.getHours();
  137. if(s2 < 10){
  138. s2 = "0"+mydate.getHours();
  139. }
  140. str += s2 + ":";
  141. var s3 = mydate.getMinutes();
  142. if(s3 < 10){
  143. s3 = "0"+mydate.getMinutes();
  144. }
  145. str += s3+ "";
  146. return str;
  147. }
  148. </script>
  149. </head>
  150. <body>
  151. <t:formvalid formid="formobj" dialog="false" tipSweep="true" usePlugin="password" layout="table" action="holidayController.do?doUpdate" tiptype="1" callback="callback">
  152. <input id="id" name="id" type="hidden" value="${holidayPage.id }"/>
  153. <table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
  154. <tr>
  155. <td align="right"><label class="Validform_label">所属部门:</label></td>
  156. <td class="value">
  157. <input name="realName" class="inputxt" value="${depart.glcName}" readonly="readonly"/>
  158. </td>
  159. </tr>
  160. <tr>
  161. <td align="right"><label class="Validform_label">休假员工:</label></td>
  162. <td class="value">
  163. <input id="userid" name="userid" type="hidden" value="${user.id}"/>
  164. <input name="realName" class="inputxt" value="${user.realName}" id="realName" readonly="readonly" datatype="*"/>
  165. <span class="Validform_checktip"></span>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td align="right">
  170. <label class="Validform_label">
  171. 休假类型:
  172. </label>
  173. </td>
  174. <td class="value">
  175. <c:if test="${empty flage}">
  176. <t:dictSelect field="holidayType" type="list" typeGroupCode="rest_type" readonly="readonly" datatype="*" defaultVal="${holidayPage.holidayType}" hasLabel="false" title="休假类型"></t:dictSelect>
  177. </c:if>
  178. <c:if test="${not empty flage}">
  179. <t:dictSelect field="holidayType" type="list" typeGroupCode="rest_type" extendJson="{onchange:updateholidayType(),class:holidayType}" datatype="*" defaultVal="${holidayPage.holidayType}" hasLabel="false" title="休假类型"></t:dictSelect>
  180. </c:if>
  181. <span class="Validform_checktip"></span>
  182. <label class="Validform_label" style="display: none;">休假类型</label>
  183. </td>
  184. </tr>
  185. <tr class="thting">
  186. <td align="right">
  187. <label class="Validform_label">
  188. 休假开始时间:
  189. </label>
  190. </td>
  191. <td class="value">
  192. <input id="holidayStime2" name="holidayStime2" type="text" style="width: 150px" <c:if test="${empty flage}"> disabled="disabled" </c:if> class="Wdate" onClick="var date=randomDate();WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:date,maxDate:'#F{$dp.$D(\'holidayEtime2\')}'})" datatype="*" nullmeg="休假开始时间不可为空!" ignore="checked" value='<fmt:formatDate value='${holidayPage.holidayStime}' type="date" pattern="yyyy-MM-dd HH:mm"/>' placeholder="yyyy-MM-dd HH:mm"/>
  193. <span class="Validform_checktip"></span>
  194. <label class="Validform_label" style="display: none;">休假开始时间</label>
  195. </td>
  196. </tr>
  197. <tr class="thting">
  198. <td align="right">
  199. <label class="Validform_label">
  200. 休假结束时间:
  201. </label>
  202. </td>
  203. <td class="value">
  204. <input id="holidayEtime2" name="holidayEtime2" type="text" style="width: 150px" <c:if test="${empty flage}"> disabled="disabled" </c:if> class="Wdate" onClick="var date1=randomDate1();WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:'#F{$dp.$D(\'holidayStime2\')}',maxDate:date1})" datatype="*" nullmeg="休假结束时间不可为空!" ignore="checked" value='<fmt:formatDate value='${holidayPage.holidayEtime}' type="date" pattern="yyyy-MM-dd HH:mm"/>' placeholder="yyyy-MM-dd HH:mm"/>
  205. <span class="Validform_checktip"></span>
  206. <label class="Validform_label" style="display: none;">休假结束时间</label>
  207. </td>
  208. </tr>
  209. <tr class="otherthing">
  210. <td align="right">
  211. <label class="Validform_label">
  212. 休假开始时间:
  213. </label>
  214. </td>
  215. <td class="value">
  216. <input id="holidayStime1" name="holidayStime1" type="text" style="width: 150px" <c:if test="${empty flage}"> disabled="disabled" </c:if> class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\'holidayEtime1\')}'})" datatype="*" nullmeg="休假开始时间不可为空!" ignore="checked" value='<fmt:formatDate value='${holidayPage.holidayStime}' type="date" pattern="yyyy-MM-dd"/>' placeholder="yyyy-MM-dd"/>
  217. <span class="Validform_checktip"></span>
  218. <label class="Validform_label" style="display: none;">休假开始时间</label>
  219. </td>
  220. </tr>
  221. <tr class="otherthing">
  222. <td align="right">
  223. <label class="Validform_label">
  224. 休假结束时间:
  225. </label>
  226. </td>
  227. <td class="value">
  228. <input id="holidayEtime1" name="holidayEtime1" type="text" style="width: 150px" <c:if test="${empty flage}"> disabled="disabled" </c:if> class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'holidayStime1\')}'})" datatype="*" nullmeg="休假结束时间不可为空!" ignore="checked" value='<fmt:formatDate value='${holidayPage.holidayEtime}' type="date" pattern="yyyy-MM-dd"/>' placeholder="yyyy-MM-dd"/>
  229. <span class="Validform_checktip"></span>
  230. <label class="Validform_label" style="display: none;">休假结束时间</label>
  231. </td>
  232. </tr>
  233. <tr class="otherthing">
  234. <td align="right"><label class="Validform_label"></label></td>
  235. <td class="value">
  236. (事假病假:整月内申请有效,跨月请假需分开提交)
  237. <span class="Validform_checktip"></span>
  238. </td>
  239. </tr>
  240. <tr>
  241. <td align="right"><label class="Validform_label">休假总时长:</label></td>
  242. <td class="value">
  243. <input name="holidayDuration" id="holidayDuration" type="text" style="width: 150px" <c:if test="${empty flage}"> disabled="disabled" </c:if> value="${holidayPage.holidayDuration}" class="inputxt" maxlength="4" onkeyup="num(this)" />小时(最小单位0.5小时)
  244. <span class="Validform_checktip"></span>
  245. </td>
  246. </tr>
  247. <tr>
  248. <td align="right">
  249. <label class="Validform_label">
  250. 休假原因:
  251. </label>
  252. </td>
  253. <td class="value" colspan="2" >
  254. <textarea style="width:600px;height: 80px;" class="inputxt" rows="6" id="holidayReason" <c:if test="${empty flage}"> disabled="disabled" </c:if> maxlength="200" name="holidayReason" datatype="*" placeholder="请输入休假原因(最多输入文字数200)">${holidayPage.holidayReason}</textarea>
  255. <span class="Validform_checktip"></span>
  256. <label class="Validform_label" style="display: none;">休假原因</label>
  257. </td>
  258. </tr>
  259. <tr>
  260. <td align="right">
  261. <label class="Validform_label">
  262. 附件:
  263. </label>
  264. </td>
  265. <td class="value" colspan="2" >
  266. <a href="javascript:void(0)" class="easyui-linkbutton l-btn" iconcls="icon-detail" onclick="showfile()"> 查看 </a>
  267. </td>
  268. </tr>
  269. <tr>
  270. <td style="text-align:center;" colspan="2">
  271. <input id="eli" value="${flage}" type="hidden"/>
  272. <c:forEach items="${transitionList}" var="trans">
  273. <li style="list-style:none;"><button class="btn btn-default" style="width:80px; height:35px;border-radius:5px;background:#3275C6;border:0 none;margin-right:5px;color:white;" type="button" id="${trans.nextnode}"
  274. onclick="popWriteOption1('<t:mutiLang langKey="common.task.operate"/>',800,300,'${trans.Transition }','${taskId}',${nextCodeCount},'${trans.nextnode}','${trans.nextnodeName}')" >${trans.Transition }<tton>
  275. </c:forEach>
  276. </td>
  277. </tr>
  278. </table>
  279. </t:formvalid>
  280. </body>
  281. <script src = "webpage/cn/com/lzt/holiday/holiday.js"></script>
  282. <script type="text/javascript">
  283. function callbackTable(msg){
  284. window.parent.callbackTable(msg);
  285. }
  286. function popWriteOption1(title,width,height,buttonTitle,taskId,nextNodeCount,nextNodeId){
  287. if($("#eli").val() != ''){
  288. var holidayType = $(".holidayType").val();
  289. var stime = $("#holidayStime2").val();
  290. var etime = $("#holidayEtime2").val();
  291. var stime1 = $("#holidayStime1").val();
  292. var etime1 = $("#holidayEtime1").val();
  293. var holidayDuration = $('#holidayDuration').val();
  294. if(holidayType == 0 || holidayType == 1){
  295. if(stime == ''){
  296. layer.alert("请选择休假开始时间!");
  297. return;
  298. }
  299. if(etime == ''){
  300. layer.alert("请选择休假结束时间!");
  301. return;
  302. }
  303. }else{
  304. if(stime1 == ''){
  305. layer.alert("请选择休假开始时间!");
  306. return;
  307. }
  308. if(etime1 == ''){
  309. layer.alert("请选择休假结束时间!");
  310. return;
  311. }
  312. }
  313. var temp = '';
  314. if(holidayType == 0 || holidayType == 1){
  315. if(holidayDuration == '' || holidayDuration == 0){
  316. layer.alert("请假类型为事假或病假时,休假总时长为必输入项!");
  317. return;
  318. }
  319. temp = '0';
  320. }else{
  321. temp = '1';
  322. stime = stime1;
  323. etime = etime1;
  324. }
  325. var id = $("#id").val();
  326. var userid = $("#userid").val();
  327. /* var stime = $("#holidayStime").val();
  328. var etime = $("#holidayEtime").val(); */
  329. $.ajax({
  330. url:"holidayController.do?isRepeat",
  331. data:{id:id,userid:userid,stime:stime,etime:etime,holidayType:temp},
  332. dataType:"json",
  333. type:"POST",
  334. success:function(result){
  335. if(result.success){
  336. var transferReason = $("#holidayReason").val();
  337. if(transferReason != ''){
  338. $.ajax({
  339. cache: true,
  340. type: "POST",
  341. url:"holidayController.do?doUpdate",
  342. data:$('#formobj').serialize(),// 你的formid
  343. dataType:"json",
  344. async: false,
  345. success: function(data) {
  346. dealProcFlowNoOption(title,taskId,nextNodeId,nextNodeCount,false);
  347. }
  348. });
  349. }else{
  350. layer.alert("休假原因不可为空!");
  351. }
  352. }else{
  353. layer.alert(result.msg);
  354. }
  355. }
  356. });
  357. }else{
  358. popWriteOption(title,width,height,buttonTitle,taskId,nextNodeCount,nextNodeId);
  359. }
  360. }
  361. function showfile(){
  362. var id = $("#id").val();
  363. $.dialog({
  364. content: 'url:publicpageController.do?tSysFileList&busiId='+id+'&busiTable=t_bus_holiday&bizType=t_bus_holiday&&readOnly=true', zIndex: getzIndex(), title: '附件列表', lock: true, width: '800px', height: '600px', opacity: 0.4, button: [
  365. {name: '<t:mutiLang langKey="common.close"/>', callback: function (){}}
  366. ]}).zindex();
  367. }
  368. </script>