step.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!-- @format -->
  2. <script lang="ts" setup>
  3. const step = ref(0)
  4. const items = [
  5. {
  6. key: 'one',
  7. title: 'Submit a wish order',
  8. description: 'Submit a wish order',
  9. },
  10. {
  11. key: 'two',
  12. title: 'Settle essential terms',
  13. description: 'Our customer service staff will approach to you to settle the the required terms with you , and will then prepare PI',
  14. },
  15. {
  16. key: 'three',
  17. title: 'Confirm PI',
  18. description: 'After you confirm the PI sent to you, a deal is made',
  19. },
  20. {
  21. key: 'four',
  22. title: 'Order made',
  23. description: 'We will make the order, and you may check it in my orders',
  24. },
  25. ]
  26. </script>
  27. <template>
  28. <div class="custom-order-steps" style="height: 400px; max-width: 600px">
  29. <el-steps :active="step" direction="vertical" align-center finish-status="success">
  30. <el-step v-for="item in items" :key="item.key" :title="item.title" :description="item.description" />
  31. </el-steps>
  32. </div>
  33. </template>
  34. <style lang="less" scoped>
  35. .custom-order-steps {
  36. ::v-deep(.el-step) {
  37. .el-step__head {
  38. width: 32px;
  39. .el-step__line {
  40. top: 45% !important;
  41. left: 50% !important;
  42. bottom: 15% !important;
  43. transform: translateX(-50%);
  44. background-color: #CCCCCC !important;
  45. .el-step__line-inner{
  46. border: unset!important;
  47. }
  48. }
  49. &.is-process{
  50. .el-step__icon { width: 32px;
  51. height: 32px;
  52. background-color: #cc9879 !important;
  53. border: unset !important;
  54. .el-step__icon-inner {
  55. color: #fff !important;
  56. }
  57. }
  58. }
  59. &.is-wait{
  60. .el-step__icon { width: 32px;
  61. height: 32px;
  62. border: 1px solid #5B463E !important;
  63. .el-step__icon-inner {
  64. color: #5B463E !important;
  65. }
  66. }
  67. }
  68. &.is-success{
  69. .el-step__icon { width: 32px;
  70. height: 32px;
  71. background-color: #E9E9E9 !important;
  72. border: 1px solid #E9E9E9 !important;
  73. .el-step__icon-inner {
  74. color: #666666 !important;
  75. }
  76. }
  77. }
  78. }
  79. .el-step__main{
  80. padding-left: 40px;
  81. .el-step__title{
  82. font-weight: 600 !important;
  83. margin-bottom: 10px;
  84. padding-bottom: unset;
  85. &.is-process{
  86. // font-weight: normal!important;
  87. }
  88. &.is-wait{
  89. // font-weight: normal!important;
  90. color: #5B463E!important;
  91. }
  92. &.is-success{
  93. color: #5B463E!important;
  94. }
  95. }
  96. .el-step__description{
  97. font-size: 14px;
  98. color: #333333;
  99. }
  100. }
  101. }
  102. }
  103. </style>