datalist_a.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  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/income/datalist">有发票回款</a></li>
  9. <li class="layui-this"><a href="/finance/invoice/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="enter_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/invoice/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/invoice/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: 'enter_status',
  76. title: '回款状态',
  77. align: 'center',
  78. width: 100,
  79. templet:function(d){
  80. var html='<span class="red">『未回款』</span>';
  81. if(d.enter_status==1){
  82. html='<span class="blue">『部分回款』</span>';
  83. }
  84. else if(d.enter_status==2){
  85. html='<span class="green">『全部回款』</span>';
  86. }
  87. return html;
  88. }
  89. },{
  90. field: 'enter_amount',
  91. title: '回款金额(元)',
  92. align: 'right',
  93. width: 100,
  94. },{
  95. field: 'enter_time',
  96. title: '最新回款时间',
  97. align: 'center',
  98. width: 136
  99. },{
  100. field: 'invoice_title',
  101. minWidth: 240,
  102. title: '回款方名称',
  103. templet:function(d){
  104. var html='<span class="layui-badge layui-bg-blue">企业</span> '+d.invoice_title;
  105. if(d.types==2){
  106. html='<span class="layui-badge layui-bg-green">个人</span> '+d.invoice_title;
  107. }
  108. return html;
  109. }
  110. },{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
  111. let html='';
  112. if(d.open_status==2){
  113. html = '<span class="check-status-color-3">『已作废』</span>';
  114. }
  115. else{
  116. html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
  117. }
  118. return html;
  119. }
  120. },{
  121. field: 'amount',
  122. title: '申请回款金额(元)',
  123. align: 'right',
  124. width: 120,
  125. },{
  126. field: 'admin_name',
  127. title: '申请回款人',
  128. align: 'center',
  129. width: 90
  130. },{
  131. field: 'department',
  132. title: '所属部门',
  133. align: 'center',
  134. width: 120
  135. },{
  136. field: 'create_time',
  137. title: '申请时间',
  138. align: 'center',
  139. width: 150
  140. },{
  141. field: 'check_user',
  142. title: '当前审核人'
  143. },{
  144. field: 'right',
  145. fixed: 'right',
  146. title: '操作',
  147. width: 180,
  148. align: 'center',
  149. templet:function(d){
  150. var html='<div class="layui-btn-group">';
  151. var btn1='<span class="layui-btn layui-btn-xs" lay-event="add">回款管理</span>';
  152. var btn2='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">回款详情</span>';
  153. var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="tovoid">作废</span>';
  154. var btn4='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="novoid">反作废</span>';
  155. var btna1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view_a">详情</span>';
  156. var btna2='<span class="layui-btn layui-btn-xs" lay-event="edit_a">编辑</span>';
  157. var btna3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del_a">删除</span>';
  158. if(d.check_status==2){
  159. if(auth == 1){
  160. if(d.enter_status==0){
  161. if(d.open_status==2){
  162. html+=btn4+'</div>';
  163. }
  164. else{
  165. html+=btn1+btn2+btn3+'</div>';
  166. }
  167. }
  168. else{
  169. html+=btn1+btn2+'</div>';
  170. }
  171. }
  172. else{
  173. html+=btn2+'</div>';
  174. }
  175. }
  176. else{
  177. html+=btna1;
  178. if((d.check_status==0 ||d.check_status==4) && d.admin_id==login_admin){
  179. html+=btna2+btna3;
  180. }
  181. html+='</div>';
  182. }
  183. return html;
  184. }
  185. }
  186. ]
  187. ]
  188. });
  189. //监听行工具事件
  190. table.on('tool(test)', function(obj) {
  191. var data = obj.data;
  192. if (obj.event === 'add') {
  193. tool.side("/finance/income/add?id="+data.id);
  194. return;
  195. }
  196. if (obj.event === 'view') {
  197. tool.side("/finance/income/view?id="+data.id);
  198. return;
  199. }
  200. if (obj.event === 'tovoid') {
  201. layer.confirm('确定作废该无发票回款吗?', {
  202. icon: 3,
  203. title: '提示'
  204. }, function(index) {
  205. $.ajax({
  206. url: "/finance/api/tovoid",
  207. type:'post',
  208. data: {
  209. id: data.id
  210. },
  211. success: function(res) {
  212. layer.msg(res.msg);
  213. if (res.code == 0) {
  214. layui.pageTable.reload();
  215. }
  216. }
  217. })
  218. layer.close(index);
  219. });
  220. }
  221. if (obj.event === 'novoid') {
  222. layer.confirm('确定反作废该无发票回款吗?', {
  223. icon: 3,
  224. title: '提示'
  225. }, function(index) {
  226. $.ajax({
  227. url: "/finance/api/novoid",
  228. type:'post',
  229. data: {
  230. id: data.id
  231. },
  232. success: function(res) {
  233. layer.msg(res.msg);
  234. if (res.code == 0) {
  235. layui.pageTable.reload();
  236. }
  237. }
  238. })
  239. layer.close(index);
  240. });
  241. }
  242. if (obj.event === 'view_a') {
  243. tool.side("/finance/invoice/view_a?id="+data.id);
  244. return;
  245. }
  246. if (obj.event === 'edit_a') {
  247. tool.side("/finance/invoice/add_a?id="+data.id);
  248. return;
  249. }
  250. if (obj.event === 'del_a') {
  251. layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
  252. let callback = function (e) {
  253. layer.msg(e.msg);
  254. if (e.code == 0) {
  255. obj.del();
  256. }
  257. }
  258. tool.delete("/finance/invoice/del_a", { id: data.id }, callback);
  259. layer.close(index);
  260. });
  261. return;
  262. }
  263. });
  264. }
  265. </script>
  266. {/block}
  267. <!-- /脚本 -->