Browse Source

feat: 伴宠师认证流程(暂存);

pull/1/head
Fox-33 2 months ago
parent
commit
15014dff78
19 changed files with 819 additions and 1110 deletions
  1. +71
    -0
      otherPages/authentication/components/questionCard.vue
  2. +94
    -0
      otherPages/authentication/components/stepProgress.vue
  3. +101
    -67
      otherPages/authentication/examination/base.vue
  4. +88
    -193
      otherPages/authentication/examination/baseCompleted.vue
  5. +96
    -133
      otherPages/authentication/examination/end.vue
  6. +65
    -32
      otherPages/authentication/examination/errorDetail.vue
  7. +31
    -22
      otherPages/authentication/examination/train.vue
  8. +13
    -193
      otherPages/authentication/examination/trainCompleted/fail.vue
  9. +210
    -0
      otherPages/authentication/examination/trainCompleted/index.vue
  10. +15
    -190
      otherPages/authentication/examination/trainCompleted/pass.vue
  11. +14
    -191
      otherPages/authentication/examination/trainCompleted/waiting.vue
  12. +3
    -72
      otherPages/authentication/list/index.vue
  13. BIN
      otherPages/authentication/static/examination/approved.png
  14. BIN
      otherPages/authentication/static/examination/examine.png
  15. BIN
      otherPages/authentication/static/examination/unqualified.png
  16. +1
    -12
      pages.json
  17. +0
    -1
      pages/myOrdersManage/components/orderListByData.vue
  18. +0
    -4
      pages/myOrdersManage/components/systemOrder.vue
  19. +17
    -0
      utils/pageList.js

+ 71
- 0
otherPages/authentication/components/questionCard.vue View File

@ -0,0 +1,71 @@
<template>
<view class="mt32 question__view" :class="[props.mode]">
<view class="size-28 mb20 question">
{{ `${props.index + 1}${props.data.question}` }}
</view>
<view class="size-28 option"
v-for="(option, oIdx) in props.data.options"
:key="`${props.index}-option-${oIdx}`"
:class="[props.modelValue === option.value ? 'is-selected' : '']"
@click="onClick(option.value)"
>
{{ `${String.fromCharCode(65 + oIdx)}${option.label}` }}
</view>
</view>
</template>
<script setup>
const props = defineProps({
index: {
type: Number,
default: null,
},
data: {
type: Object,
default() {
return {}
}
},
modelValue: {
type: String | Number,
default: null,
},
mode: {
type: String,
default: 'select', // select | display
}
})
const emit = defineEmits(['update:modelValue'])
const onClick = (val) => {
emit('update:modelValue', val)
}
</script>
<style lang="scss" scoped>
.question {
color: #000000;
}
.option {
background-color: #F3F3F3;
color: #707070;
line-height: 37rpx;
padding: 23rpx;
border-radius: 28rpx;
& + & {
margin-top: 20rpx;
}
}
.question__view.select {
.option.is-selected {
background-color: rgba($color: #FFBF60, $alpha: 0.22);
color: #FFBF60;
}
}
</style>

+ 94
- 0
otherPages/authentication/components/stepProgress.vue View File

@ -0,0 +1,94 @@
<template>
<view>
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<template v-for="(item, index) in steps" :key="`step-${index}`">
<view v-if="index > 0" class="line" :class="[index < props.step ? 'is-active' : '']"></view>
<view class="step flex-colc" :class="[index < props.step ? 'is-active' : '']">
<view class="num mb6 flex-rowc size-26 color-fff">
{{ index + 1 }}
</view>
<text class="size-22 desc">{{ item }}</text>
</view>
</template>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
</view>
</template>
<script setup>
import { reactive } from 'vue'
const props = defineProps({
step: {
type: Number,
default: 0,
}
})
const steps = reactive(['基本考核', '培训考核', '最终准备'])
</script>
<style lang="scss" scoped>
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
image {
width: 26rpx;
height: 26rpx;
}
}
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
margin: 0 26rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #BDBDBD;
border-radius: 50%;
margin-bottom: 7rpx;
}
.desc {
white-space: nowrap;
}
.line.is-active,
.step.is-active .num {
background-color: #FFBF60;
}
}
}
</style>

+ 101
- 67
otherPages/authentication/examination/base.vue View File

