| @ -0,0 +1,86 @@ | |||
| import request from '@/utils/request' | |||
| export const banner = (data) => { | |||
| return request({ | |||
| url: '/applet/workIn/bannerList', | |||
| headers: { | |||
| isToken: false | |||
| }, | |||
| method: 'get', | |||
| data | |||
| }) | |||
| } | |||
| export const joinHh = (data) => { | |||
| return request({ | |||
| url: '/applet/workIn/joinHh', | |||
| headers: { | |||
| isToken: true | |||
| }, | |||
| method: 'post', | |||
| data | |||
| }) | |||
| } | |||
| export const joiBcs = (data) => { | |||
| return request({ | |||
| url: "/applet/workIn/joiBcs", | |||
| headers: { | |||
| isToken: true | |||
| }, | |||
| method: 'post', | |||
| data | |||
| }) | |||
| } | |||
| export const indexConfig = () => { | |||
| return request({ | |||
| url: "/applet/workIn/indexConfig", | |||
| headers: { | |||
| isToken: false | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| export const indexConfigIco = () => { | |||
| return request({ | |||
| url: "/applet/workIn/indexConfigIco", | |||
| headers: { | |||
| isToken: false | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| export const successList = () => { | |||
| return request({ | |||
| url: "/applet/workIn/list", | |||
| headers: { | |||
| isToken: false | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| export const getbaseInfo = (appUserId) => { | |||
| return request({ | |||
| url: `/applet/login/getAppletUserInfo/${appUserId}`, | |||
| headers: { | |||
| isToken: true | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| export const binBaseInfo = (appUserId) => { | |||
| return request({ | |||
| url: `/applet/workOut/hhrInfo/${appUserId}`, | |||
| headers: { | |||
| isToken: true | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| export const bindCode = (appUserId) => { | |||
| return request({ | |||
| url: `/applet/workOut/hhrCode/${appUserId}`, | |||
| headers: { | |||
| isToken: true | |||
| }, | |||
| method: "get" | |||
| }) | |||
| } | |||
| @ -1,31 +1,38 @@ | |||
| import request from '@/utils/request' | |||
| // 个人中心信息 | |||
| export function getPersonalInfo(){ | |||
| export function getPersonalInfo() { | |||
| return request({ | |||
| headers:{ "isToken":true}, | |||
| headers: { | |||
| "isToken": true | |||
| }, | |||
| url: "/h5/companion/staff/getStaffInfo", | |||
| method: 'get' | |||
| }) | |||
| } | |||
| //获取openId | |||
| export function getOpenId(code){ | |||
| export function getOpenId(code) { | |||
| return request({ | |||
| url: `/no-auth/wechat/getOpenId?code=${code}&sourceType=1`, | |||
| method: 'get' | |||
| url: `/no-auth/wechat/getOpenId?code=${code}&sourceType=1`, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| //获取手机号 | |||
| export function getPhoneNumber(data){ | |||
| export function getPhoneNumber(data) { | |||
| return request({ | |||
| url: `/no-auth/wechat/getPhoneNumber`, | |||
| method: 'post', | |||
| data | |||
| url: `/applet/login/bindPhone`, | |||
| method: 'post', | |||
| data | |||
| }) | |||
| } | |||
| // 微信授权登录 | |||
| export const wxLogin = (data) => { | |||
| return request({ | |||
| url: `/applet/login/wechatLogin`, | |||
| method: 'post', | |||
| data | |||
| }) | |||
| } | |||
| @ -0,0 +1,161 @@ | |||
| .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; | |||
| } | |||
| @ -0,0 +1,84 @@ | |||
| <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,109 @@ | |||
| <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,64 @@ | |||
| <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> | |||
| @ -0,0 +1,174 @@ | |||
| .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; | |||
| } | |||
| @ -0,0 +1,64 @@ | |||
| <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> | |||
| @ -0,0 +1,54 @@ | |||
| .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; | |||
| } | |||
| @ -0,0 +1,40 @@ | |||
| <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,176 @@ | |||
| <template> | |||
| <!-- <view>打卡记录</view> --> | |||
| <view class="container level mt24 box-size"> | |||
| <view class=""> | |||
| <image src="" mode="" :style="{width:'60rpx',height:'52rpx',backgroundColor:'red'}"></image> | |||
| </view> | |||
| <view class="ml10"> | |||
| 2025-12-14 | |||
| </view> | |||
| </view> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 个人准备 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">手套照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少1张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">鞋套照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少1张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 宠物状态记录 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">小汪照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少2张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">Billion照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少2张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 基础服务记录 | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">粮碗前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">水碗前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">猫砂盆、尿垫前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 定制服务记录 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">遛狗</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(2-3张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">陪玩</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(2-3张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="" mode="" :style="{width:'131rpx',height:'131rpx',backgroundColor:'red'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size mb10" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 其他补充信息(非必填) | |||
| </view> | |||
| <view class="mt32 ml10" :style="{color:'#999999',fontSize:'30rpx'}"> | |||
| 可记录一下今日趣事、宠物状况、提醒事项等 | |||
| </view> | |||
| <view class="mt24"> | |||
| <textarea name="" id="" cols="30" rows="10" placeholder="请输入内容" | |||
| :style="{color:'#999999',fontSize:'30rpx',backgroundColor:'#F5F5F5',borderRadius:'16rpx',width:'681rpx',height:'180rpx'}" | |||
| class="pd20 box-size"></textarea> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"index.scss" | |||
| </style> | |||
| @ -0,0 +1,50 @@ | |||
| .container{ | |||
| width: 100vw; | |||
| height: 103rpx; | |||
| background-color: #FFFAF2; | |||
| padding: 25rpx 250rpx; | |||
| } | |||
| .box{ | |||
| width: 100vw; | |||
| height: auto; | |||
| padding: 20rpx; | |||
| position: absolute; | |||
| .top{ | |||
| width: 710rpx; | |||
| height: auto; | |||
| background-color: #fff; | |||
| padding: 0 20rpx 20rpx 20rpx; | |||
| } | |||
| .buttom{ | |||
| width: 750rpx; | |||
| height: 163rpx; | |||
| background-color: #fff; | |||
| position: relative; | |||
| bottom: 32rpx; | |||
| left: -20rpx; | |||
| padding: 40rpx 85rpx; | |||
| .buttom-item{ | |||
| width: 594rpx; | |||
| height: 94rpx; | |||
| background-color: #FFBF60; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| } | |||
| } | |||
| .box-size{ | |||
| box-sizing: border-box; | |||
| } | |||
| .level{ | |||
| display: flex; | |||
| } | |||
| .jus-center{ | |||
| justify-content: center; | |||
| } | |||
| @ -0,0 +1,149 @@ | |||
| <template> | |||
| <!-- <view>打卡</view> --> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 个人准备 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">手套照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少1张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">鞋套照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少1张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 宠物状态记录 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">小汪照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少2张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">Billion照片</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(至少2张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 基础服务记录 | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">粮碗前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">水碗前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10" :style="{fontSize:'30rpx',fontWeight:'400'}">猫砂盆、尿垫前后对比 </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">前</view> | |||
| </view> | |||
| <view class="mt20 ml10 ml28"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| <view class="jus-center level" :style="{color:'#999999',fontSize:'22rpx',width:'131rpx'}">后</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 定制服务记录 | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">遛狗</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(2-3张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| <view class="mt32 ml10"> | |||
| <span :style="{fontSize:'30rpx',fontWeight:'400'}">陪玩</span> | |||
| <span :style="{fontSize:'22rpx',color:'#C7C7C7'}">(2-3张)</span> | |||
| </view> | |||
| <view class="level"> | |||
| <view class="mt20 ml10 mr20"> | |||
| <image src="/static/images/ydd/add_photo.png" mode="" :style="{width:'131rpx',height:'131rpx'}"> | |||
| </image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 其他补充信息(非必填) | |||
| </view> | |||
| <view class="mt32 ml10" :style="{color:'#999999',fontSize:'30rpx'}"> | |||
| 可记录一下今日趣事、宠物状况、提醒事项等 | |||
| </view> | |||
| <view class="mt24"> | |||
| <textarea name="" id="" cols="30" rows="10" placeholder="请输入内容" | |||
| :style="{color:'#999999',fontSize:'30rpx',backgroundColor:'#F5F5F5',borderRadius:'16rpx',width:'681rpx',height:'180rpx'}" | |||
| class="pd20 box-size"></textarea> | |||
| </view> | |||
| </view> | |||
| <view class="buttom mt60 box-size"> | |||
| <view class="buttom-item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 确定提交 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"index.scss" | |||
| </style> | |||
| @ -0,0 +1,114 @@ | |||
| <template> | |||
| <!-- <div>服务档案</div> --> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 您需要的清洁内容 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 陪玩 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 陪玩用品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 您希望的互动方式和要求 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 活动区吸毛 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 吸毛用品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 请说明吸毛区域及要求 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 毛发梳理 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 毛发梳理用品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 请说明毛发梳理要求(如: 天数,次数等) | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 食具深度清洁 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 需深度清洁的用具及消毒剂摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 请说明食具/饮水机深度清洁要求(如清洁方式、消毒剂使用方式、频率等) | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 喂药上药 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 药品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 请说明药品使用方式 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="buttom_ mt60 box-size level"> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 上一页 | |||
| </view> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 下一页 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"detail.scss" | |||
| </style> | |||
| @ -0,0 +1,90 @@ | |||
| <template> | |||
| <!-- <div>服务档案</div> --> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 您需要的清洁内容 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 猫砂 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 猫砂摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">猫砂更换频率</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>天</view> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>次</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 尿垫 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 尿垫摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">更换尿垫</view> | |||
| <view class="">是</view> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">尿垫更换频率</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>天</view> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>次</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="buttom_ mt60 box-size level"> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 上一页 | |||
| </view> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 下一页 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"detail.scss" | |||
| </style> | |||
| @ -0,0 +1,92 @@ | |||
| .box { | |||
| width: 100vw; | |||
| height: 100vh; | |||
| padding: 0 20rpx; | |||
| position: absolute; | |||
| .top{ | |||
| width: 710rpx; | |||
| height: auto; | |||
| background-color: #fff; | |||
| padding: 0 23rpx 53rpx 23rpx; | |||
| } | |||
| .img image{ | |||
| width: 173rpx; | |||
| height: 230rpx; | |||
| background-color: red; | |||
| } | |||
| .notes{ | |||
| width: 681rpx; | |||
| height: auto; | |||
| padding: 4rpx 10rpx; | |||
| border: 1rpx solid #999999; | |||
| } | |||
| .input_{ | |||
| border-bottom: 1px solid #000; | |||
| text-align: center; | |||
| } | |||
| .line{ | |||
| width: 691rpx; | |||
| height: 1rpx; | |||
| background-color: #707070; | |||
| opacity: 0.14; | |||
| margin: 35rpx 0 35rpx -13rpx; | |||
| } | |||
| .buttom{ | |||
| width: 750rpx; | |||
| height: 163rpx; | |||
| background-color: #fff; | |||
| position: relative; | |||
| bottom: 32rpx; | |||
| left: -20rpx; | |||
| padding: 40rpx 85rpx; | |||
| .buttom-item{ | |||
| width: 594rpx; | |||
| height: 94rpx; | |||
| background-color: #FFBF60; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| } | |||
| .buttom_{ | |||
| width: 750rpx; | |||
| height: 163rpx; | |||
| background-color: #fff; | |||
| padding: 40rpx 40rpx; | |||
| position: relative; | |||
| bottom: 32rpx; | |||
| left: -20rpx; | |||
| justify-content: space-between; | |||
| .buttom_item{ | |||
| width: 307rpx; | |||
| height: 94rpx; | |||
| background-color: #FFBF60; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| } | |||
| } | |||
| .ml--15{ | |||
| margin-left: -15rpx; | |||
| } | |||
| .color-A55{ | |||
| color: #A55822; | |||
| } | |||
| .box-size { | |||
| box-sizing: border-box; | |||
| } | |||
| .level{ | |||
| display: flex; | |||
| } | |||
| @ -1,13 +1,226 @@ | |||
| <template> | |||
| <!-- <div>服务档案</div> --> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 本次喂养过程中,您需要喂养的食品包括 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 干粮(主粮、冻干等) | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 干粮摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">干粮喂养重量</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>/次(单位:克)</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">干粮喂养频率</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>天</view> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>次</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 湿粮(罐头等) | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 湿粮摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">湿粮喂养重量</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>/次(单位:罐)</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">湿粮喂养频率</view> | |||
| <view class="level"> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>天</view> | |||
| <view class="input_ mr10"> | |||
| <input type="text" :style="{width:'80rpx',height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| <view>次</view> | |||
| </view> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 自制食品 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 自制食品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 自制饭制作和喂食说明 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 生骨肉 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 生骨肉摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 生骨肉喂食说明 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 保健品 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 保健品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 保健品喂养方式 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 零食 | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 零食摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 零食喂养方式 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| </view> | |||
| <view class="top mt24" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 食盆/自动喂食器 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 喂食器具摆放位置 | |||
| </view> | |||
| <view class="mt20"> | |||
| <image src="" mode="" :style="{width:'307rpx',height:'230rpx',backgroundColor:'red'}"></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 饮用水 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 饮用水摆放位置 | |||
| </view> | |||
| <view class="mt20"> | |||
| <image src="" mode="" :style="{width:'307rpx',height:'230rpx',backgroundColor:'red'}"></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 饮用水添加要求 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 其他补充信息(非必填) | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="buttom mt60 box-size"> | |||
| <view class="buttom-item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 下一页 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"detail.css"; | |||
| @import"detail.scss"; | |||
| </style> | |||
| @ -0,0 +1,101 @@ | |||
| <template> | |||
| <!-- <div>服务档案</div> --> | |||
| <view class="box box-size"> | |||
| <view class="top box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 遛狗用品 | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="size-30 mt32 fw400"> | |||
| 遛狗用品摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24 flex-between"> | |||
| <view :style="{color:'#999999'}">下雨天是否遛狗</view> | |||
| <view class="">是</view> | |||
| </view> | |||
| <view class="size-30 mt32 fw400"> | |||
| 狗狗雨具摆放位置 | |||
| </view> | |||
| <view class="img mt20"> | |||
| <image src="" mode=""></image> | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 雨天遛狗要求 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="top mt24 box-size" :style="{borderRadius:'16rpx'}"> | |||
| <view class="form-title"> | |||
| 其他补充信息(非必填) | |||
| </view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 遛狗时长 | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" placeholder="文字说明文字说明文字说明" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 狗狗行为 | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" placeholder="文字说明文字说明文字说明" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 偏好区域 | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" placeholder="文字说明文字说明文字说明" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| <view class="line" :style="{borderRadius:'1rpx'}"></view> | |||
| <view class=" mt32 ml10"> | |||
| <view class="color-A55 size-30 fw400"> | |||
| 偏好路线 | |||
| </view> | |||
| <view class="size-30 mt24" :style="{color:'#999999'}"> | |||
| 备注信息 | |||
| </view> | |||
| <view class="notes mt16 box-size ml--15" :style="{borderRadius:'16rpx'}"> | |||
| <input type="text" placeholder="文字说明文字说明文字说明" :style="{height:'50rpx',fontSize:'30rpx'}"> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="buttom_ mt60 box-size level"> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 上一页 | |||
| </view> | |||
| <view class="buttom_item level size-30" :style="{borderRadius:'41rpx',color:'#fff'}"> | |||
| 下一页 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import"detail.scss" | |||
| </style> | |||
| @ -1,91 +1,82 @@ | |||
| <template> | |||
| <view class="bind-user"> | |||
| <view class="bind-user-header"> | |||
| <view class="flex mb28"> | |||
| <up-image width="120rpx" height="120rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" | |||
| shape="circle"></up-image> | |||
| <view class="header-name"> | |||
| <view class="font32 mb20">微信用户</view> | |||
| <view class="flex font24"> | |||
| <view>当前分成比例: | |||
| <text>25%</text> | |||
| </view> | |||
| <view>晋级后分成比例: | |||
| <text>30%</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="flex flex-evenly"> | |||
| <view class="header-card card-left"> | |||
| <view class="flex-between flex"> | |||
| <view class="mr20"> | |||
| <view class="mb20">推广攻略</view> | |||
| <view>快速定位宠友群体</view> | |||
| </view> | |||
| <up-image :show-loading="true" src="https://cdn.catmdogd.com/Work/image/work/icon1.png" width="68rpx" | |||
| height="68rpx"></up-image> | |||
| </view> | |||
| </view> | |||
| <view class="header-card card-right"> | |||
| <view class="flex flex-between"> | |||
| <view class="mr20"> | |||
| <view class="mb20">推广教程</view> | |||
| <view>推广问题一目了然</view> | |||
| </view> | |||
| <up-image :show-loading="true" src="https://cdn.catmdogd.com/Work/image/work/icon2.png" width="68rpx" | |||
| height="68rpx"></up-image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-main"> | |||
| <view class="bind-main-one mb28"> | |||
| <view class="mb20 font32">邀请码</view> | |||
| <view class="mb20">用户输入邀请码,直接完成绑定</view> | |||
| <up-input | |||
| disabled | |||
| v-model="code" | |||
| > | |||
| <template #suffix> | |||
| <up-button | |||
| text="复制" | |||
| type="success" | |||
| size="small" | |||
| shape="circle" | |||
| ></up-button> | |||
| </template> | |||
| </up-input> | |||
| </view> | |||
| <view class="bind-main-two"> | |||
| <view class="mb20 font32">分享链接邀请</view> | |||
| <view class="mb20">复制链接给好友,进入直接绑定</view> | |||
| <up-input | |||
| disabled | |||
| v-model="url" | |||
| > | |||
| <template #suffix> | |||
| <up-button | |||
| text="复制" | |||
| type="success" | |||
| size="small" | |||
| shape="circle" | |||
| ></up-button> | |||
| </template> | |||
| </up-input> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-user"> | |||
| <view class="bind-user-header"> | |||
| <view class="flex mb28"> | |||
| <up-image width="139rpx" height="139rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" | |||
| shape="circle"></up-image> | |||
| <view class="header-name"> | |||
| <view class="font32 mb20" :style="{color:'#000'}">猫小姐</view> | |||
| <view class="label1"> | |||
| 初级合伙人 | |||
| </view> | |||
| <view class="flex font24"> | |||
| <view :style="{color:'#A55822'}">当前分成比例: | |||
| <text :style="{color:'#C12525'}">25%</text> | |||
| </view> | |||
| <view :style="{color:'#A55822'}">晋级后分成比例: | |||
| <text :style="{color:'#C12525'}">30%</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="flex flex-evenly mt60"> | |||
| <view class="header-card card-left box-size"> | |||
| <view class="flex-between flex"> | |||
| <view class="mr20"> | |||
| <view class="mb20 ml20" :style="{color:'#A55822',fontWeight:'bold',fontSize:'30rpx'}">推广攻略 | |||
| </view> | |||
| <view :style="{color:'#A55822',fontSize:'22rpx'}">快速定位宠友群体</view> | |||
| </view> | |||
| <up-image :show-loading="true" src="https://cdn.catmdogd.com/Work/image/work/icon1.png" | |||
| width="71rpx" height="85rpx"></up-image> | |||
| </view> | |||
| </view> | |||
| <view class="header-card card-right box-size"> | |||
| <view class="flex flex-between"> | |||
| <view class="mr20"> | |||
| <view class="mb20 ml20" :style="{color:'#A55822',fontWeight:'bold',fontSize:'30rpx'}">推广教程 | |||
| </view> | |||
| <view :style="{color:'#A55822',fontSize:'22rpx'}">推广问题一目了然</view> | |||
| </view> | |||
| <up-image :show-loading="true" src="https://cdn.catmdogd.com/Work/image/work/icon2.png" | |||
| width="71rpx" height="85rpx"></up-image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-main"> | |||
| <view class="bind-main-one mb10"> | |||
| <view class="mb20 font32">邀请码</view> | |||
| <view class="mb20">用户输入邀请码,直接完成绑定</view> | |||
| <up-input disabled v-model="code"> | |||
| <template #suffix> | |||
| <up-button text="复制" type="success" size="small" shape="circle"></up-button> | |||
| </template> | |||
| </up-input> | |||
| </view> | |||
| <view class="bind-main-two"> | |||
| <view class="mb20 font32">分享链接邀请</view> | |||
| <view class="mb20">复制链接给好友,进入直接绑定</view> | |||
| <up-input disabled v-model="url"> | |||
| <template #suffix> | |||
| <up-button text="复制" type="success" size="small" shape="circle"></up-button> | |||
| </template> | |||
| </up-input> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script setup> | |||
| import {ref} from "vue"; | |||
| import { | |||
| ref | |||
| } from "vue"; | |||
| const code = ref('asdasaadsdsa') | |||
| const url = ref('https://uview-plus.jiangruyi.com/components/button.html') | |||
| const code = ref('asdasaadsdsa') | |||
| const url = ref('https://uview-plus.jiangruyi.com/components/button.html') | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import "index"; | |||
| @import "index"; | |||
| </style> | |||
| @ -1,119 +1,121 @@ | |||
| .bind-user { | |||
| // height: 100vh; | |||
| height: 315rpx; | |||
| background: linear-gradient(360deg, #ffffff 0%, #ffbf60 99%); | |||
| &-header { | |||
| padding: 60rpx 20rpx 0; | |||
| color: #ffffff; | |||
| } | |||
| .header-name { | |||
| margin-left: 20rpx; | |||
| } | |||
| .header-card { | |||
| padding: 20rpx; | |||
| border-radius: 20rpx; | |||
| font-size: 28rpx; | |||
| } | |||
| .card-left { | |||
| background: #78f7eb; | |||
| } | |||
| .card-right { | |||
| background: #de8585; | |||
| } | |||
| &-foot { | |||
| width: 100%; | |||
| height: 180rpx; | |||
| background-color: #ffffff; | |||
| position: fixed; | |||
| bottom: 0; | |||
| .tab-bar { | |||
| margin-bottom: 60rpx; | |||
| .activeColor { | |||
| color: #000; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bind-main { | |||
| padding: 0 40rpx; | |||
| box-sizing: border-box; | |||
| height: 100vh; | |||
| } | |||
| .my-data { | |||
| .bind-user { | |||
| // height: 100vh; | |||
| height: 453rpx; | |||
| background: linear-gradient(360deg, #ffffff 0%, #ffbf60 99%); | |||
| &-header { | |||
| padding: 60rpx 20rpx 0; | |||
| color: #ffffff; | |||
| } | |||
| .header-name { | |||
| margin-left: 20rpx; | |||
| .label1 { | |||
| background-color: #ffa848; | |||
| border-radius: 20rpx; | |||
| font-size: 22rpx; | |||
| border: 1px solid #ffffff; | |||
| padding: 0 10rpx; | |||
| box-sizing: border-box; | |||
| } | |||
| } | |||
| .header-card { | |||
| padding: 20rpx; | |||
| border-radius: 20rpx; | |||
| font-size: 28rpx; | |||
| } | |||
| .card-left { | |||
| background: #78f7eb; | |||
| } | |||
| .card-right { | |||
| background: #de8585; | |||
| } | |||
| &-foot { | |||
| width: 100%; | |||
| height: 180rpx; | |||
| background-color: #ffffff; | |||
| position: fixed; | |||
| bottom: 0; | |||
| .tab-bar { | |||
| margin-bottom: 60rpx; | |||
| .activeColor { | |||
| color: #000; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bind-main { | |||
| padding: 0 20rpx; | |||
| box-sizing: border-box; | |||
| height: 100vh; | |||
| } | |||
| .my-data { | |||
| padding: 0 40rpx; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| margin-bottom: 40rpx; | |||
| border-radius: 20rpx; | |||
| &-mounth { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| &-total { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| } | |||
| .bottom { | |||
| height: 546rpx; | |||
| background-color: #fff4e6; | |||
| padding: 3%; | |||
| font-size: 22rpx; | |||
| box-sizing: border-box; | |||
| .line1 { | |||
| position: relative; | |||
| margin-bottom: 50rpx; | |||
| &::before { | |||
| position: absolute; | |||
| top: 25rpx; | |||
| left: 0; | |||
| content: ''; | |||
| width: 660rpx; | |||
| height: 1rpx; | |||
| background-color: #f5f5f7; | |||
| } | |||
| } | |||
| .form_item { | |||
| font-size: 22rpx; | |||
| color: #a55822; | |||
| position: relative; | |||
| margin-left: 10rpx; | |||
| &::before { | |||
| position: absolute; | |||
| top: 5rpx; | |||
| left: -18rpx; | |||
| content: '*'; | |||
| } | |||
| } | |||
| } | |||
| .my-level { | |||
| padding: 0 40rpx; | |||
| box-sizing: border-box; background-color: #ffffff; | |||
| margin-bottom: 40rpx; | |||
| border-radius: 20rpx; &-mounth { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| &-total { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| } | |||
| .bottom { | |||
| height: 546rpx; | |||
| background-color: #fff4e6; | |||
| padding: 3%; | |||
| font-size: 22rpx; | |||
| box-sizing: border-box; | |||
| .line1 { | |||
| position: relative; | |||
| margin-bottom: 50rpx; | |||
| &::before { | |||
| position: absolute; | |||
| top: 25rpx; | |||
| left: 0; | |||
| content: ''; | |||
| width: 660rpx; | |||
| height: 1rpx; | |||
| background-color: #f5f5f7; | |||
| } | |||
| } | |||
| .form_item { | |||
| font-size: 22rpx; | |||
| color: #a55822; | |||
| position: relative; | |||
| margin-left: 10rpx; | |||
| &::before { | |||
| position: absolute; | |||
| top: 5rpx; | |||
| left: -18rpx; | |||
| content: '*'; | |||
| } | |||
| } | |||
| } | |||
| .my-level{ | |||
| padding: 0 40rpx; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| margin-bottom: 40rpx; | |||
| border-radius: 20rpx; | |||
| &-need{ | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| &-content{ | |||
| .data{ | |||
| } | |||
| } | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| margin-bottom: 40rpx; | |||
| border-radius: 20rpx; | |||
| &-need { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| &-content { | |||
| .data { | |||
| } | |||
| } | |||
| } | |||
| @ -1,84 +1,83 @@ | |||
| <template> | |||
| <view class="bind-user"> | |||
| <view class="bind-user-header"> | |||
| <view class="flex mb28"> | |||
| <up-image width="120rpx" height="120rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" | |||
| shape="circle"></up-image> | |||
| <view class="header-name"> | |||
| <view class="font32 mb20">微信用户</view> | |||
| <view class="flex font24"> | |||
| <view>当前分成比例: | |||
| <text>25%</text> | |||
| </view> | |||
| <view>晋级后分成比例: | |||
| <text>30%</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-main"> | |||
| <view class="bind-main-content"> | |||
| <view class="bind-main-list"> | |||
| <!-- <up-empty | |||
| <view class="bind-user"> | |||
| <view class="bind-user-header"> | |||
| <view class="flex mb28"> | |||
| <up-image width="120rpx" height="120rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" | |||
| shape="circle"></up-image> | |||
| <view class="header-name"> | |||
| <view class="font32 mb20 color-040">微信用户</view> | |||
| <view class="label1"> | |||
| 初级合伙人 | |||
| </view> | |||
| <view class="flex font24"> | |||
| <view style="color: #B97132;">当前分成比例: | |||
| <text style="color: #CD4732;">25%</text> | |||
| </view> | |||
| <view class="ml28" style="color: #B97132;">晋级后分成比例: | |||
| <text style="color: #CD4732;">30%</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-main"> | |||
| <view class="bind-main-content"> | |||
| <view class="bind-main-list"> | |||
| <!-- <up-empty | |||
| mode="list" | |||
| width="300px" | |||
| height="300px" | |||
| icon="http://cdn.uviewui.com/uview/empty/car.png" | |||
| /> --> | |||
| <view class="bind-tabs"> | |||
| <up-tabs | |||
| :list="list" | |||
| :current="current" | |||
| lineWidth="68rpx" | |||
| :activeStyle="{ | |||
| <view class="bind-tabs"> | |||
| <up-tabs :list="list" :current="current" lineWidth="68rpx" :activeStyle="{ | |||
| color: '#000000', | |||
| fontWeight: 'bold', | |||
| transform: 'scale(1.05)' | |||
| }" | |||
| :inactiveStyle="{ | |||
| }" :inactiveStyle="{ | |||
| color: '#000000', | |||
| transform: 'scale(1)' | |||
| }" | |||
| :itemStyle="{height:'88rpx',padding:'0 100rpx'}" | |||
| lineColor="#FFBF60" | |||
| @click="tabClick" | |||
| > | |||
| </up-tabs> | |||
| </view> | |||
| <view class=""> | |||
| <noOrder v-if="current == 0"/> | |||
| <haveOrder v-if="current == 1"/> | |||
| }" :itemStyle="{height:'88rpx',padding:'0 100rpx'}" lineColor="#FFBF60" @click="tabClick"> | |||
| </up-tabs> | |||
| </view> | |||
| <view class=""> | |||
| <noOrder v-if="current == 0" /> | |||
| <haveOrder v-if="current == 1" /> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script setup> | |||
| import { ref,reactive } from "vue" | |||
| import haveOrder from "./components/haveOrder.vue" | |||
| import noOrder from "./components/noOrder.vue" | |||
| import { | |||
| ref, | |||
| reactive | |||
| } from "vue" | |||
| import haveOrder from "./components/haveOrder.vue" | |||
| import noOrder from "./components/noOrder.vue" | |||
| const code = ref('asdasaadsdsa') | |||
| const url = ref('https://uview-plus.jiangruyi.com/components/button.html') | |||
| const current = ref(0) | |||
| const list = reactive([ | |||
| { name: '未下单' }, | |||
| { name: '已下单' }, | |||
| ]); | |||
| const code = ref('asdasaadsdsa') | |||
| const url = ref('https://uview-plus.jiangruyi.com/components/button.html') | |||
| const current = ref(0) | |||
| const tabClick = (item) => { | |||
| current.value = item.index | |||
| } | |||
| const list = reactive([{ | |||
| name: '未下单' | |||
| }, | |||
| { | |||
| name: '已下单' | |||
| }, | |||
| ]); | |||
| const tabClick = (item) => { | |||
| current.value = item.index | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import "index"; | |||
| @import "index"; | |||
| </style> | |||
| @ -0,0 +1,81 @@ | |||
| <template> | |||
| <view class="my-data"> | |||
| <view class="my-data-mounth"> | |||
| <cardTitle :cardTitle="nounthName"></cardTitle> | |||
| <cardData :cardData="nounthData"></cardData> | |||
| </view> | |||
| </view> | |||
| <view class="my-data"> | |||
| <view class="my-data-total"> | |||
| <cardTitle :cardTitle="totalName"></cardTitle> | |||
| <cardData :cardData="totalData"></cardData> | |||
| </view> | |||
| </view> | |||
| <view class="bottom box-size child" :style="{ borderRadius: '16rpx' }"> | |||
| <view class="form_item"> | |||
| 累积数据:即注册至今的累计数据 | |||
| </view> | |||
| <view class="line1"> | |||
| </view> | |||
| <view class="form_item"> | |||
| 当月注册用户:在本月初至今,您成功邀请绑定的新用户数量 | |||
| <p>累积注册用户:您入驻合伙人至今,成功邀请绑定的用户数量</p> | |||
| </view> | |||
| <view class="line1"> | |||
| </view> | |||
| <view class="form_item"> | |||
| 当月下单用户:在本月初至今,成功邀请绑定的新用户中,截止今天成功下单的用户数; | |||
| <p>累积下单用户:您入驻合伙人至今,成功邀请绑定的新用户中,截止今日,成功下单的用户数。</p> | |||
| </view> | |||
| <view class="line1"> | |||
| </view> | |||
| <view class="form_item"> | |||
| 当月有效用户:本月初至今下单的用户中,截止今日,订单已完成的用户数量; | |||
| <p>累积有效用户:您入驻合伙人至今,成功下单的新用户中,截止今日,所有订单已完成的用户数</p> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script setup> | |||
| import cardTitle from '../../components/cardTitle.vue' | |||
| import cardData from '../../components/cardData.vue' | |||
| import { | |||
| ref, | |||
| reactive | |||
| } from "vue" | |||
| const nounthName = ref('当月数据') | |||
| const totalName = ref('累计数据') | |||
| const nounthData = reactive([{ | |||
| title: '当月注册用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '当月下单用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '当月有效用户', | |||
| num: "0个" | |||
| }, | |||
| ]) | |||
| const totalData = reactive([{ | |||
| title: '累计注册用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '累计下单用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '累计有效用户', | |||
| num: "0个", | |||
| color:'red' | |||
| }, | |||
| ]) | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import "../index.scss"; | |||
| </style> | |||
| @ -0,0 +1,154 @@ | |||
| .bind-user { | |||
| &-header { | |||
| height: 315rpx; | |||
| padding: 60rpx 20rpx 0; | |||
| background: linear-gradient(360deg, #FFFFFF 0%, #FFBF60 99%); | |||
| color: #FFFFFF; | |||
| } | |||
| .header-name { | |||
| margin-left: 20rpx; | |||
| .label1{ | |||
| width: 120rpx; | |||
| height: 28rpx; | |||
| line-height: 28rpx; | |||
| text-align: center; | |||
| background-color: #ffa848; | |||
| border-radius: 20rpx; | |||
| font-size: 22rpx; | |||
| border: 1px solid #ffffff; | |||
| margin-bottom: 10rpx; | |||
| } | |||
| } | |||
| .header-card { | |||
| padding: 20rpx; | |||
| border-radius: 20rpx; | |||
| font-size: 28rpx; | |||
| } | |||
| .card-left { | |||
| background: #78f7eb; | |||
| } | |||
| .card-right { | |||
| background: #de8585; | |||
| } | |||
| } | |||
| .bind-main { | |||
| position: absolute; | |||
| top: 180rpx; | |||
| width: 100vw; | |||
| &-content{ | |||
| padding: 30rpx 20rpx; | |||
| box-sizing: border-box; | |||
| .top { | |||
| // height: 259rpx; | |||
| background-color: #FFF6EC; | |||
| padding: 3% 4%; | |||
| .account { | |||
| display: flex; | |||
| justify-content: space-between; | |||
| color: #000000; | |||
| font-size: 30rpx; | |||
| .text { | |||
| color: #A55822; | |||
| display: flex; | |||
| } | |||
| .line { | |||
| position: relative; | |||
| padding: 0 0 0 20rpx; | |||
| &::before { | |||
| position: absolute; | |||
| top: 7rpx; | |||
| left: 10rpx; | |||
| content: ""; | |||
| width: 3rpx; | |||
| height: 30rpx; | |||
| border-radius: 9rpx; | |||
| background-color: #A55822; | |||
| } | |||
| } | |||
| } | |||
| .money { | |||
| width: auto; | |||
| height: 60rpx; | |||
| margin: 20rpx 0; | |||
| color: #FF2A2A; | |||
| font-size: 42rpx; | |||
| align-items: center; | |||
| .text1 { | |||
| font-size: 25rpx !important; | |||
| color: #FF2A2A !important; | |||
| margin-right: 10rpx; | |||
| } | |||
| } | |||
| .line1 { | |||
| position: relative; | |||
| &::before { | |||
| position: absolute; | |||
| top: -10rpx; | |||
| left: 0; | |||
| content: ""; | |||
| width: 660rpx; | |||
| height: 1rpx; | |||
| background-color: #FFBF60; | |||
| } | |||
| } | |||
| .divide { | |||
| color: #A55822; | |||
| font-size: 30rpx; | |||
| margin-top: 50rpx; | |||
| display: flex; | |||
| justify-content: space-between; | |||
| } | |||
| } | |||
| .my-data { | |||
| padding: 0 40rpx; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| margin-bottom: 40rpx; | |||
| border-radius: 20rpx; | |||
| &-total { | |||
| padding: 40rpx 0; | |||
| box-sizing: border-box; | |||
| background-color: #ffffff; | |||
| } | |||
| } | |||
| } | |||
| // &-list{ | |||
| // background: #FFFFFF; | |||
| // min-height: 900rpx; | |||
| // border-radius: 30rpx; | |||
| // padding: 0 0 30rpx 0; | |||
| // box-sizing: border-box; | |||
| // } | |||
| } | |||
| @ -0,0 +1,162 @@ | |||
| <template> | |||
| <view class="bind-user"> | |||
| <view class="bind-user-header"> | |||
| <view class="flex mb28 ml20 "> | |||
| <up-image width="140rpx" height="140rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" | |||
| shape="circle"></up-image> | |||
| <view class="header-name"> | |||
| <view class="font32 mb20 color-040">微信用户</view> | |||
| <view class="label1"> | |||
| 初级合伙人 | |||
| </view> | |||
| <view class="flex font24"> | |||
| <view style="color: #B97132;">当前分成比例: | |||
| <text style="color: #CD4732;">25%</text> | |||
| </view> | |||
| <view style="color: #B97132;">晋级后分成比例: | |||
| <text style="color: #CD4732;">30%</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="bind-main"> | |||
| <view class="bind-main-content"> | |||
| <view class="top box-size mb20" :style="{borderRadius:'16rpx'}"> | |||
| <view class="level account"> | |||
| <view class="fw700"> | |||
| 钱包余额 | |||
| </view> | |||
| <view class="level text"> | |||
| <view @click="handleGoto('detail')"> | |||
| 明细 | |||
| </view> | |||
| <view class="line" @click="handleGoto('cash')"> | |||
| 提现 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="money level fw700"> | |||
| <text class="text1"> | |||
| ¥ | |||
| </text> | |||
| <text style="color: #FF2A2A; font-size: 36rpx;">29.00</text> | |||
| </view> | |||
| <view class="line1"> | |||
| </view> | |||
| <view class="level divide"> | |||
| <view class="level flex-rowl"> | |||
| <view class=""> | |||
| 本月订单分成: | |||
| </view> | |||
| ¥<view class=""> | |||
| 0.00 | |||
| </view> | |||
| </view> | |||
| <view class="level flex-rowl"> | |||
| <view class=""> | |||
| 累积订单分成: | |||
| </view> | |||
| ¥<view class=""> | |||
| 0.00 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="my-data"> | |||
| <view class="my-data-total"> | |||
| <cardTitle :cardTitle="mounthName"></cardTitle> | |||
| <cardData :cardData="nounthData"></cardData> | |||
| </view> | |||
| </view> | |||
| <view class="my-data"> | |||
| <view class="my-data-total"> | |||
| <cardTitle :cardTitle="totalName"></cardTitle> | |||
| <cardData :cardData="totalData"></cardData> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <script setup> | |||
| import tab from "@/plugins/tab.js" | |||
| import cardTitle from '../components/cardTitle.vue' | |||
| import cardData from '../components/cardData.vue' | |||
| import { | |||
| ref, | |||
| reactive | |||
| } from "vue" | |||
| const mounthName = ref('本月数据') | |||
| const totalName = ref('累计数据') | |||
| const nounthData = reactive([{ | |||
| title: '本月注册用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '本月下单用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '本月有效用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '本月订单金额', | |||
| num: "¥0.00", | |||
| color: 'red' | |||
| }, | |||
| { | |||
| title: '本月有效订单金额', | |||
| num: "¥0.00", | |||
| color: 'red' | |||
| }, | |||
| ]) | |||
| const totalData = reactive([{ | |||
| title: '累计注册用户', | |||
| num: "0个", | |||
| }, | |||
| { | |||
| title: '累计下单用户', | |||
| num: "0个" | |||
| }, | |||
| { | |||
| title: '累计有效用户', | |||
| num: "0个", | |||
| }, | |||
| { | |||
| title: '累计订单金额', | |||
| num: "¥0.00", | |||
| color: 'red' | |||
| }, | |||
| { | |||
| title: '累计有效订单金额', | |||
| num: "¥0.00", | |||
| color: 'red' | |||
| }, | |||
| ]) | |||
| const handleGoto = (val) => { | |||
| switch (val) { | |||
| case 'detail': | |||
| tab.navigateTo('/otherPages/binding/partner/index') | |||
| // tab.navigateTo('/otherPages/workbenchManage/bindUser/index') | |||
| break; | |||
| case 'cash': | |||
| tab.navigateTo('/otherPages/binding/withdrawal/index') | |||
| break; | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @import "index"; | |||
| </style> | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "dependencies": { | |||
| "dayjs": "^1.11.13" | |||
| } | |||
| } | |||
| @ -1,52 +1,52 @@ | |||
| const TokenKey = 'App-Token' | |||
| const TokenKey = 'token' | |||
| const OpenIdKey = 'OpenId' | |||
| const LoginKey = 'isLogin' | |||
| export function setStorage(name, value) { | |||
| return uni.setStorageSync(name, value) | |||
| return uni.setStorageSync(name, value) | |||
| } | |||
| export function getStorage(name) { | |||
| return uni.getStorageSync(name) | |||
| return uni.getStorageSync(name) | |||
| } | |||
| export function removeStorage(name) { | |||
| return uni.removeStorageSync(name) | |||
| return uni.removeStorageSync(name) | |||
| } | |||
| export function getToken() { | |||
| return uni.getStorageSync(TokenKey) | |||
| return uni.getStorageSync(TokenKey) | |||
| } | |||
| export function setToken(token) { | |||
| return uni.setStorageSync(TokenKey, token) | |||
| return uni.setStorageSync(TokenKey, token) | |||
| } | |||
| export function removeToken() { | |||
| return uni.removeStorageSync(TokenKey) | |||
| return uni.removeStorageSync(TokenKey) | |||
| } | |||
| export function getOpenIdKey() { | |||
| return uni.getStorageSync(OpenIdKey) | |||
| return uni.getStorageSync(OpenIdKey) | |||
| } | |||
| export function setOpenIdKey(openId) { | |||
| return uni.setStorageSync(OpenIdKey, openId) | |||
| return uni.setStorageSync(OpenIdKey, openId) | |||
| } | |||
| export function removeOpenIdKey() { | |||
| return uni.removeStorageSync(OpenIdKey) | |||
| return uni.removeStorageSync(OpenIdKey) | |||
| } | |||
| export function getIsLogin() { | |||
| return uni.getStorageSync(LoginKey) | |||
| return uni.getStorageSync(LoginKey) | |||
| } | |||
| export function setIsLogin(isLogin) { | |||
| return uni.setStorageSync(LoginKey, isLogin) | |||
| return uni.setStorageSync(LoginKey, isLogin) | |||
| } | |||
| export function removeIsLogin() { | |||
| return uni.removeStorageSync(LoginKey) | |||
| } | |||
| return uni.removeStorageSync(LoginKey) | |||
| } | |||
| @ -1,12 +1,14 @@ | |||
| let current ="develop"; | |||
| const accountInfo =wx.getAccountInfoSync(); | |||
| let current = "develop"; | |||
| const accountInfo = wx.getAccountInfoSync(); | |||
| current = accountInfo.miniProgram.envVersion; | |||
| const api={ | |||
| develop:"https://106.15.49.231/test-api", // 开发 | |||
| trial:"https://api-test.catmdogd.com/test-api", //测试 | |||
| release:"https://api.catmdogd.com/prod-api", // 线上 | |||
| const api = { | |||
| develop: "https://pet-admin.hhlm1688.com/api/prod-api/", // 开发 | |||
| trial: "https://pet-admin.hhlm1688.com/api/prod-api/", //测试 | |||
| release: "https://pet-admin.hhlm1688.com/api/prod-api/", // 线上 | |||
| } | |||
| const currentUrl = api[current]; | |||
| export {currentUrl}; | |||
| export { | |||
| currentUrl | |||
| }; | |||
| @ -1,69 +1,84 @@ | |||
| import {store} from '@/store' | |||
| import {getToken} from '@/utils/auth' | |||
| import { | |||
| store | |||
| } from '@/store' | |||
| import { | |||
| getToken | |||
| } from '@/utils/auth' | |||
| import errorCode from '@/utils/errorCode' | |||
| import {showConfirm, tansParams, toast} from '@/utils/common' | |||
| import {currentUrl} from '@/utils/getUrl' | |||
| import { | |||
| showConfirm, | |||
| tansParams, | |||
| toast | |||
| } from '@/utils/common' | |||
| import { | |||
| currentUrl | |||
| } from '@/utils/getUrl' | |||
| let timeout = 10000 | |||
| const baseUrl = currentUrl | |||
| const request = config => { | |||
| // 是否需要设置 token | |||
| const isToken = (config.headers || {}).isToken || false | |||
| config.header = config.header || {} | |||
| if (getToken() && isToken) { | |||
| config.header['Authorization'] = 'Bearer ' + getToken() | |||
| } | |||
| // get请求映射params参数 | |||
| if (config.params) { | |||
| let url = config.url + '?' + tansParams(config.params) | |||
| url = url.slice(0, -1) | |||
| config.url = url | |||
| } | |||
| return new Promise((resolve, reject) => { | |||
| uni.request({ | |||
| method: config.method || 'get', | |||
| timeout: config.timeout || timeout, | |||
| url: config.baseUrl || baseUrl + config.url, | |||
| data: config.data, | |||
| header: config.header, | |||
| dataType: 'json' | |||
| }).then(res => { | |||
| console.log(res); | |||
| const code = res.data.code || 200 | |||
| console.log(code); | |||
| const msg = errorCode[code] || res.data.msg || errorCode['default'] | |||
| if (code === 401) { | |||
| showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => { | |||
| if (res.confirm) { | |||
| store.dispatch('LogOut').then(res => { | |||
| uni.reLaunch({url: '/pages/index'}) | |||
| }) | |||
| } | |||
| }) | |||
| reject('无效的会话,或者会话已过期,请重新登录。') | |||
| } else if (code === 500) { | |||
| toast(msg) | |||
| reject('500') | |||
| } else if (code !== 200) { | |||
| toast(msg) | |||
| reject(code) | |||
| } | |||
| resolve(res.data) | |||
| }) | |||
| .catch(error => { | |||
| let {message} = error | |||
| if (message === 'Network Error') { | |||
| message = '后端接口连接异常' | |||
| } else if (message.includes('timeout')) { | |||
| message = '系统接口请求超时' | |||
| } else if (message.includes('Request failed with status code')) { | |||
| message = '系统接口' + message.substr(message.length - 3) + '异常' | |||
| } | |||
| toast(message) | |||
| reject(error) | |||
| }) | |||
| }) | |||
| // 是否需要设置 token | |||
| const isToken = (config.headers || {}).isToken || false | |||
| config.header = config.header || {} | |||
| console.log("=====", getToken()) | |||
| if (getToken() && isToken) { | |||
| config.header['Authorization'] = 'Bearer ' + getToken() | |||
| } | |||
| // get请求映射params参数 | |||
| if (config.params) { | |||
| let url = config.url + '?' + tansParams(config.params) | |||
| url = url.slice(0, -1) | |||
| config.url = url | |||
| } | |||
| return new Promise((resolve, reject) => { | |||
| uni.request({ | |||
| method: config.method || 'get', | |||
| timeout: config.timeout || timeout, | |||
| url: config.baseUrl || baseUrl + config.url, | |||
| data: config.data, | |||
| header: config.header, | |||
| dataType: 'json' | |||
| }).then(res => { | |||
| console.log(res); | |||
| const code = res.data.code || 200 | |||
| console.log(code); | |||
| const msg = errorCode[code] || res.data.msg || errorCode['default'] | |||
| if (code === 401) { | |||
| showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => { | |||
| if (res.confirm) { | |||
| store.dispatch('LogOut').then(res => { | |||
| uni.reLaunch({ | |||
| url: '/pages/index' | |||
| }) | |||
| }) | |||
| } | |||
| }) | |||
| reject('无效的会话,或者会话已过期,请重新登录。') | |||
| } else if (code === 500) { | |||
| toast(msg) | |||
| reject('500') | |||
| } else if (code !== 200) { | |||
| toast(msg) | |||
| reject(code) | |||
| } | |||
| resolve(res.data) | |||
| }) | |||
| .catch(error => { | |||
| let { | |||
| message | |||
| } = error | |||
| if (message === 'Network Error') { | |||
| message = '后端接口连接异常' | |||
| } else if (message.includes('timeout')) { | |||
| message = '系统接口请求超时' | |||
| } else if (message.includes('Request failed with status code')) { | |||
| message = '系统接口' + message.substr(message.length - 3) + '异常' | |||
| } | |||
| toast(message) | |||
| reject(error) | |||
| }) | |||
| }) | |||
| } | |||
| export default request | |||
| export default request | |||