BaseStep.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <script setup>
  2. import BaseCard from './BaseCard.vue';
  3. const stepsData = [
  4. { title: '基础信息', subTtile: '碳排放管理基础信息填写', color: '#2454FF' },
  5. { title: '污水处理', subTtile: '生化反应碳排', color: '#24CCFF' },
  6. { title: '水厂', subTtile: '能源、药剂碳排', color: '#7969F9' },
  7. { title: '污泥处理', subTtile: '生化反应总碳排', color: '#3FC56E' },
  8. { title: '替碳、碳汇', subTtile: '替碳、碳汇基础信息填写', color: '#F59B14' },
  9. ]
  10. </script>
  11. <template>
  12. <div class="steps-list">
  13. <div class="steps-item" v-for="item, index in stepsData" :key="index">
  14. <p class="steps-title space-x-[6px]">
  15. <span class="num" :style="{ color: item.color }">{{ '0' + (index + 1) }}</span>
  16. <span class="title">{{ item.title }}</span>
  17. </p>
  18. <p class="steps-subtitle">{{ item.subTtile }}</p>
  19. <p class="line" :style="{ background: item.color }"></p>
  20. </div>
  21. </div>
  22. </template>
  23. <style lang="scss" scoped>
  24. .steps-list {
  25. @include flex(x, center, between);
  26. .steps-item {
  27. position: relative;
  28. width: 214px;
  29. height: 84px;
  30. padding: 14px 26px;
  31. border: 1px dashed #E6EAEE;
  32. border-radius: 8px;
  33. background: #fff;
  34. .steps-title {
  35. padding-bottom: 6px;
  36. margin-bottom: 6px;
  37. border-bottom: 1px solid #EEEEEE;
  38. font-size: 18px;
  39. line-height: 24px;
  40. font-weight: bold;
  41. }
  42. .steps-subtitle {
  43. font-size: 12px;
  44. line-height: 14px;
  45. color: #9E9E9E;
  46. }
  47. .line {
  48. position: absolute;
  49. top: 0px;
  50. left: 24px;
  51. width: 18px;
  52. height: 2px;
  53. gap: 0px;
  54. border-radius: 0px 0px 1px 1px;
  55. }
  56. &:not(:last-child) {
  57. &::after {
  58. content: ' ';
  59. position: absolute;
  60. top: 50%;
  61. right: -15px;
  62. transform: translateY(-50%);
  63. width: 24px;
  64. height: 24px;
  65. border-radius: 100%;
  66. border: 1px solid #fff;
  67. position: absolute;
  68. box-shadow: 0px 3px 6px 0px #C6C6C640;
  69. background: #F4F4F4 url("@/assets/svgs/tool/setp-arrow-right.svg") center center no-repeat;
  70. z-index: 10;
  71. }
  72. }
  73. }
  74. }
  75. </style>