record.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-page">
  5. <form class="layui-form gg-form-bar border-t border-x" id="barsearchform">
  6. <div class="layui-input-inline" style="width:100px;">
  7. <input type="text" class="layui-input picker-admin" placeholder="选择报销人员" readonly name="uname" value="">
  8. <input type="hidden" name="uid" value="0">
  9. </div>
  10. <div class="layui-input-inline" style="width:175px;">
  11. <input type="text" class="layui-input" id="diff_time" placeholder="选择入账月份区间" readonly name="diff_time">
  12. </div>
  13. <div class="layui-input-inline" style="width:120px;">
  14. <select name="pay_status">
  15. <option value="">打款状态</option>
  16. <option value="0">未打款</option>
  17. <option value="1">已打款</option>
  18. </select>
  19. </div>
  20. <div class="layui-input-inline" style="width:150px">
  21. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  22. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
  23. </div>
  24. </form>
  25. <table class="layui-hide" id="test" lay-filter="test"></table>
  26. </div>
  27. <script type="text/html" id="toolbarDemo">
  28. <div class="layui-btn-container">
  29. <h3 class="h3-title" style="height:32px;">报销记录</h3>
  30. </div>
  31. </script>
  32. {/block}
  33. <!-- /主体 -->
  34. <!-- 脚本 -->
  35. {block name="script"}
  36. <script>
  37. const auth = {$authExpense};
  38. const moduleInit = ['tool','tablePlus','laydatePlus','oaPicker'];
  39. function gouguInit() {
  40. var form = layui.form,table = layui.tablePlus,tool=layui.tool, laydatePlus = layui.laydatePlus;
  41. //日期范围
  42. var diff_time = new laydatePlus({'target':'diff_time'});
  43. layui.pageTable = table.render({
  44. elem: '#test',
  45. title: '报销记录列表',
  46. toolbar: '#toolbarDemo',
  47. url: "/finance/expense/record", //数据接口
  48. cellMinWidth: 80,
  49. page: true, //开启分页
  50. limit: 20,
  51. height: 'full-114',
  52. totalRow: true,
  53. cols: [
  54. [
  55. {
  56. field: 'id',
  57. title: 'ID号',
  58. align: 'center',
  59. width: 80,
  60. totalRowText: '<div style="text-align:right">合计</div>'
  61. },{
  62. field: 'cost',
  63. title: '报销总金额(元)',
  64. align: 'right',
  65. width: 110,
  66. totalRow: function (d) {return d.TOTAL_ROW.cost}
  67. },{
  68. field: 'pay_amount',
  69. title: '需打款金额(元)',
  70. align: 'right',
  71. width: 110,
  72. totalRow: function (d) {return d.TOTAL_ROW.cost}
  73. },{
  74. field: 'pay_status',
  75. title: '打款/确认状态',
  76. align: 'center',
  77. width: 110,
  78. templet:function(d){
  79. var status = '打款';
  80. if(d.pay_amount==0){
  81. status = '确认';
  82. }
  83. var html='<span class="red">『未'+status+'』</span>';
  84. if(d.pay_status==1){
  85. html='<span class="yellow">『已'+status+'』</span>';
  86. }
  87. return html;
  88. }
  89. },{
  90. field: 'admin_name',
  91. title: '报销人员',
  92. align: 'center',
  93. width: 90
  94. },{
  95. field: 'department',
  96. title: '报销部门',
  97. align: 'center',
  98. width: 120
  99. },{
  100. field: 'code',
  101. title: '报销凭证编号',
  102. minWidth: 130,
  103. },{
  104. field: 'expense_time',
  105. title: '原始单据日期',
  106. align: 'center',
  107. width: 110
  108. },{
  109. field: 'income_month_str',
  110. title: '入账月份',
  111. align: 'center',
  112. width: 80
  113. },{
  114. field: 'create_time',
  115. title: '录入时间',
  116. align: 'center',
  117. width: 150
  118. },{
  119. field: 'pay_name',
  120. title: '打款/确认人',
  121. align: 'center',
  122. width: 110
  123. },{
  124. field: 'pay_time',
  125. title: '打款/确认时间',
  126. align: 'center',
  127. width: 150
  128. }, {
  129. field: 'right',
  130. fixed: 'right',
  131. title: '操作',
  132. width: 136,
  133. align: 'center',
  134. templet:function(d){
  135. var status = '打款';
  136. if(d.pay_amount==0){
  137. status = '确认';
  138. }
  139. var html='<div class="layui-btn-group">';
  140. var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
  141. var btn2='<span class="layui-btn layui-btn-warm layui-btn-xs" lay-event="open">标记为已'+status+'</span>';
  142. html+=btn1;
  143. if(d.pay_status==0 && auth==1){
  144. html+=btn2;
  145. }
  146. html+='</div>';
  147. return html;
  148. }
  149. }
  150. ]
  151. ]
  152. });
  153. //监听行工具事件
  154. table.on('tool(test)', function(obj) {
  155. var data = obj.data;
  156. if (obj.event === 'view') {
  157. tool.side("/finance/expense/view?id="+data.id);
  158. return;
  159. }
  160. if(obj.event === 'open'){
  161. let tips = '确定标记为已打款?';
  162. if(data.pay_amount==0){
  163. tips = '确定标记为已确认?';
  164. }
  165. layer.confirm(tips, {
  166. icon: 3,
  167. title: '提示'
  168. }, function(index) {
  169. let callback = function (e) {
  170. layer.msg(e.msg);
  171. if (e.code == 0) {
  172. layui.pageTable.reload();
  173. }
  174. }
  175. tool.post("/finance/api/topay", {id: data.id}, callback);
  176. layer.close(index);
  177. });
  178. }
  179. });
  180. }
  181. </script>
  182. {/block}
  183. <!-- /脚本 -->