@ -1,61 +1,56 @@
<template>
<view class="page">
<view class="bg"></view>
<view class="content">
<view class="box">
<view class="">
<view class="flex-rowc color-fff size-28">
{{ `答题进度 ${answerCount}/${total}` }}
</view>
<up-line-progress :percentage="progress" activeColor="FFBF60" inactiveColor="#D9D9D9" height="16rpx" :showText="false"></up-line-progress>
</view>
<view class="header">
<view class="flex-rowc color-fff size-28 title">
{{ `答题进度 ${answered}/${total}` }}
</view>
<up-line-progress class="progress" :percentage="progress" activeColor="#FFBF60" inactiveColor="#D9D9D9" height="16rpx" :showText="false"></up-line-progress>
</view>
<view class="content bg-fff">
<view class="box">
<view class="content bg-fff">
<view>
<view class="label size-22">
选择题
</view>
<view class="">
<view v-for="(item, qIdx) in list" :key="`question-${qIdx}`">
<view class="size-28 mt32 mb20">
{{ item.question }}
</view>
<view class="size-28 color-777 p20 daan"
v-for="(option, oIdx) in item.options"
:key="`${qIdx}-option-${oIdx}`"
>
{{ `${String.fromCharCode(65 + oIdx)}${option.label}` }}
</view>
</view>
</view>
</view>
</view>
<view class="footer-btn">
<view class="btn">
提交
<view class="">
<questionCard
v-for="(item, qIdx) in list"
:key="`question-${qIdx}`"
:index="qIdx"
:data="item"
v-model="item.value"
></questionCard>
</view>
</view>
</view>
<view class="footer-btn">
<view class="btn" @click="toNext">
提交
</view>
</view>
</view>
</template>
<script setup>
import { ref, computed } from 'vue'
import { onShow, onReachBottom } from '@dcloudio/uni-app'
import { onShow } from '@dcloudio/uni-app'
import { usePageList } from "@/utils/pageList";
const answerCount = ref(0)
import questionCard from '../components/questionCard.vue';
const total = ref(0)
// todo
const { list, getData, getMore } = usePageList()
const { list, getData } = usePageList()
onShow(() => {
// todo fetch
answerCount.value = 30
// todo: delete test data
total.value = 100
list.value = [
@ -70,7 +65,8 @@ onShow(() => {
label: '错',
value: 1,
},
]
],
value: null,
},
{
question: '当狗狗出现乱拉乱尿或者捣乱拆家等反映时,您会如何处理?',
@ -87,7 +83,8 @@ onShow(() => {
label: '狗狗也不是故意的,也不会造成什么很大的影响,默默打扫好就算了吧',
value: 2,
},
]
],
value: null,
},
{
question: '3、狗狗和猫咪一样是肉食性动物,最好可以纯肉喂养,对狗狗的身心健康有很大好处',
@ -100,57 +97,93 @@ onShow(() => {
label: '错',
value: 1,
},
]
],
value: null,
},
{
question: '猫咪每天在地上走路,时不时还会打滚,身上是很不干净的,最好每个星期洗次澡',
options: [
{
label: '对',
value: 0,
},
{
label: '错',
value: 1,
},
],
value: null,
},
{
question: '当狗狗出现乱拉乱尿或者捣乱拆家等反映时,您会如何处理?',
options: [
{
label: '暴力制止,根据情况是否严重来判断下手轻重,让狗狗知道这样做会受到惩罚',
value: 0,
},
{
label: '奖罚分明,制止后耐心引导,直到狗狗做出正确的行为,并立马给出奖励',
value: 1,
},
{
label: '狗狗也不是故意的,也不会造成什么很大的影响,默默打扫好就算了吧',
value: 2,
},
],
value: null,
},
{
question: '3、狗狗和猫咪一样是肉食性动物,最好可以纯肉喂养,对狗狗的身心健康有很大好处',
options: [
{
label: '对',
value: 0,
},
{
label: '错',
value: 1,
},
],
value: null,
},
]
return
getData()
})
onReachBottom(() => {
// todo: fetch more
return
getMore()
const answered = computed(() => {
return list.value.filter(item => item.value !== null).length
})
const progress = computed(() => {
return Math.floor(answerCount.value / total.value)
return Math.floor(answered.value / total.value * 100)
})
const toNext = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/baseCompleted"
})
}
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
& > .bg {
width: 100%;
height: 298rpx;
background: linear-gradient(178deg,#ffbf60 2%, #ffbf60 5%, #f2f2f2 63%);
}
& > .content {
position: absolute;
top: 0;
width: 100%;
}
padding-bottom: 144rpx;
}
.active {
color: #FFBF60;
background-color: rgb(255, 241, 240);
}
.header {
padding: 0 36rpx;
position: sticky;
top: 0;
background-image: linear-gradient(180deg, #FFBF60 0, #ffbf60 2%, #ffbf60 8%, #f2f2f2 90%);
.daan {
background-color: #F3F3F3;
border-radius: 50rpx;
}
.p20 {
padding: 20px;
.progress {
margin-top: 19rpx;
}
}
.box {
margin-top: 31rpx;
padding: 16rpx;
.content {
@ -158,6 +191,7 @@ const progress = computed(() => {
padding: 15rpx 20rpx;
.label {
display: inline-block;
padding: 5rpx 15rpx;
color: #fff;
background-color: #FFBF60;


+ 88
- 193
otherPages/authentication/examination/baseCompleted.vue View File

@ -1,74 +1,44 @@
<template>
<!-- <view>基本考核完成</view> -->
<view class="containers po-r">
<view class="page po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
<stepProgress :step="2"></stepProgress>
<view class="info">
<view class="top">
<view class="top-title">
<up-icon class="icon" name="checkmark-circle-fill" color="#FFBF60" size="34rpx"></up-icon>
<text>基本考核答题已完成</text>
</view>
<view class="top-desc">
<up-icon class="icon" name="error-circle" color="#707070" size="27rpx"></up-icon>
<text>进行培训考核的答题前请认真观看下面的视频和资料</text>
</view>
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
1
</view>
<text class="size-22">基本考核</text>
<view class="info-item">
<view class="info-item-title">
平台&服务介绍
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
<view class="flex-between">
<view class="veo_">
<video src=""></video>
猫妈狗爸平台介绍
</view>
<text class="size-22">培训考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
<view class="">
<video src=""></video>
喂养学习视频
</view>
<text class="size-22">最终准备</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
</view>
<view class="content_ box-size" :style="{borderRadius:'16rpx'}">
<view class="top box-size" :style="{borderRadius:'16rpx'}">
<view class="level">
<view class="img">
<image src="" mode=""></image>
</view>
基本考核答题已完成
</view>
<view class="level">
<view class="text">
!
<view class="info-item">
<view class="info-item-title">
服务培训
</view>
进行培训考核的答题前请认真观看下面的视频和资料
</view>
</view>
<view class="">
<view class="form-title">
平台&服务介绍
</view>
<view class="level veo">
<view class="veo_">
<video src=""></video>
猫妈狗爸平台介绍
</view>
<view class="">
<video src=""></video>
喂养学习视频
<view class="footer-btn">
<view class="btn" @click="toNext">
进入培训考核
</view>
</view>
</view>
@ -76,92 +46,19 @@
</view>
</template>
<script>
</script>
<script setup>
import stepProgress from '../components/stepProgress.vue';
<style scoped lang="scss">
.bt120 {
margin-bottom: 120rpx;
width: 716rpx;
box-sizing: border-box;
}
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
.type {
width: 190rpx;
margin-bottom: 74rpx;
}
.form {
padding: 40rpx 32rpx;
box-sizing: border-box;
width: 716rpx;
}
.title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
.mb6 {
margin-bottom: 6rpx;
const toNext = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/train"
})
}
</script>
.containers {
<style scoped lang="scss">
.page {
position: relative;
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
width: 100vw;
@ -173,72 +70,70 @@
top: 0;
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
image {
width: 26rpx;
height: 26rpx;
}
}
}
}
.content_{
width: 675rpx;
.info{
box-sizing: border-box;
width: 100%;
height: auto;
background-color: pink;
position: absolute;
top: 410rpx;
left: 15rpx;
padding: 1% 3%;
background-color: #FFFFFF;
padding: 22rpx 20rpx 38rpx 20rpx;
border-radius: 16rpx;
.top{
width: 625rpx;
height: 132rpx;
width: 100%;
background-color: #FFFCF1;
padding: 16rpx 26rpx;
font-size: 28rpx;
.img image{
width: 40rpx;
height: 40rpx;
border-radius: 100%;
background-color: red;
margin:3rpx 10rpx 0 0;
padding: 19rpx 26rpx;
border-radius: 16rpx;
color: #707070;
&-title {
font-size: 28rpx;
}
.text{
width: 40rpx;
height: 40rpx;
border: 1rpx solid gray;
border-radius: 100%;
// background-color: red;
margin:3rpx 10rpx 0 0;
display: grid;
place-items: center;
&-desc {
margin-top: 22rpx;
font-size: 22rpx;
}
.veo{
justify-content: space-between;
.veo_ video{
width: 100rpx;
height: 150rpx;
background-color: red;
}
&-item {
&-title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
}
}
.level{
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
</style>

+ 96
- 133
otherPages/authentication/examination/end.vue View File

@ -1,169 +1,134 @@
<template>
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
<view>
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<stepProgress :step="3"></stepProgress>
<view class="step mt24">
<view class="li flex-rowl">
<view class="num flex-rowc">
1
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end12.png" mode=""></image>
<text class="size-30 color-000 fw700">实名认证</text>
</view>
<view class="size-22 color-ffb">
已完成
</view>
</view>
<view class="info">
<view class="size-22 color-777">
真实姓名刘思恩
</view>
<view class="size-22 color-777">
身份证号码48234792837458923
</view>
</view>
</view>
<text class="size-22">基本考核</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
<view class="step mt24">
<view class="li flex-rowl">
<view class="num flex-rowc">
1
</view>
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end12.png" mode=""></image>
<text class="size-30 color-000 fw700">实名认证</text>
</view>
<view class="size-22 color-ffb">
已完成
</view>
<view class="li flex-rowl po-r">
<view class="line po-a">
</view>
<view class="num flex-rowc">
2
</view>
<view class="info">
<view class="size-22 color-777">
真实姓名刘思恩
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">履约保证金缴纳</text>
</view>
<view class="size-22 color-ffb jiao">
去缴纳
</view>
</view>
<view class="size-22 color-777">
身份证号码48234792837458923
<view class="info color-777 size-22">
请缴纳履约保证金保证金注销时可申请退还
</view>
</view>
</view>
</view>
<view class="li flex-rowl po-r">
<view class="line po-a">
</view>
<view class="num flex-rowc">
2
</view>
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">履约保证金缴纳</text>
</view>
<view class="size-22 color-ffb jiao">
去缴纳
</view>
<view class="li flex-rowl po-r">
<view class="line po-a" style="height: 150rpx;">
</view>
<view class="info color-777 size-22">
请缴纳履约保证金保证金注销时可申请退还
<view class="num flex-rowc">
3
</view>
</view>
</view>
<view class="li flex-rowl po-r">
<view class="line po-a" style="height: 150rpx;">
</view>
<view class="num flex-rowc">
3
</view>
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end1(4).png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">添加客服微信</text>
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end1(4).png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">添加客服微信</text>
</view>
<view class="size-22 color-ffb jiao">
去缴纳
</view>
</view>
<view class="size-22 color-ffb jiao">
去缴纳
<view class="info color-777 size-22 flex-rowc">
<text class="size-22 color-777">微信二维码</text>
<image src="" mode="" style="width: 150rpx;height: 150rpx;"></image>
</view>
</view>
<view class="info color-777 size-22 flex-rowc">
<text class="size-22 color-777">微信二维码</text>
<image src="" mode="" style="width: 150rpx;height: 150rpx;"></image>
</view>
</view>
</view>
<view class="li flex-rowl po-r">
<view class="line po-a" style="height: 150rpx;">
</view>
<view class="num flex-rowc">
4
</view>
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">服务工具准备</text>
</view>
<view class="size-22">
查看工具包
</view>
<view class="li flex-rowl po-r">
<view class="line po-a" style="height: 150rpx;">
</view>
<view class="info color-777 size-22">
<view class="flex-between">
<text class="size-22">所在地区:</text>
<input type="text" placeholder="请选择" />
</view>
<view class="num flex-rowc">
4
</view>
<view class="info color-777 size-22 mt20">
<view class="flex-between">
<text class="size-22">详细地址:</text>
<input type="text" placeholder="请输入道路、小区、门牌号等" />
<view class="item">
<view class="flex-between mb10">
<view class="flex-rowl">
<image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
<text class="size-30 color-000 fw700">服务工具准备</text>
</view>
<view class="size-22">
查看工具包
</view>
</view>
<view class="info color-777 size-22">
<view class="flex-between">
<text class="size-22">所在地区:</text>
<input type="text" placeholder="请选择" />
</view>
</view>
<view class="info color-777 size-22 mt20">
<view class="flex-between">
<text class="size-22">详细地址:</text>
<input type="text" placeholder="请输入道路、小区、门牌号等" />
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="footer-btn" @click="toNext">
<view class="btn">
下一步
<view class="footer-btn" @click="onClick">
<view class="btn">
提交审核
</view>
</view>
</view>
</view>
</view>
<image src="@/static/images/ydd/chat.png" mode="widthFix" class="chat"></image>
</view>
<image src="@/static/images/ydd/chat.png" mode="widthFix" class="chat"></image>
</template>
<script setup>
import {
reactive
} from "vue";
import dFrom from "@/components/dForm/index.vue"
import stepProgress from '../components/stepProgress.vue';
const state = reactive({
list: [{
@ -217,10 +182,8 @@
]
})
const toNext = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/start"
})
const onClick = () => {
// todo
}
</script>


+ 65
- 32
otherPages/authentication/examination/errorDetail.vue View File

@ -1,50 +1,71 @@
<template>
<!-- <view>伴宠师认证</view> -->
<view class="box">
<view class="content bg-fff">
<view class="">
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
选择题
</view>
<view>
<view class="box">
<view class="content bg-fff">
<view class="">
<view class="size-28 mt32 mb20">
1猫咪每天在地上走路时不时还会打滚 身上是很不干净的最好每个星期洗次澡
</view>
<view class="size-28 color-777 p20 daan mb24">
A
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
选择题
</view>
<view class="size-28 color-777 p20 daan active mb24">
B
<view class="">
<view class="size-28 mt32 mb20">
1猫咪每天在地上走路时不时还会打滚 身上是很不干净的最好每个星期洗次澡
</view>
<view class="size-28 color-777 p20 daan mb24">
A
</view>
<view class="size-28 color-777 p20 daan active mb24">
B
</view>
</view>
</view>
</view>
<view class="mt60">
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
主观题
</view>
<view class="">
<view class="size-28 mt32 mb20">
1喂养服务流程:如果您收到一笔喂养猫咪的订单备注猫咪性格怕生请问您会如何进行服务?请详细描述您的全部服务流程(若服务宠物不包含猫咪可回答)
<view class="mt60">
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
主观题
</view>
<view class="size-28 color-777 p20 daan">
<textarea value="" placeholder="" />
<text :style="{color:'#FF2A2A'}">字数低于700字不予合格</text>
<view class="">
<view class="size-28 mt32 mb20">
1喂养服务流程:如果您收到一笔喂养猫咪的订单备注猫咪性格怕生请问您会如何进行服务?请详细描述您的全部服务流程(若服务宠物不包含猫咪可回答)
</view>
<view class="size-28 color-777 p20 daan">
<textarea value="" placeholder="" />
<text :style="{color:'#FF2A2A'}">字数低于700字不予合格</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="footer-btn buttom ">
<view class="size-22 color-777 ">
剩余考试机会<text :style="{color:'#FF8DC6'}">3</text>
</view>
<view class="btn">
重新考试
<view class="footer-btn buttom ">
<view class="size-22 color-777 tips-rest">
<!-- todo -->
剩余考试机会<text class="highlight">{{ restTimes }}</text>
</view>
<view class="btn" @click="onClick">
重新考试
</view>
</view>
</view>
</template>
<script>
<script setup>
import { ref } from 'vue'
import { onShow } from '@dcloudio/uni-app'
const restTimes = ref()
onShow(() => {
// todo: fetch
restTimes.value = 3
})
const onClick = () => {
uni.reLaunch({
url: "/otherPages/authentication/examination/start"
// todo: check
// url: "/otherPages/authentication/list/index"
})
}
</script>
<style lang="scss" scoped>
@ -106,4 +127,16 @@
display: grid;
place-items: center;
}
.tips {
&-rest {
color: #707070;
font-size: 22rpx;
margin: 9rpx 0 13rpx 0;
.highlight {
color: #FF8DC6;
}
}
}
</style>

+ 31
- 22
otherPages/authentication/examination/train.vue View File

@ -1,38 +1,47 @@
<template>
<!-- <view>培训考核</view> -->
<view class="box">
<view class="">
<view class="color-fff size-28">
答题进度 2/5
</view>
<view class="step mt20 mb32">
<view class="in">
<view>
<view class="box">
<view class="">
<view class="color-fff size-28">
答题进度 2/5
</view>
</view>
<view class="content bg-fff">
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
主观题
<view class="step mt20 mb32">
<view class="in">
</view>
</view>
<view class="">
<view class="size-28 mt32 mb20">
1喂养服务流程:如果您收到一笔喂养猫咪的订单备注猫咪性格怕生请问您会如何进行服务?请详细描述您的全部服务流程(若服务宠物不包含猫咪可回答
<view class="content bg-fff">
<view class="label size-22 level" :style="{borderRadius:'10rpx'}">
主观题
</view>
<view class="size-28 color-777 p20 daan">
<textarea value="" placeholder="请输入您的答案,不得低于700个字" />
<view class="">
<view class="size-28 mt32 mb20">
1喂养服务流程:如果您收到一笔喂养猫咪的订单备注猫咪性格怕生请问您会如何进行服务?请详细描述您的全部服务流程(若服务宠物不包含猫咪可回答
</view>
<view class="size-28 color-777 p20 daan">
<textarea value="" placeholder="请输入您的答案,不得低于700个字" />
</view>
</view>
</view>
</view>
</view>
</view>
<view class="footer-btn buttom ">
<view class="btn">
提交
<view class="footer-btn buttom ">
<view class="btn" @click="toNext">
提交
</view>
</view>
</view>
</template>
<script>
<script setup>
const toNext = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/trainCompleted/index"
})
}
</script>
<style scoped lang="scss">


+ 13
- 193
otherPages/authentication/examination/trainCompleted/fail.vue View File

@ -1,183 +1,26 @@
<template>
<!-- <view>伴宠师认证</view> -->
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
1
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
</view>
<text class="size-22">培训考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
</view>
<text class="size-22">最终准备</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
<view class="content_">
<view class="img_">
<image src="../../static/examination/unqualified.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="content_ box-size" :style="{borderRadius:'16rpx'}">
<view class="img_">
<image src="/static/images/ydd/examine.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="text level">
平台会在三个工作日内完成审核请及时查看审核结果
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}">
我知道了
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}" @click="onClick">
查看错题原因
<!-- todo: icon-arrow -->
</view>
</view>
</template>
<script>
</script>
<script setup>
<style scoped lang="scss">
.bt120 {
margin-bottom: 120rpx;
width: 716rpx;
box-sizing: border-box;
const onClick = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/errorDetail"
})
}
</script>
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
.type {
width: 190rpx;
margin-bottom: 74rpx;
}
.form {
padding: 40rpx 32rpx;
box-sizing: border-box;
width: 716rpx;
}
.title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
.mb6 {
margin-bottom: 6rpx;
}
.containers {
position: relative;
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
width: 100vw;
height: 442rpx;
background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
}
.content {
top: 0;
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
image {
width: 26rpx;
height: 26rpx;
}
}
}
}
<style scoped lang="scss">
.content_{
width: 675rpx;
height: 926rpx;
// background-color: pink;
background-color: #fff;
position: absolute;
top: 410rpx;
left: 15rpx;
padding: 1% 3%;
font-size: 28rpx;
color: #707070;
@ -194,14 +37,6 @@
margin: 30rpx 0 0 140rpx;
}
.text_{
width: 674rpx;
height: 74rpx;
justify-content: center;
margin: 30rpx 0 0 10rpx;
font-size: 22rpx !important;
}
.buttom{
width: 594rpx;
height: 94rpx;
@ -212,21 +47,6 @@
font-size: 30rpx;
color: #FFFFFF;
}
.buttom_{
width: 594rpx;
height: 94rpx;
justify-content: center;
line-height: 94rpx;
background-color: #FFBF60;
margin: 360rpx 0 0 40rpx;
font-size: 30rpx;
color: #FFFFFF;
.img image{
margin-left: 5rpx;
margin-right: -15rpx;
}
}
}
.level{


+ 210
- 0
otherPages/authentication/examination/trainCompleted/index.vue View File

@ -0,0 +1,210 @@
<template>
<!-- <view>伴宠师认证</view> -->
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<stepProgress :step="2"></stepProgress>
</view>
<view class="content_ box-size" :style="{borderRadius:'16rpx'}">
<passView v-if="status === 'pass'"></passView>
<failView v-else-if="status === 'fail'"></failView>
<waitingView v-else></waitingView>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue'
import { onShow } from '@dcloudio/uni-app'
import stepProgress from '../../components/stepProgress.vue';
import waitingView from './waiting.vue'
import passView from './pass.vue'
import failView from './fail.vue'
const status = ref('waiting')
onShow(() => {
// todo: fetch
status.value = 'waiting'
})
</script>
<style scoped lang="scss">
.bt120 {
margin-bottom: 120rpx;
width: 716rpx;
box-sizing: border-box;
}
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
.type {
width: 190rpx;
margin-bottom: 74rpx;
}
.form {
padding: 40rpx 32rpx;
box-sizing: border-box;
width: 716rpx;
}
.title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
.mb6 {
margin-bottom: 6rpx;
}
.containers {
position: relative;
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
width: 100vw;
height: 442rpx;
background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
}
.content {
top: 0;
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
image {
width: 26rpx;
height: 26rpx;
}
}
}
}
.content_{
width: 675rpx;
height: 926rpx;
// background-color: pink;
background-color: #fff;
position: absolute;
top: 410rpx;
left: 15rpx;
padding: 1% 3%;
font-size: 28rpx;
color: #707070;
.img_{
width: 310rpx;
height: 311rpx;
margin: 80rpx 0 0 190rpx;
}
.text{
width: 420rpx;
height: 74rpx;
justify-content: center;
margin: 30rpx 0 0 140rpx;
}
.text_{
width: 674rpx;
height: 74rpx;
justify-content: center;
margin: 30rpx 0 0 10rpx;
font-size: 22rpx !important;
}
.buttom{
width: 594rpx;
height: 94rpx;
display: grid;
place-items: center;
background-color: #FFBF60;
margin: 250rpx 0 0 40rpx;
font-size: 30rpx;
color: #FFFFFF;
}
.buttom_{
width: 594rpx;
height: 94rpx;
justify-content: center;
line-height: 94rpx;
background-color: #FFBF60;
margin: 360rpx 0 0 40rpx;
font-size: 30rpx;
color: #FFFFFF;
.img image{
margin-left: 5rpx;
margin-right: -15rpx;
}
}
}
.level{
display: flex;
}
</style>

