count.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <template>
  2. <view>
  3. <view class="uni-container">
  4. <uni-table ref="table" :loading="loading" border stripe type="" emptyText="暂无更多数据" @selection-change="selectionChange">
  5. <uni-tr>
  6. <uni-th align="center">日期</uni-th>
  7. <uni-th align="center">订单号</uni-th>
  8. <uni-th align="center">班组</uni-th>
  9. <uni-th align="center">中班</uni-th>
  10. <uni-th align="center">晚班</uni-th>
  11. <uni-th align="center">早班</uni-th>
  12. <uni-th align="center">管理线</uni-th>
  13. <!-- <uni-th width="204" align="center">设置</uni-th> -->
  14. </uni-tr>
  15. <uni-tr v-for="(item, index) in tableData" :key="index">
  16. <uni-td align="center">{{ item.createDate }}</uni-td>
  17. <uni-td align="center">{{ item.filing.orderNo }}</uni-td>
  18. <uni-td align="center">{{ item.filing.workshop.zyProductWorkshop }}-{{ item.filing.team.zyTeam }}</uni-td>
  19. <uni-td align="center">{{ item.middle }}</uni-td>
  20. <uni-td align="center">{{ item.night }}</uni-td>
  21. <uni-td align="center">{{ item.morning }}</uni-td>
  22. <uni-td align="center">{{ item.admin }}</uni-td>
  23. </uni-tr>
  24. <uni-tr>
  25. <uni-td align="center"></uni-td>
  26. <uni-td align="center"></uni-td>
  27. <uni-td align="center">合计</uni-td>
  28. <uni-td align="center">{{ sumMiddle }}</uni-td>
  29. <uni-td align="center">{{ sumNight }}</uni-td>
  30. <uni-td align="center">{{ sumMorning }}</uni-td>
  31. <uni-td align="center">{{ sumAdmin }}</uni-td>
  32. </uni-tr>
  33. </uni-table>
  34. <view class="uni-pagination-box"></view>
  35. </view>
  36. </view>
  37. </template>
  38. <script>
  39. import { count } from '@/api/biz/plan.js';
  40. export default {
  41. data() {
  42. return {
  43. searchVal: '',
  44. tableData: [],
  45. // 每页数据量
  46. pageSize: 10,
  47. // 当前页
  48. pageCurrent: 1,
  49. // 数据总量
  50. total: 0,
  51. loading: false
  52. };
  53. },
  54. onLoad() {
  55. // this.selectedIndexs = []
  56. this.getData();
  57. },
  58. computed: {
  59. sumMiddle() {
  60. return this.tableData.map(row => row.middle).reduce((acc, cur) => parseFloat(cur) + acc, 0);
  61. },
  62. sumNight() {
  63. return this.tableData.map(row => row.night).reduce((acc, cur) => parseFloat(cur) + acc, 0);
  64. },
  65. sumMorning() {
  66. return this.tableData.map(row => row.morning).reduce((acc, cur) => parseFloat(cur) + acc, 0);
  67. },
  68. sumAdmin() {
  69. return this.tableData.map(row => row.admin).reduce((acc, cur) => parseFloat(cur) + acc, 0);
  70. }
  71. },
  72. methods: {
  73. // // 多选处理
  74. // selectedItems() {
  75. // return this.selectedIndexs.map(i => this.tableData[i])
  76. // },
  77. // // 多选
  78. // selectionChange(e) {
  79. // console.log(e.detail.index)
  80. // this.selectedIndexs = e.detail.index
  81. // },
  82. // //批量删除
  83. // delTable() {
  84. // console.log(this.selectedItems())
  85. // },
  86. // // 分页触发
  87. // change(e) {
  88. // this.$refs.table.clearSelection()
  89. // this.selectedIndexs.length = 0
  90. // this.getData(e.current)
  91. // },
  92. // // 搜索
  93. // search() {
  94. // this.getData(1, this.searchVal)
  95. // },
  96. // 获取数据
  97. getData() {
  98. count().then(res => {
  99. if (res.success) {
  100. this.tableData = res.data;
  101. } else {
  102. }
  103. });
  104. // this.loading = true
  105. // this.pageCurrent = pageCurrent
  106. // this.request({
  107. // pageSize: this.pageSize,
  108. // pageCurrent: pageCurrent,
  109. // value: value,
  110. // success: res => {
  111. // // console.log('data', res);
  112. // this.tableData = res.data
  113. // this.total = res.total
  114. // this.loading = false
  115. // }
  116. // })
  117. }
  118. // 伪request请求
  119. // request(options) {
  120. // const { pageSize, pageCurrent, success, value } = options
  121. // let total = tableData.length
  122. // let data = tableData.filter((item, index) => {
  123. // const idx = index - (pageCurrent - 1) * pageSize
  124. // return idx < pageSize && idx >= 0
  125. // })
  126. // if (value) {
  127. // data = []
  128. // tableData.forEach(item => {
  129. // if (item.name.indexOf(value) !== -1) {
  130. // data.push(item)
  131. // }
  132. // })
  133. // total = data.length
  134. // }
  135. // setTimeout(() => {
  136. // typeof success === 'function' &&
  137. // success({
  138. // data: data,
  139. // total: total
  140. // })
  141. // }, 500)
  142. // }
  143. }
  144. };
  145. </script>
  146. <style>
  147. /* #ifndef H5 */
  148. /* page {
  149. padding-top: 85px;
  150. } */
  151. /* #endif */
  152. .uni-group {
  153. display: flex;
  154. align-items: center;
  155. }
  156. </style>