index.blade.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. @extends('layouts.app')
  2. @section('title')KPI-日报表@endsection
  3. @section('content')
  4. <div class="d-none" id="list">
  5. <div class="container-fluid">
  6. <div id="form_div"></div>
  7. <!-- 导出-->
  8. <span class="dropdown"></span>
  9. {{-- <h3>2021</h3>--}}
  10. <!-- 表格-->
  11. <table class="table table-striped table-bordered table-hover text-nowrap waybill-table td-min-width-80"
  12. style="background: #fff;" id="table">
  13. <tr v-for="(item,i) in details.data" :key="i">
  14. <td><input class="checkItem" type="checkbox" :value="item.id"></td>
  15. <td class="td-warm text-muted"><span>@{{ item.departmentName }}</span></td>
  16. <td class="td-warm text-muted"><span>@{{ item.statTime.slice(0,10) }}</span></td>
  17. <td class="td-warm text-muted"><span>@{{ item.b2bck }}</span></td>
  18. <td class="td-warm text-muted"><span>@{{ item.jyck }}</span></td>
  19. <td class="td-warm text-muted"><span>@{{ item.qtck }}</span></td>
  20. <td class="td-warm text-muted"><span>@{{ item.jitck }}</span></td>
  21. <td class="td-warm text-muted"><span>@{{ item.hhck }}</span></td>
  22. <td class="td-warm text-muted"><span>@{{ item.ptck }}</span></td>
  23. <td class="td-warm text-muted"><span>@{{ item.f4ck }}</span></td>
  24. <td class="td-warm text-muted"><span>@{{ item.f21ck }}</span></td>
  25. <td class="td-warm text-muted"><span>@{{ item.f11ck }}</span></td>
  26. <td class="td-warm text-muted"><span>@{{ item.f1ck }}</span></td>
  27. <td class="td-warm text-muted"><span>@{{ item.xnck }}</span></td>
  28. <td class="td-warm text-muted"><span>@{{ item.bfck }}</span></td>
  29. <td class="td-warm text-muted"><span>@{{ item.dbck }}</span></td>
  30. <td class="td-warm text-muted"><span>@{{ item.cgth }}</span></td>
  31. <td class="td-warm text-muted"><span>@{{ item.xsck }}</span></td>
  32. <td class="td-warm text-muted"><span>@{{ item.cgrk }}</span></td>
  33. <td class="td-warm text-muted"><span>@{{ item.thrk }}</span></td>
  34. <td class="td-warm text-muted"><span>@{{ item.dbrk }}</span></td>
  35. <td class="td-warm text-muted"><span>@{{ item.xnrk }}</span></td>
  36. <td class="td-warm text-muted"><span>@{{ item.f31rk }}</span></td>
  37. <td class="td-warm text-muted"><span>@{{ item.f10rk }}</span></td>
  38. <td class="td-warm text-muted"><span>@{{ item.f21rk }}</span></td>
  39. <td class="td-warm text-muted"><span>@{{ item.f32rk }}</span></td>
  40. <td class="td-warm text-muted"><span>@{{ item.hhrk }}</span></td>
  41. <td class="td-warm text-muted"><span>@{{ item.cskc }}</span></td>
  42. <td class="td-warm text-muted"><span>@{{ item.qtrk }}</span></td>
  43. <td class="td-warm text-muted"><span>@{{ item.b2brk }}</span></td>
  44. <td class="td-warm text-muted"><span>@{{ item.rejectedOrder }}</span></td>
  45. <td class="td-warm text-muted"><span>@{{ item.rejectedCommodity }}</span></td>
  46. </tr>
  47. </table>
  48. <nav aria-label="...">
  49. <ul class="pagination">
  50. <li class="page-item" :class="current===1?'disabled':''">
  51. <button class="page-link" @click="pagination('pre')">上一页</button>
  52. </li>
  53. <li class="page-item" :class="current===details.pages?'disabled':''">
  54. <button class="page-link" @click="pagination('next')">下一页</button>
  55. </li>
  56. </ul>
  57. </nav>
  58. </div>
  59. </div>
  60. @endsection
  61. @section('lastScript')
  62. <script type="text/javascript" src="{{mix('js/queryForm/export.js')}}"></script>
  63. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  64. <script type="text/javascript" src="{{mix('js/queryForm/header.js')}}"></script>{{--新版2--}}
  65. <script>
  66. let vue = new Vue({
  67. el: "#list",
  68. data: {
  69. selectTr: '',
  70. details: {
  71. data: [],
  72. total: null,
  73. current: null,
  74. pages: null,
  75. size: null
  76. },
  77. size: 50,
  78. current: 1
  79. },
  80. created() {
  81. let url = this.getBaseUrl();
  82. url += `/api/deliver/getDayDetailPage?size=${this.size}&current=${this.current}`;
  83. axios.get(url).then(res => {
  84. this.details.data = res.data.data.list;
  85. this.details.total = res.data.data.page.total;
  86. this.details.current = res.data.data.page.pageNum;
  87. this.details.pages = res.data.data.page.pages
  88. this.details.size = res.data.data.page.pageSize;
  89. });
  90. },
  91. mounted: function () {
  92. $('#list').removeClass('d-none');
  93. let data = [
  94. [
  95. {name: 'date_start', type: 'time', tip: '选择显示指定日期的起始时间'},
  96. ]
  97. ];
  98. this.form = new query({
  99. el: "#form_div",
  100. condition: data,
  101. });
  102. this.form.init();
  103. this.rendingHeader();
  104. },
  105. methods: {
  106. cal_deliver_percentage(item) {
  107. if (item.workTimes == 0) return 0;
  108. return Math.round(item.totalDeliveryQty / item.workTimes * 100);
  109. },
  110. //根据环境获取不同的url
  111. getBaseUrl() {
  112. let url = '';
  113. let env = "{{ config('app.env') }}";
  114. if (env === 'local') {
  115. url = 'http://127.0.0.1:8111'
  116. } else if (env === 'production') {
  117. url = 'https://stat.baoshi56.com'
  118. }
  119. return url;
  120. },
  121. pagination(flag) {
  122. if (flag === 'pre' && this.current > 1) {
  123. this.current--;
  124. } else if (flag === 'next' && this.current < this.details.pages) {
  125. this.current++;
  126. }
  127. let env = "{{ config('env') }}";
  128. console.log(env);
  129. let url = this.getBaseUrl();
  130. url += `/api/deliver/getDayDetailPage?size=${this.size}&current=${this.current}`;
  131. axios.get(url).then(res => {
  132. this.details.data = res.data.data.list;
  133. this.details.total = res.data.data.page.total;
  134. this.details.current = res.data.data.page.pageNum;
  135. this.details.pages = res.data.data.page.pages
  136. this.details.size = res.data.data.page.pageSize;
  137. });
  138. },
  139. rendingHeader() {
  140. let column = [
  141. {name: 'departmentName', value: '工作组', neglect: true, class: "td-cool"},
  142. {name: 'statTime', value: '统计日期', neglect: true, class: "td-cool"},
  143. {name: 'b2bck', value: 'B2B出库', neglect: true, class: "td-cool"},
  144. {name: 'jyck', value: '一般交易出库', neglect: true, class: "td-cool"},
  145. {name: 'qtck', value: '其他出库', neglect: true, class: "td-cool"},
  146. {name: 'jitck', value: '唯品出库', neglect: true, class: "td-cool"},
  147. {name: 'hhck', value: '换货出库', neglect: true, class: "td-cool"},
  148. {name: 'ptck', value: '普通出库', neglect: true, class: "td-cool"},
  149. {name: 'f4ck', value: '笕尚移仓出库单', neglect: true, class: "td-cool"},
  150. {name: 'f21ck', value: '笕尚调整出库单', neglect: true, class: "td-cool"},
  151. {name: 'f11ck', value: '笕尚退仓出库单', neglect: true, class: "td-cool"},
  152. {name: 'f1ck', value: '笕尚配货出库单', neglect: true, class: "td-cool"},
  153. {name: 'xnck', value: '虚拟出库', neglect: true, class: "td-cool"},
  154. {name: 'bfck', value: '补发出库', neglect: true, class: "td-cool"},
  155. {name: 'dbck', value: '调拨出库', neglect: true, class: "td-cool"},
  156. {name: 'cgth', value: '采购退货', neglect: true, class: "td-cool"},
  157. {name: 'xsck', value: '销售出库', neglect: true, class: "td-cool"},
  158. {name: 'cgrk', value: '采购入库', neglect: true, class: "td-warm"},
  159. {name: 'thrk', value: '退货入库', neglect: true, class: "td-warm"},
  160. {name: 'dbrk', value: '调拨入库', neglect: true, class: "td-warm"},
  161. {name: 'xnrk', value: '虚拟入库', neglect: true, class: "td-warm"},
  162. {name: 'f31rk', value: '笕尚退货入库单', neglect: true, class: "td-warm"},
  163. {name: 'f10rk', value: '笕尚进仓入库单', neglect: true, class: "td-warm"},
  164. {name: 'f21rk', value: '笕尚调整入库单', neglect: true, class: "td-warm"},
  165. {name: 'f32rk', value: '笕尚移仓入库单', neglect: true, class: "td-warm"},
  166. {name: 'hhrk', value: '换货入库', neglect: true, class: "td-warm"},
  167. {name: 'cskc', value: '初始化库存', neglect: true, class: "td-warm"},
  168. {name: 'qtrk', value: '其他入库', neglect: true, class: "td-warm"},
  169. {name: 'b2brk', value: 'B2B入库', neglect: true, class: "td-warm"},
  170. {name: 'rejectedOrder', value: '退货单数', neglect: true, class: "td-cool"},
  171. {name: 'rejectedCommodity', value: '退货商品数', neglect: true, class: "td-cool"},
  172. ];
  173. new Header({
  174. el: "table",
  175. name: "details",
  176. column: column,
  177. data: this.details.data,
  178. restorationColumn: 'id',
  179. fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 2,
  180. before: [
  181. {colspan: '18', value: '出库', class: "table-header-layer-1"},
  182. {colspan: '12', value: '入库', class: "table-header-layer-1"},
  183. {colspan: '2', value: '退货', class: "table-header-layer-1"},
  184. ],
  185. }).init();
  186. },
  187. },
  188. });
  189. </script>
  190. @endsection