datalist.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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:132px;">
  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_loan" lay-filter="table_loan"></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/loan/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_loan"
  74. ,toolbar: "#toolbarDemo"
  75. ,title: '借支列表'
  76. ,url: "/finance/loan/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: 'balance_cost',
  100. title: '已冲抵金额(元)',
  101. align: 'right',
  102. width: 110,
  103. style:'color:#ff5722',
  104. templet: function(d){
  105. if(d.pay_status==1){
  106. return d.balance_cost;
  107. }
  108. return '-';
  109. }
  110. },{
  111. field:'balance_status',title: '冲抵状态',width:110, align:'center',templet: function(d){
  112. var html = '-';
  113. if(d.pay_status==1){
  114. html = '<span class="green">未冲抵</span>';
  115. if(d.balance_status == 1){
  116. html = '<span class="blue">部分冲抵</span>';
  117. }
  118. if(d.balance_status == 2){
  119. html = '<span class="red">已冲抵</span>';
  120. }
  121. }
  122. return html;
  123. }
  124. },
  125. {
  126. field: 'plan_time',
  127. title: '计划归还日期',
  128. align: 'center',
  129. width: 180,
  130. templet: function(d){
  131. var html = d.plan_time;
  132. if(d.delay<1 && d.loan_time<2 && d.back_status==0){
  133. html+= '<span class="red" style="font-size:12px;"> (到期,待归还)</span>';
  134. }
  135. if(d.back_status==1){
  136. html+= '<span class="green" style="font-size:12px;"> (已归还)</span>';
  137. }
  138. if(d.back_status==2){
  139. html+= '<span class="green" style="font-size:12px;"> (无需归还)</span>';
  140. }
  141. return html;
  142. }
  143. },
  144. {
  145. field: 'admin_name',
  146. title: '借支员工',
  147. align: 'center',
  148. width: 90
  149. },{
  150. field: 'department',
  151. title: '借支部门',
  152. align: 'center',
  153. width: 120
  154. },{
  155. field: 'title',
  156. title: '借支主题',
  157. minWidth: 200
  158. },{
  159. field: 'content',
  160. title: '借支理由',
  161. minWidth: 200
  162. },{
  163. field: 'create_time',
  164. title: '申请时间',
  165. align: 'center',
  166. width: 150
  167. },{
  168. field: 'check_user',
  169. title: '当前审核人',
  170. minWidth: 120
  171. },{
  172. field: 'pay_status',
  173. title: '打款状态',
  174. align: 'center',
  175. width: 90,
  176. templet:function(d){
  177. var html='';
  178. if(d.check_status==2){
  179. html = '<span class="red">『未打款』</span>';
  180. if(d.pay_status==1){
  181. html = '<span class="green">『已打款』</span>';
  182. }
  183. }
  184. else{
  185. html='-';
  186. }
  187. return html;
  188. }
  189. },{
  190. field: 'pay_name',
  191. title: '打款人',
  192. align: 'center',
  193. width: 80
  194. },{
  195. field: 'pay_time',
  196. title: '打款时间',
  197. align: 'center',
  198. width: 150
  199. }, {
  200. field: 'right',
  201. fixed: 'right',
  202. title: '操作',
  203. width: 130,
  204. align: 'center',
  205. templet:function(d){
  206. var html='<div class="layui-btn-group">';
  207. var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
  208. var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
  209. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
  210. html+=btn1;
  211. if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
  212. html+=btn2+btn3;
  213. }
  214. html+='</div>';
  215. return html;
  216. }
  217. }
  218. ]
  219. ]
  220. });
  221. table.on('tool(table_loan)',function (obj) {
  222. var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
  223. var data = obj.data;
  224. if (obj.event === 'view') {
  225. tool.side("/finance/loan/view?id="+data.id);
  226. return;
  227. }
  228. if (obj.event === 'edit') {
  229. tool.side("/finance/loan/add?id="+data.id);
  230. return;
  231. }
  232. if (obj.event === 'del') {
  233. layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
  234. let callback = function (e) {
  235. layer.msg(e.msg);
  236. if (e.code == 0) {
  237. obj.del();
  238. }
  239. }
  240. tool.delete("/finance/loan/del", { id: data.id }, callback);
  241. layer.close(index);
  242. });
  243. return;
  244. }
  245. });
  246. }
  247. </script>
  248. {/block}
  249. <!-- /脚本 -->