猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
2.7 KiB

  1. <template>
  2. <view>
  3. <view class="flex-rowl">
  4. <image :src="configList.applet_logo.paramValueImage" class="logo"></image>
  5. <view class="size-36 fw700 color-fff"
  6. style="margin-left: 20rpx;">
  7. 伴宠师认证
  8. </view>
  9. </view>
  10. <view class="renz flex-rowl mt10"
  11. @click="$refs.configPopupRef.open('certificationRequirements')">
  12. <text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
  13. <image src="@/static/images/ydd/more.png" mode=""></image>
  14. </view>
  15. <view class="neir bg-fff mt24">
  16. <view class="steps flex-between">
  17. <template v-for="(item, index) in steps" :key="`step-${index}`">
  18. <view v-if="index > 0" class="line" :class="[index < props.step ? 'is-active' : '']"></view>
  19. <view class="step flex-colc" :class="[index < props.step ? 'is-active' : '']"
  20. @click="toPath(item)">
  21. <view class="num mb6 flex-rowc size-26 color-fff">
  22. {{ index + 1 }}
  23. </view>
  24. <text class="size-22 desc">{{ item.name }}</text>
  25. </view>
  26. </template>
  27. </view>
  28. <view class="color-ffb size-22 mt32">
  29. {{ configList.pet_describe.paramValueText }}
  30. </view>
  31. </view>
  32. <configPopup ref="configPopupRef" />
  33. </view>
  34. </template>
  35. <script setup>
  36. import {
  37. reactive,
  38. ref
  39. } from 'vue'
  40. import {
  41. store
  42. } from '@/store'
  43. import configPopup from '@/components/configPopup.vue'
  44. const configPopupRef = ref(null)
  45. const configList = store.state.system.configList
  46. const props = defineProps({
  47. step: {
  48. type: Number,
  49. default: 0,
  50. }
  51. })
  52. const steps = reactive([
  53. {
  54. name : '基本考核',
  55. path : '/otherPages/authentication/list/index',
  56. },
  57. {
  58. name : '培训考核',
  59. path : '/otherPages/authentication/examination/baseCompleted',
  60. },
  61. {
  62. name : '最终准备',
  63. // path : '/otherPages/authentication/examination/baseCompleted',
  64. },
  65. ])
  66. function toPath(item){
  67. if(item.path){
  68. uni.redirectTo({
  69. url: item.path
  70. })
  71. }
  72. }
  73. </script>
  74. <style lang="scss" scoped>
  75. .logo {
  76. width: 194rpx;
  77. height: 70rpx;
  78. }
  79. .renz {
  80. image {
  81. width: 26rpx;
  82. height: 26rpx;
  83. }
  84. }
  85. .neir {
  86. padding: 47rpx 27rpx 36rpx 27rpx;
  87. border-radius: 16rpx;
  88. box-sizing: border-box;
  89. width: 716rpx;
  90. .steps {
  91. .line {
  92. width: 163rpx;
  93. height: 3rpx;
  94. background-color: #BDBDBD;
  95. margin-bottom: 30rpx;
  96. margin: 0 26rpx;
  97. }
  98. .num {
  99. width: 50rpx;
  100. height: 50rpx;
  101. background-color: #BDBDBD;
  102. border-radius: 50%;
  103. margin-bottom: 7rpx;
  104. }
  105. .desc {
  106. white-space: nowrap;
  107. color: #BDBDBD;
  108. }
  109. .line.is-active,
  110. .step.is-active .num {
  111. background-color: #FFBF60;
  112. }
  113. .step.is-active .desc {
  114. color: #000000;
  115. }
  116. }
  117. }
  118. </style>