add.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. .layui-table-min th{font-size:13px; text-align:center; background-color:#f8f8f8;}
  5. .layui-table-min td{font-size:13px; padding:6px;text-align:center;}
  6. </style>
  7. {/block}
  8. <!-- 主体 -->
  9. {block name="body"}
  10. <div class="layui-form p-page">
  11. <h3 class="pb-3">发票信息</h3>
  12. <table class="layui-table layui-table-form">
  13. <tr>
  14. <td class="layui-td-gray-2">发票金额(元)</td>
  15. <td class="blue">{$detail.amount}</td>
  16. <td class="layui-td-gray">发票类型</td>
  17. <td>
  18. {eq name="$detail.invoice_type" value="1"}增值税专用发票{/eq}
  19. {eq name="$detail.invoice_type" value="2"}普通发票{/eq}
  20. {eq name="$detail.invoice_type" value="3"}专业发票{/eq}
  21. </td>
  22. </tr>
  23. <tr>
  24. <td class="layui-td-gray">发票抬头</td>
  25. <td>{$detail.subject}</td>
  26. <td class="layui-td-gray-3">开票主体(供应商)</td>
  27. <td>{$detail.supplier_name}</td>
  28. </tr>
  29. {notempty name="$detail.remark"}
  30. <tr>
  31. <td class="layui-td-gray">备注信息</td>
  32. <td colspan="5">{$detail.remark}</td>
  33. </tr>
  34. {/notempty}
  35. {notempty name="$detail.file_ids"}
  36. <tr>
  37. <td class="layui-td-gray">关联附件</td>
  38. <td colspan="5">
  39. <div class="layui-row">
  40. {volist name="$detail.file_array" id="vo"}
  41. <div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
  42. {/volist}
  43. </div>
  44. </td>
  45. </tr>
  46. {/notempty}
  47. {if condition="$detail.open_admin_id > 0"}
  48. <tr>
  49. <td class="layui-td-gray">发票号码</td>
  50. <td>{$detail.code}</td>
  51. <td class="layui-td-gray">开票时间</td>
  52. <td>{$detail.open_time}</td>
  53. </tr>
  54. {/if}
  55. {notempty name="$detail.other_file_ids"}
  56. <tr>
  57. <td class="layui-td-gray">发票附件</td>
  58. <td colspan="5">
  59. <div class="layui-row">
  60. {volist name="$detail.other_file_array" id="vo"}
  61. <div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
  62. {/volist}
  63. </div>
  64. </td>
  65. </tr>
  66. {/notempty}
  67. </table>
  68. <h3 class="py-3">付款信息</h3>
  69. <form class="layui-form">
  70. <table class="layui-table layui-table-form">
  71. <tr>
  72. <td class="layui-td-gray">付款状态</td>
  73. <td>
  74. {if condition="($detail.pay_status == 0)"}
  75. <span class="red">未付款</span>
  76. {elseif condition="($detail.pay_status == 1)"}
  77. <span class="blue">部分付款</span>
  78. {elseif condition="($detail.pay_status == 2)"}
  79. <span class="green">全部付款</span>
  80. {/if}
  81. </td>
  82. <td class="layui-td-gray-2">未付款金额(元)</td>
  83. <td style="color:#FF5722">{$detail.not_pay}</td>
  84. <td class="layui-td-gray-2">已付款金额(元)</td>
  85. <td style="color:#1E9FFF">{$detail.pay_amount}</td>
  86. </tr>
  87. <tr>
  88. <td class="layui-td-gray">付款记录</td>
  89. <td colspan="5">
  90. <table id="interfix" class="layui-table layui-table-min" style="margin:0">
  91. <tr>
  92. <th style="width:200px;">付款日期</th>
  93. <th style="width:200px;">付款金额(元)</th>
  94. <th>备注</th>
  95. <th style="width:100px;">操作</th>
  96. </tr>
  97. {empty name="$detail.payment"}
  98. <tr class="none_interfix">
  99. <td colspan="4" style="text-align: center;">暂无付款记录</td>
  100. </tr>
  101. {else/}
  102. {volist name="$detail.payment" id="vo"}
  103. <tr class="more_interfix">
  104. <td>{$vo.pay_time | date='Y-m-d'}</td>
  105. <td>{$vo.amount}</td>
  106. <td style="text-align:left;">{$vo.remarks}</td>
  107. <td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove" data-id="{$vo.id}" data-tiid="{$id}">删除</a></td>
  108. </tr>
  109. {/volist}
  110. {/empty}
  111. </table>
  112. {if condition="($detail.pay_status lt 2)"}
  113. <div class="pt-3"><button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 添加付款记录</button></div>
  114. {/if}
  115. </td>
  116. </tr>
  117. </table>
  118. <div class="pt-3">
  119. <input name="ticket_id" id="ticket_id" type="hidden" value="{$id}">
  120. <input name="pay_type" id="pay_type" type="hidden" value="1">
  121. {if condition="($detail.pay_status lt 2)"}
  122. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存付款记录</button>
  123. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  124. {/if}
  125. {if condition="($detail.pay_status eq 0)"}
  126. <span class="layui-btn layui-btn-danger" lay-event="all">全部付款</span>
  127. {/if}
  128. {if condition="($detail.pay_status eq 1)"}
  129. <span class="layui-btn layui-btn-danger" lay-event="all">剩余部分全部付款</span>
  130. {/if}
  131. {if condition="($detail.pay_status gt 0)"}
  132. <span class="layui-btn layui-btn-warm" lay-event="refue">全部反付款</span>
  133. {/if}
  134. </div>
  135. </form>
  136. <input type="hidden" name="id" value="{$detail.id}">
  137. </div>
  138. {/block}
  139. <!-- /主体 -->
  140. <!-- 脚本 -->
  141. {block name="script"}
  142. <script>
  143. const moduleInit = ['tool'];
  144. function gouguInit() {
  145. var form = layui.form,tool=layui.tool,laydate = layui.laydate;
  146. //添加表格行
  147. $('#addInterfix').on('click',function(){
  148. var html = '';
  149. html += '<tr class="more_interfix">';
  150. html += '<td><input type="text" class="layui-input tool-time" name="pay_time[]" readonly lay-verify="required" lay-reqText="请选择付款日期">';
  151. html += '<td><input type="text" class="layui-input" name="amount[]" lay-verify="required|number" lay-reqText="请输入付款金额,数字"></td>';
  152. html += '<td><input type="text" class="layui-input" name="remarks[]"></td>';
  153. html += '<td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>';
  154. html += '</tr>';
  155. $("#interfix").find('.none_interfix').remove();
  156. $("#interfix").append(html);
  157. form.render();
  158. });
  159. //删除表格
  160. $('#interfix').on('click', '[lay-event="del"]', function() {
  161. $(this).parents(".more_interfix").remove();
  162. if($("#interfix").find('.more_interfix').length<1){
  163. $("#interfix").append('<tr class="none_interfix"><td colspan="4" style="text-align: center;">暂无付款记录</td></tr>');
  164. }
  165. });
  166. //删除付款记录
  167. $('#interfix').on('click', '[lay-event="remove"]', function() {
  168. var that=$(this);
  169. var id=that.data('id');
  170. var ticket_id=that.data('tiid');
  171. layer.confirm('确定要删除该付款记录?', {icon: 3, title:'提示'}, function(index){
  172. $.ajax({
  173. url: "/finance/payment/del",
  174. type:'post',
  175. data:{id:id,ticket_id:ticket_id},
  176. success:function(res){
  177. layer.msg(res.msg);
  178. if(res.code==0){
  179. parent.layui.pageTable.reload();
  180. window.setTimeout(function(){
  181. location.reload();
  182. },1200)
  183. }
  184. }
  185. })
  186. })
  187. });
  188. //监听提交
  189. form.on('submit(webform)', function(data){
  190. console.log(data.field);
  191. if($("#interfix").find('.tool-time').length<1){
  192. layer.msg('请添加付款记录');
  193. return false;
  194. }
  195. $.ajax({
  196. url: "/finance/payment/add",
  197. type:'post',
  198. data:data.field,
  199. success:function(res){
  200. layer.msg(res.msg);
  201. if(res.code==0){
  202. parent.layui.pageTable.reload();
  203. window.setTimeout(function(){
  204. location.reload();
  205. },1200)
  206. }
  207. }
  208. })
  209. return false;
  210. });
  211. $('.layui-form').on('click', '[lay-event="refue"]', function () {
  212. var ticket_id=$('#ticket_id').val();
  213. layer.confirm('确定要全部反付款?', {icon: 3, title:'提示'}, function(index){
  214. $.ajax({
  215. url: "/finance/payment/add",
  216. type:'post',
  217. data:{ticket_id:ticket_id,pay_type:3},
  218. success:function(res){
  219. layer.msg(res.msg);
  220. if(res.code==0){
  221. parent.layui.pageTable.reload();
  222. window.setTimeout(function(){
  223. location.reload();
  224. },1200)
  225. }
  226. }
  227. })
  228. })
  229. return false;
  230. })
  231. $('.layui-form').on('click', '[lay-event="all"]', function () {
  232. var ticket_id=$('#ticket_id').val();
  233. layer.confirm('确定已经全部付款?', {icon: 3, title:'提示'}, function(idx){
  234. layer.prompt({title: '选择付款日期', formType: 3,value :'',success: function(layero, index){
  235. $('.layui-layer-input').attr('readonly',true);
  236. lay('.layui-layer-input').each(function () {
  237. laydate.render({
  238. elem: this,
  239. trigger: 'click',
  240. showBottom:false
  241. });
  242. });
  243. layer.close(idx);
  244. }
  245. }, function(pay_time, index){
  246. if(pay_time ==''){
  247. layer.msg('选择付款日期');
  248. return false;
  249. }
  250. $.ajax({
  251. url: "/finance/payment/add",
  252. type:'post',
  253. data:{ticket_id:ticket_id,pay_type:2,pay_time:pay_time},
  254. success:function(res){
  255. layer.msg(res.msg);
  256. if(res.code==0){
  257. parent.layui.pageTable.reload();
  258. window.setTimeout(function(){
  259. location.reload();
  260. },1200)
  261. }
  262. }
  263. })
  264. })
  265. })
  266. return false;
  267. })
  268. }
  269. </script>
  270. {/block}
  271. <!-- /脚本 -->