index.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <template>
  2. <div class="app-container">
  3. <table class="altrowstable">
  4. <tr>
  5. <th rowspan="2" @click="getList">港口</th>
  6. <th rowspan="2">堆场</th>
  7. <th></th>
  8. <th colspan="5">20</th>
  9. <th colspan="6">40</th>
  10. <th colspan="2">TOTAL</th>
  11. </tr>
  12. <tr>
  13. <td></td>
  14. <td>GP</td>
  15. <td>RF</td>
  16. <td>OT</td>
  17. <td>FR</td>
  18. <td>HC</td>
  19. <td>GP</td>
  20. <td>HC</td>
  21. <td>HR</td>
  22. <td>OT</td>
  23. <td>FR</td>
  24. <td>TK</td>
  25. <td>UNIT</td>
  26. <td>TEU</td>
  27. </tr>
  28. <tr v-for="(item,index) in tableData" :key="index">
  29. <td :rowspan="item.number" v-if="item.haven !== false">{{item.haven}}</td>
  30. <td :rowspan="item.numberSize" v-if="item.address !== false">{{item.address}}</td>
  31. <td>{{item.opcTnStatus}}</td>
  32. <td :style="{color:item.twentygp != 0?'red':'#000',fontWeight:item.twentygp != 0?'900':'100'}">{{item.twentygp}}</td>
  33. <td :style="{color:item.twentyrf != 0?'red':'#000',fontWeight:item.twentyrf != 0?'900':'100'}">{{item.twentyrf}}</td>
  34. <td :style="{color:item.twentyot != 0?'red':'#000',fontWeight:item.twentyot != 0?'900':'100'}">{{item.twentyot}}</td>
  35. <td :style="{color:item.twentyfr != 0?'red':'#000',fontWeight:item.twentyfr != 0?'900':'100'}">{{item.twentyfr}}</td>
  36. <td :style="{color:item.twentytk != 0?'red':'#000',fontWeight:item.twentytk != 0?'900':'100'}">{{item.twentytk}}</td>
  37. <td :style="{color:item.fortygp != 0?'red':'#000',fontWeight:item.fortygp != 0?'900':'100'}">{{item.fortygp}}</td>
  38. <td :style="{color:item.fortyhc != 0?'red':'#000',fontWeight:item.fortyhc != 0?'900':'100'}">{{item.fortyhc}}</td>
  39. <td :style="{color:item.fortyhr != 0?'red':'#000',fontWeight:item.fortyhr != 0?'900':'100'}">{{item.fortyhr}}</td>
  40. <td :style="{color:item.fortyot != 0?'red':'#000',fontWeight:item.fortyot != 0?'900':'100'}">{{item.fortyot}}</td>
  41. <td :style="{color:item.fortyfr != 0?'red':'#000',fontWeight:item.fortyfr != 0?'900':'100'}">{{item.fortyfr}}</td>
  42. <td :style="{color:item.fortytk != 0?'red':'#000',fontWeight:item.fortytk != 0?'900':'100'}">{{item.fortytk}}</td>
  43. <td :style="{color:item.unit != 0?'red':'#000',fontWeight:item.unit != 0?'900':'100'}">{{item.unit}}</td>
  44. <td :style="{color:item.teu != 0?'red':'#000',fontWeight:item.teu != 0?'900':'100'}">{{item.teu}}</td>
  45. </tr>
  46. </table>
  47. </div>
  48. </template>
  49. <script>
  50. import {listCorps} from '@/api/kaihe/boxDistributionStatistics'
  51. export default {
  52. name: "index",
  53. data() {
  54. return {
  55. tableData: [],
  56. list:[],
  57. }
  58. },
  59. created() {
  60. this.getList()
  61. },
  62. methods: {
  63. //查询所有箱信息
  64. getList() {
  65. listCorps().then(res => {
  66. // console.log(res)
  67. this.list = res.rows
  68. for (let item in this.list){
  69. for(let li in this.list[item].boxAddressMessages){
  70. for (let i in this.list[item].boxAddressMessages[li].boxMessages){
  71. this.tableData.push({
  72. haven: i==0&&li==0?this.list[item].haven:false,
  73. number: i==0&&li==0?this.list[item].number:false,
  74. numberSize: this.list[item].boxAddressMessages[li].boxMessages.length,
  75. address: i==0?this.list[item].boxAddressMessages[li].address:false,
  76. fortyfr: this.list[item].boxAddressMessages[li].boxMessages[i].fortyfr,
  77. fortygp: this.list[item].boxAddressMessages[li].boxMessages[i].fortygp,
  78. fortyhc: this.list[item].boxAddressMessages[li].boxMessages[i].fortyhc,
  79. fortyhr: this.list[item].boxAddressMessages[li].boxMessages[i].fortyhr,
  80. fortyot: this.list[item].boxAddressMessages[li].boxMessages[i].fortyot,
  81. fortytk: this.list[item].boxAddressMessages[li].boxMessages[i].fortytk,
  82. opcTnStatus: this.list[item].boxAddressMessages[li].boxMessages[i].opcTnStatus,
  83. twentyfr: this.list[item].boxAddressMessages[li].boxMessages[i].twentyfr,
  84. twentygp: this.list[item].boxAddressMessages[li].boxMessages[i].twentygp,
  85. twentyot: this.list[item].boxAddressMessages[li].boxMessages[i].twentyot,
  86. twentyrf: this.list[item].boxAddressMessages[li].boxMessages[i].twentyrf,
  87. twentytk: this.list[item].boxAddressMessages[li].boxMessages[i].twentytk,
  88. unit: this.list[item].boxAddressMessages[li].boxMessages[i].unit,
  89. teu: this.list[item].boxAddressMessages[li].boxMessages[i].teu
  90. })
  91. }
  92. }
  93. }
  94. })
  95. },
  96. }
  97. }
  98. </script>
  99. <style scoped>
  100. table.altrowstable {
  101. width: 100%;
  102. font-family: verdana, arial, sans-serif;
  103. font-size: 11px;
  104. color: #333333;
  105. border-width: 1px;
  106. border-color: #a9c6c9;
  107. border-collapse: collapse;
  108. }
  109. table.altrowstable th {
  110. border-width: 1px;
  111. padding: 8px;
  112. border-style: solid;
  113. border-color: #a9c6c9;
  114. }
  115. table.altrowstable td {
  116. border-width: 1px;
  117. padding: 8px;
  118. border-style: solid;
  119. text-align: center;
  120. border-color: #a9c6c9;
  121. }
  122. .oddrowcolor {
  123. background-color: #d4e3e5;
  124. }
  125. .evenrowcolor {
  126. background-color: #c3dde0;
  127. }
  128. </style>