PlanStatistics.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div class="statistics">
  3. <el-row :gutter="15">
  4. <el-col :span="cardSpan">
  5. <el-card shadow="hover" class="cardItem">
  6. <div>
  7. <div class="cardText">待排产计划数量</div>
  8. <div class="cardNum">{{ planStatistics.waitPlanNum || 0 }}</div>
  9. </div>
  10. </el-card>
  11. </el-col>
  12. <el-col :span="cardSpan">
  13. <el-card shadow="hover" class="cardItem">
  14. <div>
  15. <div class="cardText">计划生产数量</div>
  16. <div class="cardNum">{{ planStatistics.planNum || 0 }}</div>
  17. </div>
  18. </el-card>
  19. </el-col>
  20. <el-col :span="cardSpan">
  21. <el-card shadow="hover" class="cardItem">
  22. <div>
  23. <div class="cardText">已下发生产数量</div>
  24. <div class="cardNum">{{ planStatistics.issueNum || 0 }}</div>
  25. </div>
  26. </el-card>
  27. </el-col>
  28. <el-col :span="cardSpan">
  29. <el-card shadow="hover" class="cardItem">
  30. <div>
  31. <div class="cardText">待派工数量</div>
  32. <div class="cardNum">0</div>
  33. </div>
  34. </el-card>
  35. </el-col>
  36. <el-col :span="cardSpan">
  37. <el-card shadow="hover" class="cardItem">
  38. <div>
  39. <div class="cardText">待完工生产数量</div>
  40. <div class="cardNum">{{ planStatistics.waitFinishNum || 0 }}</div>
  41. </div>
  42. </el-card>
  43. </el-col>
  44. <el-col :span="cardSpan">
  45. <el-card shadow="hover" class="cardItem">
  46. <div>
  47. <div class="cardText">待领料数量</div>
  48. <div class="cardNum">0</div>
  49. </div>
  50. </el-card>
  51. </el-col>
  52. <el-col :span="cardSpan">
  53. <el-card shadow="hover" class="cardItem">
  54. <div>
  55. <div class="cardText">已完工数量</div>
  56. <div class="cardNum">{{ planStatistics.finishNum || 0 }}</div>
  57. </div>
  58. </el-card>
  59. </el-col>
  60. <el-col :span="cardSpan">
  61. <el-card shadow="hover" class="cardItem">
  62. <div>
  63. <div class="cardText">已入库数量</div>
  64. <div class="cardNum">{{ planStatistics.stockNum || 0 }}</div>
  65. </div>
  66. </el-card>
  67. </el-col>
  68. </el-row>
  69. </div>
  70. </template>
  71. <script>
  72. import { getPlanStatistics } from '@/api/productionPlan';
  73. export default {
  74. props: [],
  75. data() {
  76. return {
  77. planStatistics: {
  78. waitPlanNum: 0,
  79. planNum: 0,
  80. issueNum: 0,
  81. waitFinishNum: 0,
  82. finishNum: 0,
  83. stockNum: 0
  84. },
  85. cardSpan: 3
  86. };
  87. },
  88. created() {
  89. this.getPlanStatistics();
  90. },
  91. methods: {
  92. async getPlanStatistics() {
  93. let res = await getPlanStatistics();
  94. this.planStatistics = res;
  95. }
  96. }
  97. };
  98. </script>
  99. <style scoped lang="scss">
  100. // .statistics {
  101. // padding: 10px 10px 20px;
  102. // }
  103. // .cardItem {
  104. // border: 1px solid rgb(225, 225, 225);
  105. // text-align: center;
  106. // color: white;
  107. // background-color: rgba(24, 144, 255, 0.8);
  108. // }
  109. // .cardText {
  110. // font-size: 16px;
  111. // }
  112. // .cardNum {
  113. // font-size: 32px;
  114. // font-style: italic;
  115. // }
  116. .statistics {
  117. padding: 10px 10px 20px;
  118. }
  119. .cardItem {
  120. border: 1px solid rgb(225, 225, 225);
  121. text-align: center;
  122. color: white;
  123. background-color: rgba(24, 144, 255, 0.8);
  124. overflow: hidden;
  125. padding: 10px;
  126. }
  127. .cardText {
  128. font-size: 16px;
  129. white-space: nowrap;
  130. text-overflow: ellipsis;
  131. overflow: hidden;
  132. }
  133. .cardNum {
  134. font-size: 32px;
  135. font-style: italic;
  136. white-space: nowrap;
  137. text-overflow: ellipsis;
  138. overflow: hidden;
  139. }
  140. @media (max-width: 768px) {
  141. .cardText {
  142. font-size: 14px;
  143. }
  144. .cardNum {
  145. font-size: 24px;
  146. }
  147. }
  148. ::v-deep .el-card__body {
  149. padding: 17px 12px !important;
  150. }
  151. </style>