Reviewed-on: http://175.178.51.79:3000/Augcl/pet-front/pulls/1pull/6/head
@ -1,161 +0,0 @@ | |||||
.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: auto; | |||||
background-color: pink; | |||||
position: absolute; | |||||
top: 410rpx; | |||||
left: 15rpx; | |||||
padding: 1% 3%; | |||||
.top{ | |||||
width: 625rpx; | |||||
height: 132rpx; | |||||
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; | |||||
} | |||||
.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; | |||||
} | |||||
.veo{ | |||||
justify-content: space-between; | |||||
.veo_ video{ | |||||
width: 100rpx; | |||||
height: 150rpx; | |||||
background-color: red; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} |
@ -1,84 +0,0 @@ | |||||
<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> | |||||
<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> | |||||
进行培训考核的答题前请认真观看下面的视频和资料! | |||||
</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> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@import"index.scss"; | |||||
</style> |
@ -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> |
@ -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> |
@ -1,85 +1,201 @@ | |||||
<template> | <template> | ||||
<view class="box"> | |||||
<view class=""> | |||||
<view class="color-fff size-28"> | |||||
答题进度 10/23 | |||||
</view> | |||||
<view class="step mt20 mb32"> | |||||
<view class="in"> | |||||
<view class="page"> | |||||
</view> | |||||
<view class="header"> | |||||
<view class="flex-rowc color-fff size-28 title"> | |||||
{{ `答题进度 ${answered}/${total}` }} | |||||
</view> | </view> | ||||
<up-line-progress class="progress" :percentage="progress" activeColor="#FFBF60" inactiveColor="#D9D9D9" height="16rpx" :showText="false"></up-line-progress> | |||||
</view> | </view> | ||||
<view class="content bg-fff"> | |||||
<view class="label size-22"> | |||||
选择题 | |||||
</view> | |||||
<view class=""> | |||||
<view class="size-28 mt32 mb20"> | |||||
1、猫咪每天在地上走路,时不时还会打滚, 身上是很不干净的,最好每个星期洗次澡 | |||||
</view> | |||||
<view class="size-28 color-777 p20 daan"> | |||||
A、对 | |||||
<view class="box"> | |||||
<view class="content bg-fff"> | |||||
<view> | |||||
<view class="label size-22"> | |||||
选择题 | |||||
</view> | |||||
</view> | </view> | ||||
<view class="size-28 color-777 p20 daan active mt24"> | |||||
B、错 | |||||
<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> | ||||
</view> | </view> | ||||
</view> | |||||
<view class="footer-btn"> | |||||
<view class="btn"> | |||||
提交 | |||||
<view class="footer-btn"> | |||||
<view class="btn" @click="toNext"> | |||||
提交 | |||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</template> | </template> | ||||
<script> | |||||
<script setup> | |||||
import { ref, computed } from 'vue' | |||||
import { onShow } from '@dcloudio/uni-app' | |||||
import { usePageList } from "@/utils/pageList"; | |||||
import questionCard from '../components/questionCard.vue'; | |||||
const total = ref(0) | |||||
// todo | |||||
const { list, getData } = usePageList() | |||||
onShow(() => { | |||||
// todo: delete test data | |||||
total.value = 100 | |||||
list.value = [ | |||||
{ | |||||
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, | |||||
}, | |||||
{ | |||||
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, | |||||
}, | |||||
] | |||||
}) | |||||
const answered = computed(() => { | |||||
return list.value.filter(item => item.value !== null).length | |||||
}) | |||||
const progress = computed(() => { | |||||
return Math.floor(answered.value / total.value * 100) | |||||
}) | |||||
const toNext = () => { | |||||
uni.navigateTo({ | |||||
url: "/otherPages/authentication/examination/baseCompleted" | |||||
}) | |||||
} | |||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.active { | |||||
color: #FFBF60; | |||||
background-color: rgb(255, 241, 240); | |||||
.page { | |||||
padding-bottom: 144rpx; | |||||
} | } | ||||
.daan { | |||||
background-color: #F3F3F3; | |||||
border-radius: 50rpx; | |||||
} | |||||
.header { | |||||
padding: 0 36rpx; | |||||
position: sticky; | |||||
top: 0; | |||||
background-image: linear-gradient(180deg, #FFBF60 0, #ffbf60 2%, #ffbf60 8%, #f2f2f2 90%); | |||||
.p20 { | |||||
padding: 20px; | |||||
.progress { | |||||
margin-top: 19rpx; | |||||
} | |||||
} | } | ||||
.box { | .box { | ||||
background-image: linear-gradient(to bottom, #ffbf60, #f2f2f2); | |||||
margin-top: 31rpx; | |||||
padding: 16rpx; | padding: 16rpx; | ||||
.step { | |||||
width: 720rpx; | |||||
height: 32rpx; | |||||
border-radius: 32rpx; | |||||
background-color: #D9D9D9; | |||||
.in { | |||||
width: 50%; | |||||
height: 32rpx; | |||||
background-color: #ffbf60; | |||||
border-radius: 32rpx; | |||||
} | |||||
} | |||||
} | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
.label { | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
.label { | |||||
display: inline-block; | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
} | |||||
} | } | ||||
} | } | ||||
</style> | </style> |
@ -0,0 +1,139 @@ | |||||
<template> | |||||
<!-- <view>基本考核完成</view> --> | |||||
<view class="page po-r"> | |||||
<image src="" mode="" class="mainBg"></image> | |||||
<view class="w-100 po-a content"> | |||||
<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 class="info-item"> | |||||
<view class="info-item-title"> | |||||
平台&服务介绍 | |||||
</view> | |||||
<view class="flex-between"> | |||||
<view class="veo_"> | |||||
<video src=""></video> | |||||
猫妈狗爸平台介绍 | |||||
</view> | |||||
<view class=""> | |||||
<video src=""></video> | |||||
喂养学习视频 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="info-item"> | |||||
<view class="info-item-title"> | |||||
服务培训 | |||||
</view> | |||||
</view> | |||||
<view class="footer-btn"> | |||||
<view class="btn" @click="toNext"> | |||||
进入培训考核 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup> | |||||
import stepProgress from '../components/stepProgress.vue'; | |||||
const toNext = () => { | |||||
uni.navigateTo({ | |||||
url: "/otherPages/authentication/examination/train" | |||||
}) | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.page { | |||||
position: relative; | |||||
.mainBg { | |||||
width: 100vw; | |||||
height: 442rpx; | |||||
background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5); | |||||
} | |||||
.content { | |||||
top: 0; | |||||
left: 0; | |||||
padding: 16rpx; | |||||
} | |||||
} | |||||
.info{ | |||||
box-sizing: border-box; | |||||
width: 100%; | |||||
height: auto; | |||||
background-color: #FFFFFF; | |||||
padding: 22rpx 20rpx 38rpx 20rpx; | |||||
border-radius: 16rpx; | |||||
.top{ | |||||
width: 100%; | |||||
background-color: #FFFCF1; | |||||
padding: 19rpx 26rpx; | |||||
border-radius: 16rpx; | |||||
color: #707070; | |||||
&-title { | |||||
font-size: 28rpx; | |||||
} | |||||
&-desc { | |||||
margin-top: 22rpx; | |||||
font-size: 22rpx; | |||||
} | |||||
} | |||||
&-item { | |||||
&-title { | |||||
&::before { | |||||
content: ""; | |||||
display: block; | |||||
width: 9rpx; | |||||
height: 33rpx; | |||||
background-color: #FFBF60; | |||||
margin-right: 7rpx; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.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> |
@ -1,109 +0,0 @@ | |||||
<template> | |||||
<!-- <view>伴宠师认证</view> --> | |||||
<view class="box"> | |||||
<view class="content bg-fff"> | |||||
<view class=""> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
选择题 | |||||
</view> | |||||
<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 class="mt60"> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
主观题 | |||||
</view> | |||||
<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 class="footer-btn buttom "> | |||||
<view class="size-22 color-777 "> | |||||
剩余考试机会:<text :style="{color:'#FF8DC6'}">3</text>次 | |||||
</view> | |||||
<view class="btn"> | |||||
重新考试 | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
</script> | |||||
<style lang="scss" scoped> | |||||
.active { | |||||
color: #FFBF60; | |||||
background-color: rgb(255, 241, 240); | |||||
} | |||||
.daan { | |||||
background-color: #F3F3F3; | |||||
border-radius: 50rpx; | |||||
} | |||||
.p20 { | |||||
padding: 20px; | |||||
} | |||||
.box { | |||||
// background-image: linear-gradient(to bottom, #ffbf60, #f2f2f2); | |||||
padding: 16rpx; | |||||
.step { | |||||
width: 720rpx; | |||||
height: 32rpx; | |||||
border-radius: 32rpx; | |||||
background-color: #D9D9D9; | |||||
.in { | |||||
width: 50%; | |||||
height: 32rpx; | |||||
background-color: #ffbf60; | |||||
border-radius: 32rpx; | |||||
} | |||||
} | |||||
} | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
.label { | |||||
width: 86rpx; | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
justify-content: center; | |||||
} | |||||
} | |||||
.level { | |||||
display: flex; | |||||
} | |||||
.subjectivity { | |||||
height: auto; | |||||
} | |||||
.buttom { | |||||
display: grid; | |||||
place-items: center; | |||||
} | |||||
</style> |
@ -0,0 +1,142 @@ | |||||
<template> | |||||
<!-- <view>伴宠师认证</view> --> | |||||
<view> | |||||
<view class="box"> | |||||
<view class="content bg-fff"> | |||||
<view class=""> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
选择题 | |||||
</view> | |||||
<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 class="mt60"> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
主观题 | |||||
</view> | |||||
<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 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 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> | |||||
.active { | |||||
color: #FFBF60; | |||||
background-color: rgb(255, 241, 240); | |||||
} | |||||
.daan { | |||||
background-color: #F3F3F3; | |||||
border-radius: 50rpx; | |||||
} | |||||
.p20 { | |||||
padding: 20px; | |||||
} | |||||
.box { | |||||
// background-image: linear-gradient(to bottom, #ffbf60, #f2f2f2); | |||||
padding: 16rpx; | |||||
.step { | |||||
width: 720rpx; | |||||
height: 32rpx; | |||||
border-radius: 32rpx; | |||||
background-color: #D9D9D9; | |||||
.in { | |||||
width: 50%; | |||||
height: 32rpx; | |||||
background-color: #ffbf60; | |||||
border-radius: 32rpx; | |||||
} | |||||
} | |||||
} | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
.label { | |||||
width: 86rpx; | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
justify-content: center; | |||||
} | |||||
} | |||||
.level { | |||||
display: flex; | |||||
} | |||||
.subjectivity { | |||||
height: auto; | |||||
} | |||||
.buttom { | |||||
display: grid; | |||||
place-items: center; | |||||
} | |||||
.tips { | |||||
&-rest { | |||||
color: #707070; | |||||
font-size: 22rpx; | |||||
margin: 9rpx 0 13rpx 0; | |||||
.highlight { | |||||
color: #FF8DC6; | |||||
} | |||||
} | |||||
} | |||||
</style> |
@ -0,0 +1,102 @@ | |||||
<template> | |||||
<!-- <view>培训考核</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> | |||||
<view class="content bg-fff"> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
主观题 | |||||
</view> | |||||
<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 class="footer-btn buttom "> | |||||
<view class="btn" @click="toNext"> | |||||
提交 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup> | |||||
const toNext = () => { | |||||
uni.navigateTo({ | |||||
url: "/otherPages/authentication/examination/trainCompleted/index" | |||||
}) | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.active { | |||||
color: #FFBF60; | |||||
background-color: rgb(255, 241, 240); | |||||
} | |||||
.daan { | |||||
background-color: #F3F3F3; | |||||
border-radius: 50rpx; | |||||
} | |||||
.p20 { | |||||
padding: 20px; | |||||
} | |||||
.box { | |||||
height: 180rpx; | |||||
background-image: linear-gradient(to bottom, #ffbf60, #f2f2f2); | |||||
padding: 16rpx; | |||||
position: absolute; | |||||
.step { | |||||
width: 720rpx; | |||||
height: 15rpx; | |||||
border-radius: 32rpx; | |||||
background-color: #D9D9D9; | |||||
.in { | |||||
width: 50%; | |||||
height: 15rpx; | |||||
background-color: #ffbf60; | |||||
border-radius: 32rpx; | |||||
} | |||||
} | |||||
} | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
position: relative; | |||||
bottom: 0; | |||||
left: 0; | |||||
.label { | |||||
width: 80rpx; | |||||
justify-content: center; | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} | |||||
</style> |
@ -0,0 +1,57 @@ | |||||
<template> | |||||
<view class="content_"> | |||||
<view class="img_"> | |||||
<image src="../../static/examination/unqualified.png" mode="" style="width: 310rpx;height: 311rpx;"></image> | |||||
</view> | |||||
<view class="buttom" :style="{borderRadius:'41rpx'}" @click="onClick"> | |||||
查看错题原因 | |||||
<!-- todo: icon-arrow --> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup> | |||||
const onClick = () => { | |||||
uni.navigateTo({ | |||||
url: "/otherPages/authentication/examination/errorDetail" | |||||
}) | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.content_{ | |||||
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; | |||||
} | |||||
.buttom{ | |||||
width: 594rpx; | |||||
height: 94rpx; | |||||
display: grid; | |||||
place-items: center; | |||||
background-color: #FFBF60; | |||||
margin: 250rpx 0 0 40rpx; | |||||
font-size: 30rpx; | |||||
color: #FFFFFF; | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} | |||||
</style> |
@ -0,0 +1,62 @@ | |||||
<template> | |||||
<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="buttom" :style="{borderRadius:'41rpx'}" @click="onClick"> | |||||
下一步 | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup> | |||||
const onClick = () => { | |||||
uni.navigateTo({ | |||||
url: "/otherPages/authentication/examination/end" | |||||
}) | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.content_{ | |||||
font-size: 28rpx; | |||||
color: #707070; | |||||
.img_{ | |||||
width: 310rpx; | |||||
height: 311rpx; | |||||
margin: 80rpx 0 0 190rpx; | |||||
} | |||||
.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; | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} | |||||
</style> |
@ -0,0 +1,60 @@ | |||||
<template> | |||||
<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="buttom" :style="{borderRadius:'41rpx'}" @click="onClick"> | |||||
我知道了 | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup> | |||||
const onClick = () => { | |||||
// todo | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.content_{ | |||||
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; | |||||
} | |||||
.buttom{ | |||||
width: 594rpx; | |||||
height: 94rpx; | |||||
display: grid; | |||||
place-items: center; | |||||
background-color: #FFBF60; | |||||
margin: 250rpx 0 0 40rpx; | |||||
font-size: 30rpx; | |||||
color: #FFFFFF; | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} | |||||
</style> |
@ -1,64 +0,0 @@ | |||||
<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> | |||||
<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> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@import"detail.scss"; | |||||
</style> |
@ -1,64 +0,0 @@ | |||||
<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> | |||||
<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> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@import"detail.scss"; | |||||
</style> |
@ -1,54 +0,0 @@ | |||||
.active { | |||||
color: #FFBF60; | |||||
background-color: rgb(255, 241, 240); | |||||
} | |||||
.daan { | |||||
background-color: #F3F3F3; | |||||
border-radius: 50rpx; | |||||
} | |||||
.p20 { | |||||
padding: 20px; | |||||
} | |||||
.box { | |||||
height: 180rpx; | |||||
background-image: linear-gradient(to bottom, #ffbf60, #f2f2f2); | |||||
padding: 16rpx; | |||||
position: absolute; | |||||
.step { | |||||
width: 720rpx; | |||||
height: 15rpx; | |||||
border-radius: 32rpx; | |||||
background-color: #D9D9D9; | |||||
.in { | |||||
width: 50%; | |||||
height: 15rpx; | |||||
background-color: #ffbf60; | |||||
border-radius: 32rpx; | |||||
} | |||||
} | |||||
} | |||||
.content { | |||||
border-radius: 20rpx; | |||||
padding: 15rpx 20rpx; | |||||
position: relative; | |||||
bottom: 0; | |||||
left: 0; | |||||
.label { | |||||
width: 80rpx; | |||||
justify-content: center; | |||||
padding: 5rpx 15rpx; | |||||
color: #fff; | |||||
background-color: #FFBF60; | |||||
} | |||||
} | |||||
.level{ | |||||
display: flex; | |||||
} |
@ -1,40 +0,0 @@ | |||||
<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> | |||||
<view class="content bg-fff"> | |||||
<view class="label size-22 level" :style="{borderRadius:'10rpx'}"> | |||||
主观题 | |||||
</view> | |||||
<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 class="footer-btn buttom "> | |||||
<view class="btn"> | |||||
提交 | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@import"index.scss"; | |||||
</style> |
@ -0,0 +1,72 @@ | |||||
import { ref, reactive } from 'vue' | |||||
import { onShow, onReachBottom } from '@dcloudio/uni-app' | |||||
export const usePageList = (apiFun, defaultQueryParams) => { | |||||
const queryParams = reactive({ | |||||
pageNo: 1, | |||||
pageSize: 10, | |||||
...defaultQueryParams | |||||
}) | |||||
const list = ref([]) | |||||
const total = ref(0) | |||||
const fetchData = async () => { | |||||
try { | |||||
const res = await apiFun(queryParams) | |||||
if (res.code === 200) { | |||||
return res.data | |||||
} | |||||
return { list: [], total: 0 } | |||||
} catch (err) { | |||||
return { list: [], total: 0 } | |||||
} | |||||
} | |||||
const getData = async () => { | |||||
queryParams.pageNo = 1 | |||||
const { list: _list, total: _total } = await fetchData() | |||||
list.value = _list | |||||
total.value = _total | |||||
} | |||||
const getMore = async () => { | |||||
if (list.value.length >= total.value) { | |||||
return | |||||
} | |||||
queryParams.pageNo++ | |||||
const { list: _list } = await fetchData() | |||||
list.value = list.value.concat(_list) | |||||
} | |||||
onShow(() => { | |||||
// todo fetch | |||||
console.log('--onShow') | |||||
return | |||||
getData() | |||||
}) | |||||
onReachBottom(() => { | |||||
// todo fetch | |||||
console.log('--onReachBottom') | |||||
return | |||||
getMore() | |||||
}) | |||||
return { | |||||
queryParams, | |||||
list, | |||||
total, | |||||
getData, | |||||
getMore, | |||||
} | |||||
} |