+ 15
- 190
otherPages/authentication/examination/trainCompleted/pass.vue View File

@ -1,183 +1,30 @@
<template>
<!-- <view>伴宠师认证</view> -->
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
1
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
</view>
<text class="size-22">培训考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
</view>
<text class="size-22">最终准备</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
<view class="content_ box-size">
<view class="img_">
<image src="../../static/examination/approved.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="text_ level">
审核留言:-您好呀感谢您的认真作答~从您的回答中我们感受到了您对宠物的用心相信您可以胜任宠物喂养员这份小小的工作!希望您能在猫妈狗爸给更多毛孩子带去您的关爱!
</view>
<view class="content_ box-size" :style="{borderRadius:'16rpx'}">
<view class="img_">
<image src="/static/images/ydd/approved.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="text_ level">
审核留言:-您好呀感谢您的认真作答~从您的回答中我们感受到了您对宠物的用心相信您可以胜任宠物喂养员这份小小的工作!希望您能在猫妈狗爸给更多毛孩子带去您的关爱!
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}">
下一步
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}" @click="onClick">
下一步
</view>
</view>
</template>
<script>
</script>
<style scoped lang="scss">
.bt120 {
margin-bottom: 120rpx;
width: 716rpx;
box-sizing: border-box;
}
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
.type {
width: 190rpx;
margin-bottom: 74rpx;
}
.form {
padding: 40rpx 32rpx;
box-sizing: border-box;
width: 716rpx;
}
.title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
<script setup>
.mb6 {
margin-bottom: 6rpx;
const onClick = () => {
uni.navigateTo({
url: "/otherPages/authentication/examination/end"
})
}
.containers {
position: relative;
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
width: 100vw;
height: 442rpx;
background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
}
.content {
top: 0;
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
</script>
.renz {
<style scoped lang="scss">
image {
width: 26rpx;
height: 26rpx;
}
}
}
}
.content_{
width: 675rpx;
height: 926rpx;
// background-color: pink;
background-color: #fff;
position: absolute;
top: 410rpx;
left: 15rpx;
padding: 1% 3%;
font-size: 28rpx;
color: #707070;
@ -187,13 +34,6 @@
margin: 80rpx 0 0 190rpx;
}
.text{
width: 420rpx;
height: 74rpx;
justify-content: center;
margin: 30rpx 0 0 140rpx;
}
.text_{
width: 674rpx;
height: 74rpx;
@ -212,21 +52,6 @@
font-size: 30rpx;
color: #FFFFFF;
}
.buttom_{
width: 594rpx;
height: 94rpx;
justify-content: center;
line-height: 94rpx;
background-color: #FFBF60;
margin: 360rpx 0 0 40rpx;
font-size: 30rpx;
color: #FFFFFF;
.img image{
margin-left: 5rpx;
margin-right: -15rpx;
}
}
}
.level{


+ 14
- 191
otherPages/authentication/examination/trainCompleted/waiting.vue View File

@ -1,183 +1,29 @@
<template>
<!-- <view>伴宠师认证</view> -->
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
1
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
</view>
<text class="size-22">培训考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
</view>
<text class="size-22">最终准备</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
<view class="content_">
<view class="img_">
<image src="../../static/examination/examine.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
<image src="/static/images/ydd/examine.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="text level">
平台会在三个工作日内完成审核请及时查看审核结果
</view>
<view class="content_ box-size" :style="{borderRadius:'16rpx'}">
<view class="img_">
<image src="/static/images/ydd/examine.png" mode="" style="width: 310rpx;height: 311rpx;"></image>
</view>
<view class="text level">
平台会在三个工作日内完成审核请及时查看审核结果
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}">
我知道了
</view>
<view class="buttom" :style="{borderRadius:'41rpx'}" @click="onClick">
我知道了
</view>
</view>
</template>
<script>
</script>
<style scoped lang="scss">
.bt120 {
margin-bottom: 120rpx;
width: 716rpx;
box-sizing: border-box;
}
.footer-btn {
width: 100vw;
height: 144rpx;
background-color: #fff;
display: flex;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
align-items: center;
.btn {
font-size: 30rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
width: 574rpx;
height: 94rpx;
border-radius: 94rpx;
background-color: #FFBF60;
}
}
.type {
width: 190rpx;
margin-bottom: 74rpx;
}
.form {
padding: 40rpx 32rpx;
box-sizing: border-box;
width: 716rpx;
}
.title {
&::before {
content: "";
display: block;
width: 9rpx;
height: 33rpx;
background-color: #FFBF60;
margin-right: 7rpx;
}
}
<script setup>
.mb6 {
margin-bottom: 6rpx;
const onClick = () => {
// todo
}
.containers {
position: relative;
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
width: 100vw;
height: 442rpx;
background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
}
.content {
top: 0;
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
</script>
image {
width: 26rpx;
height: 26rpx;
}
}
}
}
<style scoped lang="scss">
.content_{
width: 675rpx;
height: 926rpx;
// background-color: pink;
background-color: #fff;
position: absolute;
top: 410rpx;
left: 15rpx;
padding: 1% 3%;
font-size: 28rpx;
color: #707070;
@ -194,14 +40,6 @@
margin: 30rpx 0 0 140rpx;
}
.text_{
width: 674rpx;
height: 74rpx;
justify-content: center;
margin: 30rpx 0 0 10rpx;
font-size: 22rpx !important;
}
.buttom{
width: 594rpx;
height: 94rpx;
@ -212,21 +50,6 @@
font-size: 30rpx;
color: #FFFFFF;
}
.buttom_{
width: 594rpx;
height: 94rpx;
justify-content: center;
line-height: 94rpx;
background-color: #FFBF60;
margin: 360rpx 0 0 40rpx;
font-size: 30rpx;
color: #FFFFFF;
.img image{
margin-left: 5rpx;
margin-right: -15rpx;
}
}
}
.level{


+ 3
- 72
otherPages/authentication/list/index.vue View File

@ -3,43 +3,8 @@
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="flex-rowl">
<image src="@/static/images/ydd/logo.png" mode="" class="logo"></image>
<view class="size-36 fw700 color-fff">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10">
<text class="size-28 color-fff mr24">查看认证要求工作详情服务酬劳扥信息</text>
<image src="@/static/images/ydd/more.png" mode=""></image>
</view>
<view class="neir bg-fff mt24">
<view class="steps flex-between">
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
1
</view>
<text class="size-22">基本考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
2
</view>
<text class="size-22">培训考核</text>
</view>
<view class="line"></view>
<view class="step flex-colc">
<view class="num mb6 flex-rowc size-26 color-fff">
3
</view>
<text class="size-22">最终准备</text>
</view>
</view>
<view class="color-ffb size-22 mt32">
为保证喂养员认证顺利进行请认真填写并确保信息的真实性
</view>
</view>
<stepProgress :step="1"></stepProgress>
<view class="bg-fff mt22 form ">
<view class="title fw700 size-30 flex-rowl">
@ -120,6 +85,7 @@
<script setup>
import { ref, reactive } from "vue";
import dForm from "@/components/dForm/index.vue"
import stepProgress from '../components/stepProgress.vue';
const state = reactive({
list: [{
@ -307,29 +273,6 @@
}
.containers {
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #FFBF60;
border-radius: 50%;
}
}
}
.mainBg {
@ -343,18 +286,6 @@
left: 0;
padding: 16rpx;
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
image {
width: 26rpx;
height: 26rpx;
}
}
}
}


