index.blade.php 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. @extends('layouts.app')
  2. @section('title','总账单')
  3. @section('content')
  4. @include('shared._messages')
  5. @include('shared._error')
  6. <div id="list" class="d-none">
  7. <div class="container-fluid">
  8. <div id="form_div"></div>
  9. <div class="row">
  10. <div class="col-3">
  11. <div class="row pt-2">
  12. <span class="fa fa-user fa-4x offset-md-3" style="color: #4c2584;opacity: 0.3"></span>
  13. <span class="ml-4 mt-2"><h5 class="font-weight-bold">{{ $owner->name }}</h5><p
  14. class="text-muted">货主</p></span>
  15. </div>
  16. </div>
  17. <div class="col-3">
  18. <div class="row pt-2">
  19. <span class="fa fa-user fa-4x offset-md-3" style="color: #4c2584;opacity: 0.3"></span>
  20. <span class="ml-4 mt-2"><h5 class="font-weight-bold">@{{ feeTotal['fee'] }}</h5><p
  21. class="text-muted">总费用</p></span>
  22. </div>
  23. </div>
  24. <div v-if="(isArchived===1)" class="col-3">
  25. <div class="row pt-2">
  26. <span class="fa fa-check-circle fa-4x offset-md-3" aria-hidden="true"
  27. style="color: #4c2584;opacity: 0.3"></span>
  28. <span class="ml-4 mt-2"><h5 class="font-weight-bold">已确认</h5></span>
  29. </div>
  30. </div>
  31. <div v-else class="col-3">
  32. <div class="row pt-2">
  33. <form action="{{ 'totalFee/confirmBill' }}" method="post" style="display: inline-block;"
  34. onsubmit="return confirm('您确定要确认金额吗?');">
  35. {{ csrf_field() }}
  36. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  37. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  38. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  39. <span class="ml-4 mt-2">
  40. <button type="submit" class="btn btn-success btn-lg">
  41. <i class="far fa-trash-alt"></i> 确认金额
  42. </button>
  43. </span>
  44. </form>
  45. </div>
  46. </div>
  47. </div>
  48. <table class="table text-nowrap table-hover table-bordered table-striped">
  49. <tr>
  50. <th>费用名称</th>
  51. <th>收费项目</th>
  52. <th>费用描述</th>
  53. <th>金额</th>
  54. <th>操作</th>
  55. </tr>
  56. <template v-if="feeTotal['information']??false">
  57. <tr>
  58. <td>
  59. <a target="_blank"
  60. href="{{ route('settlementBills.storageFee.index',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">仓储费</a>
  61. </td>
  62. <td class="m-0 p-0">
  63. <table class="table m-0 p-0">
  64. <tr v-for="item in feeTotal['information']['storageFee']">
  65. <td>@{{ item.name }}<span v-if="item.tax_fee>0" class="badge badge-info">税</span></td>
  66. </tr>
  67. </table>
  68. </td>
  69. <td class="m-0 p-0">
  70. <table class="table m-0 p-0">
  71. <tr v-for="item in feeTotal['information']['storageFee']">
  72. <td>@{{ item.remark }}</td>
  73. </tr>
  74. </table>
  75. </td>
  76. <td class="m-0 p-0">
  77. <table class="table m-0 p-0">
  78. <tr v-for="item in feeTotal['information']['storageFee']">
  79. <td>@{{ item.fee }}</td>
  80. </tr>
  81. </table>
  82. </td>
  83. <td class="m-0 p-0">
  84. <form v-if="isArchivedItems['storageFee']!==1" action="{{ 'storageFee/confirmBill' }}"
  85. method="post"
  86. onsubmit="return confirm('您确定要确认金额吗?');">
  87. {{ csrf_field() }}
  88. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  89. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  90. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  91. <span class="ml-4 mt-2">
  92. <button type="submit" class="btn btn-success">
  93. 确认金额
  94. </button>
  95. </span>
  96. </form>
  97. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  98. </td>
  99. </tr>
  100. <tr>
  101. <td>
  102. <a target="_blank"
  103. href="{{ route('settlementBills.storeFee.report',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">入库费</a>
  104. </td>
  105. <td class="m-0 p-0">
  106. <table class="table m-0 p-0">
  107. <tr v-for="item in feeTotal['information']['storeFee']">
  108. <td>@{{ item.name }}<span v-if="item.tax_fee>0" class="badge badge-info">税</span></td>
  109. </tr>
  110. </table>
  111. </td>
  112. <td class="m-0 p-0">
  113. <table class="table m-0 p-0">
  114. <tr v-for="item in feeTotal['information']['storeFee']">
  115. <td >
  116. <span v-for="itemInfo in item.remark">@{{ itemInfo }} </span>
  117. </td>
  118. </tr>
  119. </table>
  120. </td>
  121. <td class="m-0 p-0">
  122. <table class="table m-0 p-0">
  123. <tr v-for="item in feeTotal['information']['storeFee']">
  124. <td>@{{ item.fee }}</td>
  125. </tr>
  126. </table>
  127. </td>
  128. <td class="m-0 p-0">
  129. <form v-if="isArchivedItems['storeFee']!==1" action="{{ 'storeFee/report/confirmBill' }}"
  130. method="post"
  131. onsubmit="return confirm('您确定要确认金额吗?');">
  132. {{ csrf_field() }}
  133. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  134. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  135. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  136. <span class="ml-4 mt-2">
  137. <button type="submit" class="btn btn-success">
  138. 确认金额
  139. </button>
  140. </span>
  141. </form>
  142. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  143. </td>
  144. </tr>
  145. <tr>
  146. <td>
  147. <a target="_blank"
  148. href="{{ route('settlementBills.storeOutFee.report',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">出库费</a>
  149. </td>
  150. <td class="m-0 p-0">
  151. <table class="table m-0 p-0">
  152. <tr v-for="item in feeTotal['information']['storeOutFee']">
  153. <td>@{{ item.name }}<span v-if="item.tax_fee>0" class="badge badge-info">税</span></td>
  154. </tr>
  155. </table>
  156. </td>
  157. <td class="m-0 p-0">
  158. <table class="table m-0 p-0">
  159. <tr v-for="item in feeTotal['information']['storeOutFee']">
  160. <td>
  161. <span v-for="itemInfo in item.remark">@{{ itemInfo }} </span>
  162. </td>
  163. </tr>
  164. </table>
  165. </td>
  166. <td class="m-0 p-0">
  167. <table class="table m-0 p-0">
  168. <tr v-for="item in feeTotal['information']['storeOutFee']">
  169. <td>@{{ item.fee }}</td>
  170. </tr>
  171. </table>
  172. </td>
  173. <td class="m-0 p-0">
  174. <form v-if="isArchivedItems['storeOutFee']!==1" action="{{ 'storeOutFee/report/confirmBill' }}"
  175. method="post"
  176. onsubmit="return confirm('您确定要确认金额吗?');">
  177. {{ csrf_field() }}
  178. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  179. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  180. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  181. <span class="ml-4 mt-2">
  182. <button type="submit" class="btn btn-success">
  183. 确认金额
  184. </button>
  185. </span>
  186. </form>
  187. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  188. </td>
  189. </tr>
  190. <tr>
  191. <td>配送费</td>
  192. <td class="m-0 p-0">
  193. <table class="table m-0 p-0">
  194. <tr>
  195. <td>快递费<span v-if="feeTotal['express_tax_fee']>0" class="badge badge-info">税</span></td>
  196. </tr>
  197. <tr>
  198. <td>物流费<span v-if="feeTotal['logistic_tax_fee']>0" class="badge badge-info">税</span>
  199. </td>
  200. </tr>
  201. </table>
  202. </td>
  203. <td class="m-0 p-0">
  204. <table class="table m-0 p-0">
  205. <tr>
  206. <td><a target="_blank"
  207. href="{{ route('settlementBills.expressFee.report',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  208. </td>
  209. </tr>
  210. <tr>
  211. <td><a target="_blank"
  212. href="{{ route('settlementBills.logisticFee',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  213. </td>
  214. </tr>
  215. </table>
  216. </td>
  217. <td class="m-0 p-0">
  218. <table class="table m-0 p-0">
  219. <tr>
  220. <td>@{{ feeTotal['express_fee'] }}</td>
  221. </tr>
  222. <tr>
  223. <td>@{{ feeTotal['logistic_fee'] }}</td>
  224. </tr>
  225. </table>
  226. </td>
  227. <td class="m-0 p-0">
  228. <table class="table m-0 p-0">
  229. <tr>
  230. <td class="m-0 p-0">
  231. <form v-if="isArchivedItems['expressFee']!==1"
  232. action="{{ 'expressFee/report/confirmBill' }}"
  233. method="post"
  234. onsubmit="return confirm('您确定要确认金额吗?');">
  235. {{ csrf_field() }}
  236. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  237. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  238. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  239. <span class="ml-4 mt-2">
  240. <button type="submit" class="btn btn-success">
  241. 确认金额
  242. </button>
  243. </span>
  244. </form>
  245. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  246. </td>
  247. </tr>
  248. <tr>
  249. <td class="m-0 p-0">
  250. <form v-if="isArchivedItems['logisticFee']!==1"
  251. action="{{ 'logisticFee/confirmBill' }}"
  252. method="post"
  253. onsubmit="return confirm('您确定要确认金额吗?');">
  254. {{ csrf_field() }}
  255. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  256. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  257. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  258. <span class="ml-4 mt-2">
  259. <button type="submit" class="btn btn-success">
  260. 确认金额
  261. </button>
  262. </span>
  263. </form>
  264. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  265. </td>
  266. </tr>
  267. </table>
  268. </td>
  269. </tr>
  270. <tr>
  271. <td>库内加工</td>
  272. <td>加工作业<span v-if="feeTotal['process_tax_fee']>0" class="badge badge-info">税</span></td>
  273. <td><a target="_blank"
  274. href="{{ route('settlementBills.processFee',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  275. </td>
  276. <td>@{{ feeTotal['process_fee'] }}</td>
  277. <td class="m-0 p-0">
  278. <form v-if="isArchivedItems['processFee']!==1"
  279. action="{{ 'processFee/confirmBill' }}"
  280. method="post"
  281. onsubmit="return confirm('您确定要确认金额吗?');">
  282. {{ csrf_field() }}
  283. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  284. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  285. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  286. <span class="ml-4 mt-2">
  287. <button type="submit" class="btn btn-success">
  288. 确认金额
  289. </button>
  290. </span>
  291. </form>
  292. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  293. </td>
  294. </tr>
  295. <tr>
  296. <td>系统使用费</td>
  297. <td>系统使用费<span v-if="feeTotal['system_tax_fee']>0" class="badge badge-info">税</span></td>
  298. <td>-</td>
  299. <td>@{{ feeTotal['system_fee'] }}</td>
  300. </tr>
  301. <tr>
  302. <td>包材费</td>
  303. <td>包材费</td>
  304. <td><a target="_blank" href="{{ route('settlementBills.packingMaterialFee',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a></td>
  305. <td>@{{ feeTotal['packing_material_fee'] }}</td>
  306. <!-- TODO -->
  307. <td class="m-0 p-0">
  308. <form v-if="isArchivedItems['packingMaterialFee']!==1"
  309. action="{{ 'packingMaterialFee/confirmBill' }}"
  310. method="post"
  311. onsubmit="return confirm('您确定要确认金额吗?');">
  312. {{ csrf_field() }}
  313. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  314. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  315. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  316. <span class="ml-4 mt-2">
  317. <button type="submit" class="btn btn-success">
  318. 确认金额
  319. </button>
  320. </span>
  321. </form>
  322. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  323. </td>
  324. </tr>
  325. <tr>
  326. <td>卸货费</td>
  327. <td>卸货费</td>
  328. <td><a target="_blank"
  329. href="{{ route('settlementBills.unloadFee',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  330. </td>
  331. <td>@{{ feeTotal['unload_fee'] }}</td>
  332. <!-- TODO -->
  333. <td class="m-0 p-0">
  334. <form v-if="isArchivedItems['unloadFee']!==1"
  335. action="{{ 'unloadFee/confirmBill' }}"
  336. method="post"
  337. onsubmit="return confirm('您确定要确认金额吗?');">
  338. {{ csrf_field() }}
  339. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  340. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  341. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  342. <span class="ml-4 mt-2">
  343. <button type="submit" class="btn btn-success">
  344. 确认金额
  345. </button>
  346. </span>
  347. </form>
  348. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  349. </td>
  350. </tr>
  351. <tr>
  352. <td>杂项费</td>
  353. <td class="m-0 p-0">
  354. <table class="table m-0 p-0"
  355. v-for="sundryFee in feeTotal['sundry_information']">
  356. <tr>
  357. <td>@{{ sundryFee.type }}</td>
  358. </tr>
  359. </table>
  360. </td>
  361. <td class="m-0 p-0">
  362. <table class="table m-0 p-0"
  363. v-for="sundryFee in feeTotal['sundry_information']">
  364. <tr>
  365. <td><a target="_blank"
  366. href="{{ route('settlementBills.sundryFee', ['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  367. </td>
  368. </tr>
  369. </table>
  370. </td>
  371. <td class="m-0 p-0">
  372. <table class="table m-0 p-0"
  373. v-for="sundryFee in feeTotal['sundry_information']">
  374. <tr>
  375. <td>@{{ sundryFee.fee }}</td>
  376. </tr>
  377. </table>
  378. </td>
  379. <td class="m-0 p-0">
  380. <form v-if="isArchivedItems['sundryFee']!==1"
  381. action="{{ 'sundryFee/confirmBill' }}"
  382. method="post"
  383. onsubmit="return confirm('您确定要确认金额吗?');">
  384. {{ csrf_field() }}
  385. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  386. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  387. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  388. <span class="ml-4 mt-2">
  389. <button type="submit" class="btn btn-success">
  390. 确认金额
  391. </button>
  392. </span>
  393. </form>
  394. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  395. </td>
  396. </tr>
  397. <tr>
  398. <td>理赔</td>
  399. <td>责任理赔</td>
  400. <td><a target="_blank"
  401. href="{{ route('settlementBills.indemnityFee',['owner_id' => $request['owner_id'],'year' => $request['year'],'month' => $request['month']]) }}">查看明细</a>
  402. </td>
  403. <td>@{{ feeTotal['indemnity_fee'] }}</td>
  404. <td class="m-0 p-0">
  405. <form v-if="isArchivedItems['indemnityFee']!==1"
  406. action="{{ 'indemnityFee/confirmBill' }}"
  407. method="post"
  408. onsubmit="return confirm('您确定要确认金额吗?');">
  409. {{ csrf_field() }}
  410. <input type="hidden" name="owner_id" value="{{ $request['owner_id']??'' }}">
  411. <input type="hidden" name="year" value="{{ $request['year']??'' }}">
  412. <input type="hidden" name="month" value="{{ $request['month']??'' }}">
  413. <span class="ml-4 mt-2">
  414. <button type="submit" class="btn btn-success">
  415. 确认金额
  416. </button>
  417. </span>
  418. </form>
  419. <h5 v-else class="text-center pt-1 font-weight-bold">已确认</h5>
  420. </td>
  421. </tr>
  422. <tr>
  423. <td>优惠</td>
  424. <td>优惠政策</td>
  425. <td>@{{ feeTotal['discount_remark'] }}</td>
  426. <td>@{{ feeTotal['discount_fee'] }}</td>
  427. </tr>
  428. <tr>
  429. <td>税率</td>
  430. <td>@{{ feeTotal['tax_rate'] }}%</td>
  431. </tr>
  432. <tr>
  433. <td class="text-right font-weight-bolder" rowspan="3">
  434. 公司名称:
  435. <br>
  436. 开户银行:
  437. <br>
  438. 公司账号:
  439. </td>
  440. <td class="font-weight-bolder" colspan="3">
  441. 上海宝时供应链管理有限公司
  442. <br>
  443. 中国工商银行股份有限公司上海市松江科技城支行
  444. <br>
  445. 1001 7341 0900 0118 429
  446. </td>
  447. </tr>
  448. </template>
  449. </table>
  450. </div>
  451. </div>
  452. @endsection
  453. @section('lastScript')
  454. <script type="text/javascript" src="{{mix('js/queryForm/export.js')}}"></script>
  455. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  456. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>{{--新版2--}}
  457. <script>
  458. let vue = new Vue({
  459. el: "#list",
  460. data: {
  461. owner: {!! $owner !!},
  462. feeTotal: {!! $feeTotal !!},
  463. owners: [@foreach($owners as $owner){name: '{{ $owner->id }}', value: '{{ $owner->name}}'},@endforeach],
  464. isArchived: {!! $isArchived !!},
  465. request: {!! $request !!},
  466. selectTr: 0,
  467. isArchivedItems: {!! $isArchivedItems !!},
  468. },
  469. created() {
  470. },
  471. mounted() {
  472. $('#list').removeClass('d-none');
  473. let _this = this;
  474. $(".up").slideUp();
  475. let data = [
  476. [
  477. {
  478. name: 'owner_id',
  479. type: 'select',
  480. tip: ['多货主权限选择查看指定货主,默认为权限下的第一个货主'],
  481. placeholder: ['货主'],
  482. data: _this.owners,
  483. },
  484. {
  485. name: 'year',
  486. type: 'select',
  487. tip: ['默认为时间上一个月所属年份'],
  488. placeholder: ['年'],
  489. data: [
  490. {name: 2021, value: 2021},
  491. {name: 2022, value: 2022},
  492. {name: 2023, value: 2023},
  493. {name: 2024, value: 2024},
  494. {name: 2025, value: 2025},
  495. {name: 2026, value: 2026},
  496. {name: 2027, value: 2027},
  497. {name: 2028, value: 2028},
  498. {name: 2029, value: 2029},
  499. {name: 2030, value: 2030},
  500. {name: 2031, value: 2031},
  501. {name: 2032, value: 2032},
  502. {name: 2033, value: 2033},
  503. {name: 2034, value: 2034},
  504. {name: 2035, value: 2035},
  505. {name: 2036, value: 2036},
  506. ],
  507. },
  508. {
  509. name: 'month',
  510. type: 'select',
  511. tip: ['默认为上一月'],
  512. placeholder: ['月'],
  513. data: [
  514. {name: 1, value: 1},
  515. {name: 2, value: 2},
  516. {name: 3, value: 3},
  517. {name: 4, value: 4},
  518. {name: 5, value: 5},
  519. {name: 6, value: 6},
  520. {name: 7, value: 7},
  521. {name: 8, value: 8},
  522. {name: 9, value: 9},
  523. {name: 10, value: 10},
  524. {name: 11, value: 11},
  525. {name: 12, value: 12},
  526. ],
  527. },
  528. ]
  529. ];
  530. _this.form = new query({
  531. el: '#form_div',
  532. condition: data,
  533. appendDom: "btn",
  534. });
  535. _this.form.init();
  536. },
  537. methods: {
  538. detailExport(sign) {
  539. let url = '{{url('finance/settlementBills/unloadFee/export')}}';
  540. let token = '{{ csrf_token() }}';
  541. if (sign) {
  542. excelExport(true, checkData, url, this.total, token);
  543. } else {
  544. excelExport(false, checkData, url, null, token, {
  545. owner_id: this.owner.id,
  546. year: this.request.year,
  547. month: this.request.month,
  548. });
  549. }
  550. },
  551. },
  552. filters: {},
  553. });
  554. </script>
  555. @endsection