leave-add.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. <link rel="stylesheet" href="plug-in/uploadify/css/uploadify.css" type="text/css" />
  9. <script type="text/javascript" src="plug-in/uploadify/jquery.uploadify-3.1.js"></script>
  10. <script src="plug-in/layer/layer.js"></script>
  11. <script>
  12. function btn_ok(){
  13. var userid = $("#userid").val();
  14. if(userid != ''){
  15. $.ajax({
  16. url:"activitiLeaveController.do?isLeave",
  17. data:{userid:userid},
  18. dataType:"json",
  19. type:"POST",
  20. success:function(result){
  21. if(result.success){
  22. $("#btnsub").click();
  23. }else{
  24. layer.alert(result.msg);
  25. }
  26. }
  27. });
  28. }else{
  29. $("#btnsub").click();
  30. }
  31. }
  32. function callback(data){
  33. jeecgFormFileCallBack(data);
  34. if(data.success){
  35. layer.alert(data.msg,{ icon: 0 , closeBtn: 0 } , function(index){
  36. window.location.href="activitiLeaveController.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. $.Datatype.checkLeave = function (val, obj, frm) {
  49. var msg = true;
  50. var leaveType=$('select[name="leaveType"]').val();
  51. if(!leaveType) return msg;
  52. var userid = $('#userid').val();
  53. $.ajax({
  54. url: 'activitiLeaveController.do?checkLeave'
  55. , data: {userid: userid,leaveType:leaveType}
  56. , dataType: 'json'
  57. , method: "POST"
  58. , async: false
  59. , success: function (d) {
  60. if (!d.success) {
  61. msg = d.msg
  62. }
  63. }
  64. }
  65. )
  66. return msg;
  67. }
  68. })
  69. </script>
  70. <style type="text/css">
  71. .fixed-h{
  72. float:left;
  73. width:100%;
  74. min-height:630px;
  75. overflow:auto;
  76. background:#ffffff;
  77. }
  78. </style>
  79. </head>
  80. <body>
  81. <t:formvalid formid="formobj" dialog="false" tipSweep="true" usePlugin="password" layout="table" action="activitiLeaveController.do?doAdd" tiptype="1" callback="callback">
  82. <input id="id" name="id" type="hidden" value="${leavePage.id }"/>
  83. <input type="hidden" name="selfSubmit" value="0"/>
  84. <div class="fixed-h">
  85. <table style="width: 100%;" cellpadding="0" cellspacing="1" class="formtable">
  86. <tr>
  87. <td align="right"><label class="Validform_label"><span color="red" class="requiredIcon">*</span>离职员工:</label></td>
  88. <td class="value">
  89. <input id="userid" name="userid" type="hidden" value="" datatype="checkLeave"/>
  90. <input name="realName" class="inputxt" value="" id="realName" readonly="readonly" datatype="*" />
  91. <c:if test="${projectUser}">
  92. <t:choose hiddenName="userid" hiddenid="id"
  93. width="670" height="450" url="correctionController.do?userWorkflow&type=leave" name="userList1"
  94. icon="icon-select" title="选择离职员工" textname="realName" isclear="true" fun="linkage" isInit="true"></t:choose>
  95. </c:if>
  96. <c:if test="${not projectUser}">
  97. <t:choose hiddenName="userid" hiddenid="id"
  98. width="670" height="450" url="activitiLeaveController.do?userWorkflow" name="userList1"
  99. icon="icon-select" title="选择离职员工" textname="realName" isclear="true" fun="linkage" isInit="true"></t:choose>
  100. </c:if>
  101. <span class="Validform_checktip"></span>
  102. </td>
  103. </tr>
  104. <tr>
  105. <td align="right">
  106. <label class="Validform_label">
  107. 职务:
  108. </label>
  109. </td>
  110. <td class="value">
  111. <input id="duties" name="duties" disabled="disabled" type="text"/>
  112. </td>
  113. </tr>
  114. <tr>
  115. <td align="right">
  116. <label class="Validform_label">
  117. 岗位:
  118. </label>
  119. </td>
  120. <td class="value">
  121. <input id="station" name="station" disabled="disabled" type="text"/>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td align="right">
  126. <label class="Validform_label">
  127. 项目:
  128. </label>
  129. </td>
  130. <td class="value">
  131. <input id="project" name="project" disabled="disabled" type="text"/>
  132. </td>
  133. </tr>
  134. <tr>
  135. <td align="right">
  136. <label class="Validform_label">
  137. <span color="red" class="requiredIcon">*</span>
  138. 离职日期:
  139. </label>
  140. </td>
  141. <td class="value">
  142. <input id="leaveDate" name="leaveDate" type="text" readonly="readonly" style="width: 150px" class="Wdate" onClick="WdatePicker()" datatype="*" nullmsg="离职日期不可为空!" />
  143. <span class="Validform_checktip"></span>
  144. <label class="Validform_label" style="display: none;">离职日期</label>
  145. </td>
  146. </tr>
  147. <tr>
  148. <td align="right">
  149. <label class="Validform_label">
  150. <span color="red" class="requiredIcon">*</span>
  151. 离职类型:
  152. </label>
  153. </td>
  154. <td class="value">
  155. <t:dictSelect field="leaveType" type="list" typeGroupCode="outType" datatype="*" defaultVal="${leavePage.leaveType}" hasLabel="false" title="离职类型"></t:dictSelect>
  156. <span class="Validform_checktip"></span>
  157. <label class="Validform_label" style="display: none;">离职类型</label>
  158. </td>
  159. </tr>
  160. <tr>
  161. <td align="right">
  162. <label class="Validform_label">
  163. <span color="red" class="requiredIcon">*</span>
  164. 离职原因:
  165. </label>
  166. </td>
  167. <td class="value" colspan="2" >
  168. <textarea style="width:600px;height: 80px;" class="inputxt" rows="6" id="leaveCause" maxlength="200" name="leaveCause" datatype="*" placeholder="请输入离职原因(最多输入文字数200)"></textarea>
  169. <label class="Validform_label" style="display: none;">离职原因</label>
  170. </td>
  171. </tr>
  172. <tr>
  173. <td align="right">
  174. <label class="Validform_label">
  175. <span color="red" class="requiredIcon">*</span>
  176. 离职报告:
  177. </label>
  178. </td>
  179. <td class="value">
  180. <t:webUploader auto="true"
  181. busiTable="jeecg_demo"
  182. bizType="departurefile"
  183. extensions="doc,docx,pdf,png,jpg"
  184. name="departurefile" duplicate="true" fileNumLimit="1" singlemode = 'true'
  185. nullMsg="离职报告不可为空"></t:webUploader>
  186. <span class="Validform_checktip Validform_right" style="display: none;">文件已上传</span>
  187. </td>
  188. </tr>
  189. <tr>
  190. <td align="right">
  191. <label class="Validform_label">
  192. 是否交接:
  193. </label>
  194. </td>
  195. <td class="value">
  196. <t:dictSelect field="istransfer" type="radio" typeGroupCode="isTransfer" datatype="*" defaultVal="0" hasLabel="false" title="是否交接"></t:dictSelect>
  197. <span class="Validform_checktip"></span>
  198. <label class="Validform_label" style="display: none;">是否交接</label>
  199. </td>
  200. </tr>
  201. <tr>
  202. <td align="right">
  203. <label class="Validform_label">
  204. 工资是否结算:
  205. </label>
  206. </td>
  207. <td class="value">
  208. <t:dictSelect field="issettlement" type="radio" typeGroupCode="is_balance" datatype="*" defaultVal="0" hasLabel="false" title="工资是否结算"></t:dictSelect>
  209. <span class="Validform_checktip"></span>
  210. <label class="Validform_label" style="display: none;">工资是否结算</label>
  211. </td>
  212. </tr>
  213. <%--新增--%>
  214. <tr>
  215. <td align="right">
  216. <label class="Validform_label">
  217. <span color="red" class="requiredIcon">*</span>
  218. 服装归还情况:
  219. </label>
  220. </td>
  221. <td class="value" colspan="2" >
  222. <textarea style="width:600px;height: 80px;" class="inputxt" rows="6" id="clothesInfo" maxlength="500" name="clothesInfo" datatype="*" placeholder="请输入服装归还情况(最多输入文字数500)"></textarea>
  223. <label class="Validform_label" style="display: none;">服装归还情况</label>
  224. </td>
  225. </tr>
  226. <tr>
  227. <td align="right">
  228. <label class="Validform_label">
  229. <span color="red" class="requiredIcon">*</span>
  230. 工具用品归还情况:
  231. </label>
  232. </td>
  233. <td class="value" colspan="2" >
  234. <textarea style="width:600px;height: 80px;" class="inputxt" rows="6" id="toolInfo" maxlength="500" name="toolInfo" datatype="*" placeholder="请输入工具用品归还情况(最多输入文字数500)"></textarea>
  235. <label class="Validform_label" style="display: none;">工具用品归还情况</label>
  236. </td>
  237. </tr>
  238. <tr>
  239. <td align="right">
  240. <label class="Validform_label">
  241. 工作交接人:
  242. </label>
  243. </td>
  244. <td class="value" colspan="2" >
  245. <input type="hidden" name="transferUser" id="transferUser"/>
  246. <input type="text" readonly="readonly" name="transferUserName" id="transferUserName"/>
  247. <c:if test="${empty param.load}">
  248. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="dutiesSearch" onclick="openSameDepartUserSelect()">选择</a>
  249. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="dutiesRedo" onclick="sameDepartUserClean()">清空</a>
  250. </c:if>
  251. <label class="Validform_label" style="display: none;">工作交接人</label>
  252. </td>
  253. </tr>
  254. <tr>
  255. <td align="right">
  256. <label class="Validform_label">
  257. <span color="red" class="requiredIcon">*</span>
  258. 工作交接情况说明:
  259. </label>
  260. </td>
  261. <td class="value" colspan="2" >
  262. <textarea style="width:600px;height: 80px;" class="inputxt" rows="6" id="transferInfo" maxlength="500" name="transferInfo" datatype="*" placeholder="请输入工作交接情况说明(最多输入文字数500)"></textarea>
  263. <label class="Validform_label" style="display: none;">工作交接情况说明</label>
  264. </td>
  265. </tr>
  266. <%--新增--%>
  267. <tr>
  268. <td height="50px" align="center" colspan="2">
  269. <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-confirm" onclick="btn_ok()">确定</a>
  270. <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
  271. <a style="margin-left:0px" href="#" class="easyui-linkbutton l-btn" plain="true" iconcls="icon-return" onclick="cal();">返回</a>
  272. </td>
  273. </tr>
  274. </table>
  275. </div>
  276. </t:formvalid>
  277. </body>
  278. <script src = "webpage/cn/com/lzt/leave/leave.js"></script>
  279. <script type="text/javascript">
  280. function linkage(){
  281. var userid = $('#userid').val();
  282. $.post('activitiLeaveController.do?userLinkage', {"userid" : userid}, function (data) {
  283. $('#duties').val(data.obj.dutiesName);
  284. $('#station').val(data.obj.postName);
  285. $('#project').val(data.obj.depName);
  286. }, "json");
  287. }
  288. $(function() {
  289. $(".btns").children("input").after("&nbsp;&nbsp;&nbsp;<span>(支持的离职报告格式为:word,pdf,png,jpg)</span>");
  290. $("#userid").next("input").next("a").next("a").attr("icon","icon-clean");
  291. $("#userid").next("input").next("a").next("a").children("span").children("span").attr("class","l-btn-text icon-clean l-btn-icon-left");
  292. });
  293. function cal(){
  294. window.location.href="activitiLeaveController.do?list";
  295. }
  296. function jeecgFormFileCallBack(data){
  297. if (data.success == true) {
  298. uploadFile(data);
  299. } else {
  300. if (data.responseText == '' || data.responseText == undefined) {
  301. $.messager.alert('错误', data.msg);
  302. $.Hidemsg();
  303. } else {
  304. try {
  305. var emsg = data.responseText.substring(data.responseText.indexOf('错误描述'), data.responseText.indexOf('错误信息'));
  306. $.messager.alert('错误', emsg);
  307. $.Hidemsg();
  308. } catch(ex) {
  309. $.messager.alert('错误', data.responseText + '');
  310. }
  311. }
  312. return false;
  313. }
  314. }
  315. function upload() {
  316. $('#departurefile').uploadify('upload', '*');
  317. }
  318. var neibuClickFlag = false;
  319. function neibuClick() {
  320. neibuClickFlag = true;
  321. $('#btn_sub').trigger('click');
  322. }
  323. function cancel() {
  324. $('#departurefile').uploadify('cancel', '*');
  325. }
  326. function uploadFile(data){
  327. if(!$("input[name='id']").val()){
  328. if(data.obj!=null && data.obj!='undefined'){
  329. $("input[name='id']").val(data.obj.id);
  330. }
  331. }
  332. if($(".uploadify-queue-item").length>0){
  333. upload();
  334. }else{
  335. if (neibuClickFlag){
  336. alert(data.msg);
  337. neibuClickFlag = false;
  338. }
  339. }
  340. }
  341. function openSameDepartUserSelect() {
  342. $.dialog.setting.zIndex = getzIndex();
  343. var transferUser = $("#transferUser").val();
  344. var userid = $('#userid').val();
  345. if(!userid){
  346. $.messager.alert('提示','请选择离职员工');
  347. return;
  348. }
  349. $.post('activitiLeaveController.do?getUserDepart',{userid:userid},function(data){
  350. $.dialog({content: 'url:publicpageController.do?userSelectSameDepart&departid='+data.departid
  351. , zIndex: getzIndex()
  352. , title: '选择交接人', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  353. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbacSameDepartUserSelect, focus: true},
  354. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  355. ]}).zindex();
  356. },'json');
  357. }
  358. function sameDepartUserClean(){
  359. $('#transferUser').val('');
  360. $('#transferUserName').val('');
  361. }
  362. function callbacSameDepartUserSelect(){
  363. var iframe = this.iframe.contentWindow;
  364. var selectedRows = iframe.getSelectedRow();
  365. console.log(selectedRows);
  366. var row = selectedRows[0];
  367. var id = row.id;
  368. var name = row.realName;
  369. $('#transferUser').val(id);
  370. $('#transferUserName').val(name);
  371. }
  372. </script>