leave.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-page">
  5. <div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
  6. <div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
  7. <ul class="layui-tab-title">
  8. <li class="layui-this">全部</li>
  9. <li>我申请的</li>
  10. <li>待我审批</li>
  11. <li>我已审批</li>
  12. <li>抄送我的</li>
  13. </ul>
  14. </div>
  15. </div>
  16. <form class="layui-form gg-form-bar border-x tab-0" id="barsearchform">
  17. <div class="layui-input-inline search-item" style="width:150px;">
  18. <select name="check_status">
  19. <option value="">选择审批状态</option>
  20. {volist name=":get_check_status()" id="vo"}
  21. <option value="{$key}">{$vo}</option>
  22. {/volist}
  23. </select>
  24. </div>
  25. <div class="layui-input-inline" style="width:150px;">
  26. <input type="text" class="layui-input picker-oa" data-types="department" placeholder="选择离职部门" readonly>
  27. <input type="text" name="did" style="display:none;">
  28. </div>
  29. <div class="layui-input-inline" style="width:175px;">
  30. <input type="text" class="layui-input" id="quit_time" placeholder="选择离职日期" readonly name="quit_time">
  31. </div>
  32. <div class="layui-input-inline" style="width:150px">
  33. <input type="hidden" name="tab" value="0"/>
  34. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  35. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
  36. </div>
  37. </form>
  38. <table class="layui-hide" id="test" lay-filter="test"></table>
  39. </div>
  40. <script type="text/html" id="toolbarDemo">
  41. <div>
  42. <button class="layui-btn layui-btn-sm" lay-event="add">+ 添加离职申请</button>
  43. </div>
  44. </script>
  45. {/block}
  46. <!-- /主体 -->
  47. <!-- 脚本 -->
  48. {block name="script"}
  49. <script>
  50. const moduleInit = ['tool','tablePlus','laydatePlus','oaPicker'];
  51. function gouguInit() {
  52. var table = layui.tablePlus, tool = layui.tool,form = layui.form,element = layui.element,laydatePlus = layui.laydatePlus;
  53. //日期范围
  54. var quit_time = new laydatePlus({'target':'quit_time'});
  55. //tab切换
  56. element.on('tab(tab)', function(data){
  57. $('[name="tab"]').val(data.index);
  58. $("#barsearchform")[0].reset();
  59. layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
  60. return false;
  61. });
  62. layui.pageTable = table.render({
  63. elem: '#test'
  64. , toolbar: '#toolbarDemo'
  65. ,defaultToolbar: false
  66. , url: "/user/personal/leave"
  67. , page: true //开启分页
  68. , limit: 20
  69. , height: 'full-154'
  70. , cols: [[
  71. { field: 'id', width: 80, title: '序号', align: 'center' }
  72. ,{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
  73. var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
  74. return html;
  75. }
  76. }
  77. , { field: 'name', width: 80, title: '离职员工', align: 'center','style':'color:#FF5722'}
  78. , { field: 'position', width: 100, title: '职位', align: 'center'}
  79. , { field: 'department', width: 120, title: '所在部门', align: 'center'}
  80. , { field: 'lead_admin_name', width: 80, title: '上级领导', align: 'center'}
  81. , { field: 'quit_time', width: 100,title: '离职日期', align: 'center'}
  82. , { field: 'status', width: 80,title: '交接状态', align: 'center',
  83. templet: function (d) {
  84. if(d.status==1){
  85. return '<span class="green">未交接</span>';
  86. }
  87. else{
  88. return '<span class="red">已交接</span>';
  89. }
  90. }
  91. }
  92. , { field: 'connect_name', width: 90, title: '资料接受人', align: 'center'}
  93. , { field: 'connect_time_str', width: 90, title: '交接日期', align: 'center'}
  94. , { field: 'remark', title: '离职原因'}
  95. , {field: 'admin_name',title: '申请人',align: 'center',width: 80}
  96. , {field: 'create_time',title: '申请时间',align: 'center',width: 150}
  97. , {field: 'check_user',title: '当前审核人'}
  98. , {
  99. field: 'right',
  100. fixed: 'right',
  101. title: '操作',
  102. width: 130,
  103. align: 'center',
  104. templet:function(d){
  105. var html='<div class="layui-btn-group">';
  106. var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
  107. var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
  108. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
  109. let btn4='<button class="layui-btn layui-bg-orange layui-btn-xs" lay-event="set">资料交接</button>';
  110. html+=btn1;
  111. if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
  112. html+=btn2+btn3;
  113. }
  114. if(d.check_status==2 && d.status==1){
  115. html+=btn4;
  116. }
  117. html+='</div>';
  118. return html;
  119. }
  120. }
  121. ]]
  122. });
  123. //监听行工具事件
  124. table.on('tool(test)', function(obj){
  125. var data = obj.data;
  126. if(obj.event === 'edit'){
  127. tool.side('/user/personal/leave_add?id='+data.id);
  128. return;
  129. }
  130. if(obj.event === 'view'){
  131. tool.side('/user/personal/leave_view?id='+data.id);
  132. return;
  133. }
  134. if (obj.event === 'set') {
  135. layer.confirm('确定要把【'+data.name+'】相关的项目、合同、客户等资料交接给【'+data.connect_name+'】吗?', { icon: 3, title: '提示' }, function (index) {
  136. let callback = function (e) {
  137. layer.msg(e.msg);
  138. if (e.code == 0) {
  139. layui.pageTable.reload();
  140. }
  141. }
  142. tool.delete("/user/api/leave_check", { id: data.id }, callback);
  143. layer.close(index);
  144. });
  145. }
  146. if (obj.event === 'del') {
  147. layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
  148. let callback = function (e) {
  149. layer.msg(e.msg);
  150. if (e.code == 0) {
  151. layui.pageTable.reload();
  152. }
  153. }
  154. tool.delete("/user/personal/leave_delete", { id: data.id }, callback);
  155. layer.close(index);
  156. });
  157. }
  158. });
  159. //表头工具栏事件
  160. table.on('toolbar(test)', function(obj){
  161. var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
  162. var data = checkStatus.data;
  163. if (obj.event === 'add') {
  164. tool.side("/user/personal/leave_add");
  165. return;
  166. }
  167. });
  168. }
  169. </script>
  170. {/block}
  171. <!-- /脚本 -->