datalist_a.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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><a href="/finance/payment/datalist">有发票付款</a></li>
  9. <li class="layui-this"><a href="/finance/ticket/datalist_a">无发票付款</a></li>
  10. </ul>
  11. </div>
  12. </div>
  13. <form class="layui-form gg-form-bar border-x" id="barsearchform">
  14. <div class="layui-input-inline" style="width:175px;">
  15. <input type="text" class="layui-input" id="diff_time" placeholder="选择付款时间区间" readonly name="diff_time">
  16. </div>
  17. <div class="layui-input-inline" style="width:120px;">
  18. <select name="pay_status">
  19. <option value="">请选择状态</option>
  20. <option value="0">未付款</option>
  21. <option value="1">部分付款</option>
  22. <option value="2">全部付款</option>
  23. </select>
  24. </div>
  25. <div class="layui-input-inline search-item" style="width:120px;">
  26. <select name="check_status">
  27. <option value="">选择审批状态</option>
  28. {volist name=":get_check_status()" id="vo"}
  29. <option value="{$key}">{$vo}</option>
  30. {/volist}
  31. </select>
  32. </div>
  33. <div class="layui-input-inline" style="width:150px">
  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 class="layui-btn-container">
  42. <button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/finance/ticket/add_a">+ 添加无发票付款申请</button>
  43. </div>
  44. </script>
  45. {/block}
  46. <!-- /主体 -->
  47. <!-- 脚本 -->
  48. {block name="script"}
  49. <script>
  50. const auth = "{$auth}";
  51. const moduleInit = ['tool','tablePlus','laydatePlus'];
  52. function gouguInit() {
  53. var table = layui.tablePlus, tool = layui.tool, laydatePlus = layui.laydatePlus, element = layui.element;
  54. //日期范围
  55. var diff_time = new laydatePlus({'target':'diff_time'});
  56. layui.pageTable = table.render({
  57. elem: "#test"
  58. ,toolbar: "#toolbarDemo"
  59. ,url: "/finance/ticket/datalist_a"
  60. ,page: true
  61. ,limit: 20
  62. ,cellMinWidth: 80
  63. ,height: 'full-154'
  64. ,cellMinWidth: 80
  65. ,page: true //开启分页
  66. ,limit: 20
  67. ,cols: [
  68. [
  69. {
  70. field: 'id',
  71. title: 'ID号',
  72. align: 'center',
  73. width: 80
  74. },{
  75. field: 'pay_status',
  76. title: '付款状态',
  77. align: 'center',
  78. width: 100,
  79. templet:function(d){
  80. var html='<span class="red">『未付款』</span>';
  81. if(d.pay_status==1){
  82. html='<span class="blue">『部分付款』</span>';
  83. }
  84. else if(d.pay_status==2){
  85. html='<span class="green">『全部付款』</span>';
  86. }
  87. return html;
  88. }
  89. },{
  90. field: 'pay_amount',
  91. title: '付款金额(元)',
  92. align: 'right',
  93. width: 100,
  94. },{
  95. field: 'pay_time',
  96. title: '最新付款时间',
  97. align: 'center',
  98. width: 136
  99. },{
  100. field: 'supplier_name',
  101. title: '供应商[发票主体]',
  102. minWidth: 240
  103. },{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
  104. let html='';
  105. if(d.open_status==2){
  106. html = '<span class="check-status-color-3">『已作废』</span>';
  107. }
  108. else{
  109. html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
  110. }
  111. return html;
  112. }
  113. },{
  114. field: 'amount',
  115. title: '预付款金额(元)',
  116. align: 'right',
  117. width: 120,
  118. },{
  119. field: 'admin_name',
  120. title: '申请人',
  121. align: 'center',
  122. width: 90
  123. },{
  124. field: 'department',
  125. title: '所属部门',
  126. align: 'center',
  127. width: 120
  128. },{
  129. field: 'create_time',
  130. title: '申请时间',
  131. align: 'center',
  132. width: 150
  133. },{
  134. field: 'check_user',
  135. title: '当前审核人'
  136. },{
  137. field: 'right',
  138. fixed: 'right',
  139. title: '操作',
  140. width: 180,
  141. align: 'center',
  142. templet:function(d){
  143. var html='<div class="layui-btn-group">';
  144. var btn1='<span class="layui-btn layui-btn-xs" lay-event="add">付款管理</span>';
  145. var btn2='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">付款详情</span>';
  146. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="tovoid">作废</span>';
  147. var btn4='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="novoid">反作废</span>';
  148. var btna1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view_a">详情</span>';
  149. var btna2='<span class="layui-btn layui-btn-xs" lay-event="edit_a">编辑</span>';
  150. var btna3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del_a">删除</span>';
  151. if(d.check_status==2){
  152. if(auth == 1){
  153. if(d.pay_status==0){
  154. if(d.open_status==2){
  155. html+=btn4+'</div>';
  156. }
  157. else{
  158. html+=btn1+btn2+btn3+'</div>';
  159. }
  160. }
  161. else{
  162. html+=btn1+btn2+'</div>';
  163. }
  164. }
  165. else{
  166. html+=btn2+'</div>';
  167. }
  168. }
  169. else{
  170. html+=btna1;
  171. if((d.check_status==0 ||d.check_status==4) && d.admin_id==login_admin){
  172. html+=btna2+btna3;
  173. }
  174. html+='</div>';
  175. }
  176. return html;
  177. }
  178. }
  179. ]
  180. ]
  181. });
  182. //监听行工具事件
  183. table.on('tool(test)', function(obj) {
  184. var data = obj.data;
  185. if (obj.event === 'add') {
  186. tool.side("/finance/payment/add?id="+data.id);
  187. return;
  188. }
  189. if (obj.event === 'view') {
  190. tool.side("/finance/payment/view?id="+data.id);
  191. return;
  192. }
  193. if (obj.event === 'tovoid') {
  194. layer.confirm('确定作废该无发票付款申请吗?', {
  195. icon: 3,
  196. title: '提示'
  197. }, function(index) {
  198. $.ajax({
  199. url: "/finance/api/tovoid_ticket",
  200. type:'post',
  201. data: {
  202. id: data.id
  203. },
  204. success: function(res) {
  205. layer.msg(res.msg);
  206. if (res.code == 0) {
  207. layui.pageTable.reload();
  208. }
  209. }
  210. })
  211. layer.close(index);
  212. });
  213. }
  214. if (obj.event === 'novoid') {
  215. layer.confirm('确定反作废该无发票付款申请吗?', {
  216. icon: 3,
  217. title: '提示'
  218. }, function(index) {
  219. $.ajax({
  220. url: "/finance/api/novoid_ticket",
  221. type:'post',
  222. data: {
  223. id: data.id
  224. },
  225. success: function(res) {
  226. layer.msg(res.msg);
  227. if (res.code == 0) {
  228. layui.pageTable.reload();
  229. }
  230. }
  231. })
  232. layer.close(index);
  233. });
  234. }
  235. if (obj.event === 'view_a') {
  236. tool.side("/finance/ticket/view_a?id="+data.id);
  237. return;
  238. }
  239. if (obj.event === 'edit_a') {
  240. tool.side("/finance/ticket/add_a?id="+data.id);
  241. return;
  242. }
  243. if (obj.event === 'del_a') {
  244. layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
  245. let callback = function (e) {
  246. layer.msg(e.msg);
  247. if (e.code == 0) {
  248. obj.del();
  249. }
  250. }
  251. tool.delete("/finance/ticket/del_a", { id: data.id }, callback);
  252. layer.close(index);
  253. });
  254. return;
  255. }
  256. });
  257. }
  258. </script>
  259. {/block}
  260. <!-- /脚本 -->