coreData.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. itemWidth: 150,
  6. }
  7. },
  8. props: {
  9. dataList: Array
  10. },
  11. mounted() {
  12. let clientWidth = document.getElementsByClassName("coreData")[0].clientWidth;
  13. clientWidth = clientWidth;
  14. this.itemWidth = Math.floor(clientWidth/this.dataList.length)-55
  15. }
  16. }
  17. </script>
  18. <template>
  19. <div class="coreData">
  20. <template v-for="(ele, index) in dataList" >
  21. <div class="coreData-item" :key="index" :style="{width: itemWidth+'px', backgroundColor: ele.isHighLight?'#e7f5fc':''}">
  22. <div class="coreData-item-title">{{ ele.title }}</div>
  23. <div class="coreData-item-num">{{ ele.num }}</div>
  24. <div class="coreData-item-unit">{{ ele.unit }}</div>
  25. <div class="coreData-item-history">
  26. <div class="coreData-item-historyDesc">
  27. {{ ele.historyDesc }}
  28. <span v-if="ele.trend===0">持平</span>
  29. <span v-else-if="ele.trend>0">上升</span>
  30. <span v-else-if="ele.trend<0">下降</span>
  31. <span v-else></span>
  32. </div>
  33. <div class="coreData-item-historyNum">{{ ele.historyNum }}</div>
  34. </div>
  35. </div>
  36. <a-divider type="vertical" class="iot-core-divider" v-if="index!==dataList.length-1"/>
  37. </template>
  38. </div>
  39. </template>
  40. <style lang="less" scoped>
  41. .coreData {
  42. width: 100%;
  43. height: 150px;
  44. background-color: #f7fbfe;
  45. .coreData-item {
  46. display: inline-block;
  47. vertical-align: top;
  48. height: 120px;
  49. margin: 15px 20px;
  50. padding: 8px;
  51. .coreData-item-title {
  52. line-height: 30px;
  53. }
  54. .coreData-item-num {
  55. display: inline-block;
  56. font-size: 30px;
  57. font-weight: bolder;
  58. height: 50%;
  59. padding-top: 3%;
  60. }
  61. .coreData-item-unit {
  62. display: inline-block;
  63. margin-left: 3px;
  64. color: #9a9a9a;
  65. }
  66. .coreData-item-historyDesc {
  67. display: inline-block;
  68. }
  69. .coreData-item-historyNum {
  70. margin-left: 5px;
  71. display: inline-block;
  72. color: red;
  73. }
  74. }
  75. .iot-core-divider {
  76. margin-top: 10px;
  77. height: 100px;
  78. display: inline-block;
  79. vertical-align: top
  80. }
  81. }
  82. </style>