leave_add.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <form class="layui-form p-page">
  5. <h3 class="pb-2">离职申请</h3>
  6. {if condition="$id eq 0"}
  7. <table class="layui-table layui-table-form">
  8. <tr>
  9. <td class="layui-td-gray">离职员工<font>*</font></td>
  10. <td>
  11. <input type="text" name="name" placeholder="请选择离职员工" lay-reqText="请选择离职员工" lay-verify="required" autocomplete="off" class="layui-input picker" readonly>
  12. <input type="hidden" name="uid" value="0" autocomplete="off">
  13. <input type="hidden" name="did" value="0" autocomplete="off">
  14. </td>
  15. <td class="layui-td-gray">所在部门</td>
  16. <td><input type="text" name="department" autocomplete="off" class="layui-input" readonly></td>
  17. </tr>
  18. <tr>
  19. <td class="layui-td-gray">离职日期<font>*</font></td>
  20. <td><input type="text" name="quit_time" lay-verify="required" autocomplete="off" placeholder="请选择离职日期" lay-reqText="请选择离职日期" readonly class="layui-input tool-time"></td>
  21. <td class="layui-td-gray-2">上级领导<font>*</font></td>
  22. <td>
  23. <input type="text" name="lead_admin_name" autocomplete="off" lay-verify="required" placeholder="请选择上级领导" lay-reqText="请选择上级领导" readonly class="layui-input picker-admin">
  24. <input type="hidden" name="lead_admin_id" autocomplete="off" value="0">
  25. </td>
  26. </tr>
  27. <tr>
  28. <td class="layui-td-gray-2">资料接受人<font>*</font></td>
  29. <td>
  30. <input type="text" name="connect_name" autocomplete="off" lay-verify="required" placeholder="请选择资料接受人" lay-reqText="请选择资料接受人" readonly class="layui-input picker-admin">
  31. <input type="hidden" name="connect_id" class="layui-input">
  32. </td>
  33. <td class="layui-td-gray-2">参与交接人员<font>*</font></td>
  34. <td>
  35. <input type="text" name="connect_names" autocomplete="off" lay-verify="required" placeholder="请选择参与交接人员" lay-reqText="请选择参与交接人员" readonly class="layui-input picker-admin" data-type="2">
  36. <input type="hidden" name="connect_uids" class="layui-input">
  37. </td>
  38. </tr>
  39. <tr>
  40. <td class="layui-td-gray">离职原因<font>*</font></td>
  41. <td colspan="3">
  42. <textarea name="remark" lay-verify="required" placeholder="请输入离职原因" lay-reqText="请输入离职原因" class="layui-textarea"></textarea>
  43. </td>
  44. </tr>
  45. <tr>
  46. <td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
  47. <td colspan="3">
  48. <div class="layui-row" id="uploadBox">
  49. <input data-type="file" type="hidden" name="file_ids" value="">
  50. </div>
  51. </td>
  52. </tr>
  53. </table>
  54. {else/}
  55. <table class="layui-table layui-table-form">
  56. <tr>
  57. <td class="layui-td-gray">离职员工</td>
  58. <td>{$detail.name}</td>
  59. <td class="layui-td-gray">所在部门</td>
  60. <td>
  61. {$detail.department}
  62. <input type="hidden" name="uid" value="{$detail.uid}" autocomplete="off">
  63. <input type="hidden" name="did" value="{$detail.did}" autocomplete="off">
  64. </td>
  65. </tr>
  66. <tr>
  67. <td class="layui-td-gray">离职日期<font>*</font></td>
  68. <td><input type="text" name="quit_time" value="{$detail.quit_time}" lay-verify="required" autocomplete="off" placeholder="请选择离职日期" lay-reqText="请选择离职日期" readonly class="layui-input tool-time">
  69. </td>
  70. <td class="layui-td-gray-2">上级领导<font>*</font></td>
  71. <td>
  72. <input type="text" name="lead_admin_name" autocomplete="off" value="{$detail.lead_admin_name}" lay-verify="required" placeholder="请选择上级领导" lay-reqText="请选择上级领导" readonly class="layui-input picker-admin">
  73. <input type="hidden" name="lead_admin_id" autocomplete="off" value="{$detail.lead_admin_id}">
  74. </td>
  75. </tr>
  76. <tr>
  77. <td class="layui-td-gray-2">资料接受人<font>*</font></td>
  78. <td>
  79. <input type="text" name="connect_name" autocomplete="off" lay-verify="required" placeholder="请选择资料接受人" lay-reqText="请选择资料接受人" readonly class="layui-input picker-admin" value="{$detail.connect_name}">
  80. <input type="hidden" name="connect_id" class="layui-input" value="{$detail.connect_id}">
  81. </td>
  82. <td class="layui-td-gray-2">参与交接人员<font>*</font></td>
  83. <td>
  84. <input type="text" name="connect_names" autocomplete="off" lay-verify="required" placeholder="请选择参与交接人员" lay-reqText="请选择参与交接人员" readonly class="layui-input picker-admin" data-type="2" value="{$detail.connect_names}">
  85. <input type="hidden" name="connect_uids" class="layui-input" value="{$detail.connect_uids}">
  86. </td>
  87. </tr>
  88. <tr>
  89. <td class="layui-td-gray">离职原因<font>*</font></td>
  90. <td colspan="3">
  91. <textarea name="remark" lay-verify="required" placeholder="请输入离职原因" lay-reqText="请输入离职原因" class="layui-textarea">{$detail.remark}</textarea>
  92. </td>
  93. </tr>
  94. <tr>
  95. <td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
  96. <td colspan="3">
  97. <div class="layui-row" id="uploadBox">
  98. <input data-type="file" type="hidden" name="file_ids" value="{$detail.file_ids|default=''}">
  99. {notempty name="$detail.file_ids"}
  100. {volist name="$detail.file_array" id="vo"}
  101. <div class="layui-col-md4">{:file_card($vo)}</div>
  102. {/volist}
  103. {/notempty}
  104. </div>
  105. </td>
  106. </tr>
  107. </table>
  108. {/if}
  109. <div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
  110. <div class="pt-4">
  111. <input type="hidden" name="id" value="{$id}" />
  112. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
  113. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  114. </div>
  115. </form>
  116. {/block}
  117. <!-- /主体 -->
  118. <!-- 脚本 -->
  119. {block name="script"}
  120. <script>
  121. const moduleInit = ['tool','uploadPlus','oaCheck','oaPicker'];
  122. function gouguInit() {
  123. var form = layui.form,tool=layui.tool,uploadPlus=layui.uploadPlus,oaCheck=layui.oaCheck,oaPicker=layui.oaPicker;
  124. oaCheck.init({
  125. check_name:'personal_quit',
  126. check_btn:0
  127. });
  128. var fileUp = new uploadPlus();
  129. $('body').on('click','[name="department"]',function(){
  130. var val=$(this).val();
  131. if(val==''){
  132. layer.msg('请选择离职员工');
  133. }
  134. });
  135. //选择员工弹窗
  136. $('body').on('click','.picker',function () {
  137. let that = $(this);
  138. let ids=that.next().val()+'',names = that.val()+'';
  139. oaPicker.employeeInit({
  140. ids:ids,
  141. names:names,
  142. type:1,//1是单选,2是多选
  143. callback:function(data){
  144. //这里是选择后的回调方法,可以根据具体需求自定义写哦
  145. let select_id=[],select_name=[],select_did=[],select_department=[];
  146. for(var a=0; a<data.length;a++){
  147. select_id.push(data[a].id);
  148. select_name.push(data[a].name);
  149. select_did.push(data[a].did);
  150. select_department.push(data[a].department);
  151. }
  152. that.val(select_name.join(','));
  153. that.next().val(select_id.join(','));
  154. $('[name="uid"]').val(select_id.join(','));
  155. $('[name="name"]').val(select_name.join(','));
  156. $('[name="did"]').val(select_did.join(','));
  157. $('[name="department"]').val(select_department.join(','));
  158. }
  159. });
  160. });
  161. //监听提交
  162. form.on('submit(webform)', function (data) {
  163. if(data.field.uid==data.field.lead_admin_id){
  164. layer.msg('离职员工和上级领导不能是同一个人');
  165. return false;
  166. }
  167. if(data.field.uid==data.field.connect_id){
  168. layer.msg('离职员工和资料接受人不能是同一个人');
  169. return false;
  170. }
  171. let callback = function (e) {
  172. layer.msg(e.msg);
  173. if (e.code == 0) {
  174. let checkCallback = function (e) {
  175. layer.msg(e.msg);
  176. if (e.code == 0) {
  177. tool.sideClose(1000);
  178. }
  179. }
  180. data.field.check_name = 'personal_quit';
  181. data.field.action_id = e.data.return_id;
  182. oaCheck.submit(data.field,checkCallback);
  183. }
  184. }
  185. let clickbtn = $(this);
  186. tool.post("/user/personal/leave_add", data.field, callback,clickbtn);
  187. return false;
  188. });
  189. }
  190. </script>
  191. {/block}
  192. <!-- /脚本 -->