datalist.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. .tab-5 .search-item{display:none;}
  5. </style>
  6. {/block}
  7. <!-- 主体 -->
  8. {block name="body"}
  9. <div class="p-page">
  10. <div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
  11. <div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
  12. <ul class="layui-tab-title">
  13. <li class="layui-this">全部</li>
  14. <li>我申请的</li>
  15. <li>待我审批</li>
  16. <li>我已审批</li>
  17. <li>抄送我的</li>
  18. <li>已打款</li>
  19. </ul>
  20. </div>
  21. </div>
  22. <form class="layui-form gg-form-bar border-x tab-0" id="barsearchform">
  23. <div class="layui-input-inline" style="width:175px;">
  24. <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
  25. </div>
  26. <div class="layui-input-inline search-item" style="width:120px;">
  27. <select name="check_status">
  28. <option value="">选择审批状态</option>
  29. {volist name=":get_check_status()" id="vo"}
  30. <option value="{$key}">{$vo}</option>
  31. {/volist}
  32. </select>
  33. </div>
  34. <div class="layui-input-inline search-item" style="width:120px;">
  35. <select name="pay_status">
  36. <option value="">打款状态</option>
  37. <option value="0">未打款</option>
  38. <option value="1">已打款</option>
  39. </select>
  40. </div>
  41. <div class="layui-input-inline" style="width:150px">
  42. <input type="hidden" name="tab" value="0"/>
  43. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  44. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
  45. </div>
  46. </form>
  47. <table class="layui-hide" id="table_expense" lay-filter="table_expense"></table>
  48. </div>
  49. <script type="text/html" id="toolbarDemo">
  50. <div class="layui-btn-container">
  51. <button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/finance/expense/add">+ 添加报销申请</button>
  52. </div>
  53. </script>
  54. {/block}
  55. <!-- /主体 -->
  56. <!-- 脚本 -->
  57. {block name="script"}
  58. <script>
  59. const moduleInit = ['tool','tablePlus','laydatePlus'];
  60. function gouguInit() {
  61. var table = layui.tablePlus, tool = layui.tool, laydatePlus = layui.laydatePlus, element = layui.element;
  62. //tab切换
  63. element.on('tab(tab)', function(data){
  64. $('[name="tab"]').val(data.index);
  65. $("#barsearchform")[0].reset();
  66. $("#barsearchform").attr('class','layui-form gg-form-bar border-x tab-'+data.index);
  67. layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
  68. return false;
  69. });
  70. //日期范围
  71. var diff_time = new laydatePlus({'target':'diff_time'});
  72. layui.pageTable = table.render({
  73. elem: "#table_expense"
  74. ,toolbar: "#toolbarDemo"
  75. ,title: '报销列表'
  76. ,url: "/finance/expense/datalist"
  77. ,page: true
  78. ,limit: 20
  79. ,cellMinWidth: 80
  80. ,height: 'full-154'
  81. ,cols: [[
  82. {
  83. field: 'id',
  84. title: 'ID号',
  85. align: 'center',
  86. width: 80
  87. }, {
  88. field: 'cost',
  89. title: '报销总金额(元)',
  90. align: 'right',
  91. width: 110,
  92. },{
  93. field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
  94. var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
  95. return html;
  96. }
  97. },
  98. {
  99. field: 'admin_name',
  100. title: '报销员工',
  101. align: 'center',
  102. width: 90
  103. },{
  104. field: 'department',
  105. title: '报销部门',
  106. align: 'center',
  107. width: 120
  108. },{
  109. field: 'code',
  110. title: '报销凭证编号',
  111. width: 150,
  112. },{
  113. field: 'expense_time',
  114. title: '原始单据日期',
  115. align: 'center',
  116. width: 110
  117. },{
  118. field: 'income_month_str',
  119. title: '入账月份',
  120. align: 'center',
  121. width: 80
  122. },{
  123. field: 'create_time',
  124. title: '录入时间',
  125. align: 'center',
  126. width: 150
  127. },{
  128. field: 'check_user',
  129. title: '当前审核人'
  130. },{
  131. field: 'pay_status',
  132. title: '打款状态',
  133. align: 'center',
  134. width: 90,
  135. templet:function(d){
  136. var html='';
  137. if(d.check_status==2){
  138. html = '<span class="red">『未打款』</span>';
  139. if(d.pay_status==1){
  140. html = '<span class="green">『已打款』</span>';
  141. }
  142. }
  143. else{
  144. html='-';
  145. }
  146. return html;
  147. }
  148. },{
  149. field: 'pay_name',
  150. title: '打款人',
  151. align: 'center',
  152. width: 80
  153. },{
  154. field: 'pay_time',
  155. title: '打款时间',
  156. align: 'center',
  157. width: 150
  158. }, {
  159. field: 'right',
  160. fixed: 'right',
  161. title: '操作',
  162. width: 130,
  163. align: 'center',
  164. templet:function(d){
  165. var html='<div class="layui-btn-group">';
  166. var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
  167. var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
  168. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
  169. html+=btn1;
  170. if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
  171. html+=btn2+btn3;
  172. }
  173. html+='</div>';
  174. return html;
  175. }
  176. }
  177. ]
  178. ]
  179. });
  180. table.on('tool(table_expense)',function (obj) {
  181. var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
  182. var data = obj.data;
  183. if (obj.event === 'view') {
  184. tool.side("/finance/expense/view?id="+data.id);
  185. return;
  186. }
  187. if (obj.event === 'edit') {
  188. tool.side("/finance/expense/add?id="+data.id);
  189. return;
  190. }
  191. if (obj.event === 'del') {
  192. layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
  193. let callback = function (e) {
  194. layer.msg(e.msg);
  195. if (e.code == 0) {
  196. obj.del();
  197. }
  198. }
  199. tool.delete("/finance/expense/del", { id: data.id }, callback);
  200. layer.close(index);
  201. });
  202. return;
  203. }
  204. });
  205. }
  206. </script>
  207. {/block}
  208. <!-- /脚本 -->