record.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  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. </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:150px">
  18. <input type="hidden" name="tab" value="0"/>
  19. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  20. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
  21. </div>
  22. </form>
  23. <table class="layui-hide" id="test" lay-filter="test"></table>
  24. </div>
  25. <script type="text/html" id="toolbarDemo">
  26. <div class="layui-btn-container">
  27. <h3 class="h3-title" style="height:32px;">收票列表</h3>
  28. </div>
  29. </script>
  30. {/block}
  31. <!-- /主体 -->
  32. <!-- 脚本 -->
  33. {block name="script"}
  34. <script>
  35. const auth = {$authInvoice};
  36. const moduleInit = ['tool','tablePlus','laydatePlus'];
  37. function gouguInit() {
  38. var table = layui.tablePlus, tool = layui.tool, laydatePlus = layui.laydatePlus, element = layui.element;
  39. //tab切换
  40. element.on('tab(tab)', function(data){
  41. $('[name="tab"]').val(data.index);
  42. $("#barsearchform")[0].reset();
  43. layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
  44. return false;
  45. });
  46. //日期范围
  47. var diff_time = new laydatePlus({'target':'diff_time'});
  48. layui.pageTable = table.render({
  49. elem: '#test',
  50. title: '收票列表',
  51. toolbar: '#toolbarDemo',
  52. url: "/finance/ticket/record", //数据接口
  53. cellMinWidth: 80,
  54. page: true, //开启分页
  55. limit: 20,
  56. height: 'full-154',
  57. totalRow: true,
  58. cols: [[
  59. {
  60. field: 'id',
  61. title: 'ID号',
  62. align: 'center',
  63. width: 80
  64. },{
  65. field: 'open_status',
  66. title: '发票状态',
  67. align: 'center',
  68. width: 90,
  69. templet:function(d){
  70. var html='';
  71. if(d.check_status==2){
  72. html = '<span class="green">『正常』</span>';
  73. if(d.open_status==2){
  74. html = '<span class="red">『已作废』</span>';
  75. }
  76. }
  77. else{
  78. html='-';
  79. }
  80. return html;
  81. },
  82. totalRowText: '<div style="text-align:right">合计</div>'
  83. },{
  84. field: 'amount',
  85. title: '发票金额(元)',
  86. align: 'right',
  87. width: 120,
  88. totalRow: function (d) {return d.TOTAL_ROW.amount}
  89. },{
  90. field: 'supplier_name',
  91. title: '供应商[发票主体]',
  92. minWidth: 240
  93. },{
  94. field: 'open_time',
  95. title: '发票日期',
  96. align: 'center',
  97. width: 100
  98. },{
  99. field: 'code',
  100. title: '发票号码',
  101. align: 'center',
  102. width: 160
  103. },{
  104. field: 'invoice_type',
  105. title: '开票类型',
  106. align: 'center',
  107. width: 120,
  108. templet:function(d){
  109. var html='-';
  110. if(d.invoice_type==1){
  111. html='<span class="green">增值税专用发票</span>';
  112. }
  113. else if(d.invoice_type==2){
  114. html='<span class="blue">普通发票</span>';
  115. }
  116. else if(d.invoice_type==3){
  117. html='<span class="red">专业发票</span>';
  118. }
  119. return html;
  120. }
  121. },{
  122. field: 'admin_name',
  123. title: '收票员工',
  124. align: 'center',
  125. width: 100
  126. },{
  127. field: 'department',
  128. title: '收票部门',
  129. align: 'center',
  130. width: 120
  131. },{
  132. field: 'create_time',
  133. title: '创建时间',
  134. align: 'center',
  135. width: 150
  136. },{
  137. field: 'right',
  138. fixed: 'right',
  139. title: '操作',
  140. width: 100,
  141. align: 'center',
  142. templet:function(d){
  143. var html='<div class="layui-btn-group">';
  144. var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
  145. var btn2='<span class="layui-btn layui-btn-warm layui-btn-xs" lay-event="tovoid">作废</span>';
  146. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="novoid">反作废</span>';
  147. html+=btn1;
  148. if(auth==1){
  149. if(d.open_status==1){
  150. html+=btn2;
  151. }
  152. if(d.open_status==2){
  153. html+=btn3;
  154. }
  155. }
  156. html+='</div>';
  157. return html;
  158. }
  159. }
  160. ]
  161. ]
  162. });
  163. //监听行工具事件
  164. table.on('tool(test)', function(obj) {
  165. var data = obj.data;
  166. if (obj.event === 'view') {
  167. tool.side("/finance/ticket/view?id="+data.id);
  168. return;
  169. }
  170. if (obj.event === 'tovoid') {
  171. layer.confirm('确定作废该发票吗?', {
  172. icon: 3,
  173. title: '提示'
  174. }, function(index) {
  175. $.ajax({
  176. url: "/finance/api/tovoid_ticket",
  177. type:'post',
  178. data: {
  179. id: data.id
  180. },
  181. success: function(res) {
  182. layer.msg(res.msg);
  183. if (res.code == 0) {
  184. layui.pageTable.reload();
  185. }
  186. }
  187. })
  188. layer.close(index);
  189. });
  190. }
  191. if (obj.event === 'novoid') {
  192. layer.confirm('确定反作废该发票吗?', {
  193. icon: 3,
  194. title: '提示'
  195. }, function(index) {
  196. $.ajax({
  197. url: "/finance/api/novoid_ticket",
  198. type:'post',
  199. data: {
  200. id: data.id
  201. },
  202. success: function(res) {
  203. layer.msg(res.msg);
  204. if (res.code == 0) {
  205. layui.pageTable.reload();
  206. }
  207. }
  208. })
  209. layer.close(index);
  210. });
  211. }
  212. });
  213. }
  214. </script>
  215. {/block}
  216. <!-- /脚本 -->