BIN
otherPages/authentication/static/examination/approved.png View File

Before After
Width: 310  |  Height: 323  |  Size: 25 KiB

BIN
otherPages/authentication/static/examination/examine.png View File

Before After
Width: 310  |  Height: 311  |  Size: 25 KiB

BIN
otherPages/authentication/static/examination/unqualified.png View File

Before After
Width: 311  |  Height: 333  |  Size: 25 KiB

+ 1
- 12
pages.json View File

@ -76,26 +76,15 @@
"navigationBarTitleText": "培训考核"
}
}, {
"path": "examination/trainCompleted/waiting",
"path": "examination/trainCompleted/index",
"style": {
"navigationBarTitleText": "伴宠师认证"
}
}, {
"path": "examination/trainCompleted/fail",
"style": {
"navigationBarTitleText": "伴宠师认证"
}
},
{
"path": "examination/errorDetail",
"style": {
"navigationBarTitleText": "伴宠师认证"
}
}, {
"path": "examination/trainCompleted/pass",
"style": {
"navigationBarTitleText": "伴宠师认证"
}
}, {
"path": "examination/end",
"style": {


+ 0
- 1
pages/myOrdersManage/components/orderListByData.vue View File

@ -82,7 +82,6 @@
import {
ref,
reactive,
defineProps
} from 'vue';
const {


+ 0
- 4
pages/myOrdersManage/components/systemOrder.vue View File

@ -49,10 +49,6 @@
}
import {
defineProps
} from 'vue';
const { list } = defineProps({
list: {
type: Array,


+ 17
- 0
utils/pageList.js View File

@ -1,4 +1,5 @@
import { ref, reactive } from 'vue'
import { onShow, onReachBottom } from '@dcloudio/uni-app'
export const usePageList = (apiFun, defaultQueryParams) => {
@ -43,6 +44,22 @@ export const usePageList = (apiFun, defaultQueryParams) => {
list.value = list.value.concat(_list)
}
onShow(() => {
// todo fetch
console.log('--onShow')
return
getData()
})
onReachBottom(() => {
// todo fetch
console.log('--onReachBottom')
return
getMore()
})
return {
queryParams,


Loading…
Cancel
Save