com-sta-data.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <!-- 第一行统计数据 -->
  2. <template>
  3. <el-row :gutter="14">
  4. <el-col :lg="4" :sm="8" :xs="24">
  5. <div class="sa-wnk">
  6. <img src="../../static/icon/icon-total.png">
  7. <div class="sa-wnk-tv">
  8. <p class="sa-wnk-title">今日入场车辆</p>
  9. <p class="sa-wnk-value">{{ car.todayInCar }}</p>
  10. </div>
  11. </div>
  12. </el-col>
  13. <el-col :lg="5" :sm="8" :xs="24">
  14. <div class="sa-wnk">
  15. <img src="../../static/icon/icon-car-leave.png">
  16. <div class="sa-wnk-tv">
  17. <p class="sa-wnk-title">今日离场车辆</p>
  18. <p class="sa-wnk-value">{{ car.outCar }}</p>
  19. </div>
  20. </div>
  21. </el-col>
  22. <el-col :lg="5" :sm="8" :xs="24">
  23. <div class="sa-wnk">
  24. <img src="../../static/icon/icon-car-in.png">
  25. <div class="sa-wnk-tv">
  26. <p class="sa-wnk-title">当前未出车辆</p>
  27. <p class="sa-wnk-value">{{ car.inCar }}</p>
  28. </div>
  29. </div>
  30. </el-col>
  31. <el-col :lg="5" :sm="8" :xs="24">
  32. <div class="sa-wnk">
  33. <img src="../../static/icon/icon-car-weight.png">
  34. <div class="sa-wnk-tv">
  35. <p class="sa-wnk-title">当前未出重车</p>
  36. <p class="sa-wnk-value">{{ car.weightCar }}</p>
  37. </div>
  38. </div>
  39. </el-col>
  40. <el-col :lg="5" :sm="8" :xs="24">
  41. <div class="sa-wnk">
  42. <img src="../../static/icon/icon-car-empty.png">
  43. <div class="sa-wnk-tv">
  44. <p class="sa-wnk-title">当前未出空车</p>
  45. <p class="sa-wnk-value">{{ car.emptyCar }}</p>
  46. </div>
  47. </div>
  48. </el-col>
  49. </el-row>
  50. </template>
  51. <script>
  52. module.exports = {
  53. data() {
  54. return {
  55. // 统计数据
  56. car: {
  57. todayInCar: 0,
  58. inCar: 0,
  59. outCar: 0,
  60. weightCar: 0,
  61. emptyCar: 0
  62. },
  63. timmer: null
  64. }
  65. },
  66. methods: {
  67. getCarStatics() {
  68. sa.ajaxNoLoading('/TbBusinessCar/staticsCar', function (resp) {
  69. this.car = resp.data;
  70. }.bind(this))
  71. },
  72. checkTimeout() {
  73. sa.ajaxNoLoading('/AccAdmin/checkTimeout', function (resp) {
  74. if(resp.code==405){
  75. window.open('../../login.html');
  76. }
  77. }.bind(this))
  78. },
  79. },
  80. created() {
  81. this.getCarStatics();
  82. this.timmer = setInterval(() => {
  83. this.getCarStatics();
  84. this.checkTimeout();
  85. }, 20000)
  86. },
  87. beforeDestroy() {
  88. if (this.timmer != null) {
  89. clearInterval(this.timmer);
  90. }
  91. }
  92. }
  93. </script>
  94. <style scoped>
  95. /* 第一行 */
  96. .sa-wnk {
  97. background-color: #FFF;
  98. border: 1px #ddd solid;
  99. margin-bottom: 14px;
  100. min-height: 100px;
  101. cursor: pointer;
  102. transition: all 0.3s;
  103. overflow: hidden;
  104. }
  105. .sa-wnk:hover {
  106. box-shadow: 0 0 20px #999;
  107. }
  108. .sa-wnk img {
  109. float: left;
  110. line-height: 100px;
  111. margin: 25px 0px 0 20px;
  112. width: 50px;
  113. height: 50px;
  114. vertical-align: middle;
  115. }
  116. .sa-wnk .sa-wnk-tv {
  117. float: left;
  118. margin-left: 10px;
  119. max-width: calc(100% - 100px);
  120. }
  121. .sa-wnk-title {
  122. margin-top: 25px;
  123. font-size: 16px;
  124. }
  125. .sa-wnk-value {
  126. margin-top: 4px;
  127. font-size: 24px;
  128. padding-bottom: 20px;
  129. }
  130. </style>