gcfz1.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <el-table
  3. v-if='hztjTable.length>=0'
  4. :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
  5. v-loading='loading'
  6. :data='hztjTable'
  7. style='width: 100%'
  8. :summary-method='getSummaries'
  9. show-summary
  10. border
  11. >
  12. <el-table-column label='序号' type='index' width='60'></el-table-column>
  13. <el-table-column prop label='楼层' :show-overflow-tooltip='true' resizable>
  14. <template slot-scope='{row}'>{{row.floor||'--'}}</template>
  15. </el-table-column>
  16. <el-table-column prop='beforekf' label='总间数'>
  17. <template slot-scope='{row}'>{{row.beforekf||'--'}}</template>
  18. </el-table-column>
  19. <el-table-column prop='area' label='面积(㎡)'>
  20. <template slot-scope='{row}'>{{row.area||'--'}}</template>
  21. </el-table-column>
  22. <el-table-column prop label='记录日期' width='100'>
  23. <template slot-scope='{row}'>{{row.changedate?formatter(row.changedate):'--'}}</template>
  24. </el-table-column>
  25. </el-table>
  26. </template>
  27. <script>
  28. import moment from 'moment'
  29. export default {
  30. data() {
  31. return {}
  32. },
  33. props: ['hztjTable', 'loading'],
  34. methods: {
  35. formatter(date) {
  36. return moment.unix(date / 1000).format('YYYY.MM.DD')
  37. },
  38. getSummaries(param) {
  39. const { columns, data } = param
  40. const sums = []
  41. columns.forEach((column, index) => {
  42. if (index === 1) {
  43. sums[index] = '小计'
  44. return
  45. }
  46. const values = data.map(item => Number(item[column.property]))
  47. if (!values.every(value => isNaN(value))) {
  48. sums[index] = values.reduce((prev, curr) => {
  49. const value = Number(curr)
  50. if (!isNaN(value)) {
  51. return prev + curr
  52. } else {
  53. return prev
  54. }
  55. }, 0)
  56. sums[index]
  57. } else {
  58. sums[index] = ''
  59. }
  60. })
  61. return sums
  62. }
  63. }
  64. }
  65. </script>
  66. <style lang="less">
  67. </style>