Browse Source

style: 调整样式以提升用户体验

- 在 `start.vue` 中添加图片高度
- 在 `base.vue` 中增加 `z-index` 以确保元素层级
- 在 `getUrl.js` 中切换开发环境 API 地址
- 在 `questionCard.vue` 中动态设置文本区域占位符
- 在 `list/index.vue` 中移除多余的样式并修复导航逻辑
- 在 `baseCompleted.vue` 中注释掉未使用的代码块
- 在 `wxUserInfo.vue` 中调整登录页面的布局和背景
- 在 `workbenchManage/index.vue` 中禁用合伙人申请按钮并注释相关代码
- 在 `stepProgress.vue` 中优化步骤条样式并添加点击事件
master
前端-胡立永 1 month ago
parent
commit
0f0092ac95
9 changed files with 160 additions and 105 deletions
  1. +3
    -1
      otherPages/authentication/components/questionCard.vue
  2. +117
    -82
      otherPages/authentication/components/stepProgress.vue
  3. +1
    -1
      otherPages/authentication/examination/base.vue
  4. +5
    -5
      otherPages/authentication/examination/baseCompleted.vue
  5. +1
    -0
      otherPages/authentication/examination/start.vue
  6. +8
    -5
      otherPages/authentication/list/index.vue
  7. +16
    -5
      pages/login/wxUserInfo.vue
  8. +7
    -4
      pages/workbenchManage/index.vue
  9. +2
    -2
      utils/getUrl.js

+ 3
- 1
otherPages/authentication/components/questionCard.vue View File

@ -14,7 +14,7 @@
</template>
<template v-else>
<view class="textarea">
<textarea v-model="value" placeholder="请输入您的答案,不得低于700个字" :rows="10"
<textarea v-model="value" :placeholder="`请输入您的答案,不得低于${min}个字`" :rows="10"
@blur="onChange($event.detail.value)"></textarea>
</view>
</template>
@ -86,6 +86,8 @@
default: null, // '' | ''
}
})
const min = 700
const emit = defineEmits(['update:modelValue'])


+ 117
- 82
otherPages/authentication/components/stepProgress.vue View File

@ -1,101 +1,136 @@
<template>
<view>
<view class="flex-rowl">
<image :src="configList.applet_logo.paramValueImage" 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">
{{ configList.pet_describe.paramValueText }}
</view>
</view>
</view>
<view>
<view class="flex-rowl">
<image :src="configList.applet_logo.paramValueImage" class="logo"></image>
<view class="size-36 fw700 color-fff"
style="margin-left: 20rpx;">
伴宠师认证
</view>
</view>
<view class="renz flex-rowl mt10"
@click="$refs.configPopupRef.open('certificationRequirements')">
<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' : '']"
@click="toPath(item)">
<view class="num mb6 flex-rowc size-26 color-fff">
{{ index + 1 }}
</view>
<text class="size-22 desc">{{ item.name }}</text>
</view>
</template>
</view>
<view class="color-ffb size-22 mt32">
{{ configList.pet_describe.paramValueText }}
</view>
</view>
<configPopup ref="configPopupRef" />
</view>
</template>
<script setup>
import { reactive } from 'vue'
import { store } from '@/store'
import {
reactive,
ref
} from 'vue'
import {
store
} from '@/store'
import configPopup from '@/components/configPopup.vue'
const configPopupRef = ref(null)
const configList = store.state.system.configList
const configList = store.state.system.configList
const props = defineProps({
step: {
type: Number,
default: 0,
}
})
const props = defineProps({
step: {
type: Number,
default: 0,
}
})
const steps = reactive(['基本考核', '培训考核', '最终准备'])
const steps = reactive([
{
name : '基本考核',
path : '/otherPages/authentication/list/index',
},
{
name : '培训考核',
path : '/otherPages/authentication/examination/baseCompleted',
},
{
name : '最终准备',
// path : '/otherPages/authentication/examination/baseCompleted',
},
])
function toPath(item){
if(item.path){
uni.redirectTo({
url: item.path
})
}
}
</script>
<style lang="scss" scoped>
.logo {
width: 194rpx;
height: 70rpx;
}
.renz {
.logo {
width: 194rpx;
height: 70rpx;
}
image {
width: 26rpx;
height: 26rpx;
}
}
.renz {
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
image {
width: 26rpx;
height: 26rpx;
}
}
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
margin: 0 26rpx;
}
.neir {
padding: 47rpx 27rpx 36rpx 27rpx;
border-radius: 16rpx;
box-sizing: border-box;
width: 716rpx;
.num {
width: 50rpx;
height: 50rpx;
background-color: #BDBDBD;
border-radius: 50%;
margin-bottom: 7rpx;
}
.steps {
.line {
width: 163rpx;
height: 3rpx;
background-color: #BDBDBD;
margin-bottom: 30rpx;
margin: 0 26rpx;
}
.desc {
white-space: nowrap;
color: #BDBDBD;
}
.num {
width: 50rpx;
height: 50rpx;
background-color: #BDBDBD;
border-radius: 50%;
margin-bottom: 7rpx;
}
.line.is-active,
.step.is-active .num {
background-color: #FFBF60;
}
.desc {
white-space: nowrap;
color: #BDBDBD;
}
.line.is-active,
.step.is-active .num {
background-color: #FFBF60;
}
.step.is-active .desc {
color: #000000;
}
}
}
.step.is-active .desc {
color: #000000;
}
}
}
</style>

+ 1
- 1
otherPages/authentication/examination/base.vue View File

@ -97,7 +97,7 @@ onShow(() => {
position: sticky;
top: 0;
background-image: linear-gradient(180deg, #FFBF60 0, #ffbf60 2%, #ffbf60 8%, #f2f2f2 90%);
z-index: 999;
.progress {
margin-top: 19rpx;
}


+ 5
- 5
otherPages/authentication/examination/baseCompleted.vue View File

@ -42,19 +42,19 @@
</view>
</view>
</view>
<view class="info-box">
<!-- <view class="info-box">
<view class="info-box-title">
服务培训
</view>
<view class="info-box-content">
<!-- v-for="item in trainList"
v-for="item in trainList"
:key="`train-${item.id}`"
@click="openPopup(item.title, item.content)" -->
@click="openPopup(item.title, item.content)"
<view class="flex-colc info-item"
@click="openPopup('服务培训', configList.pet_service_training.paramValueArea)"
>
<image :src="configList.pet_service_training.paramValueImage" mode="widthFix"></image>
<!-- <text class="desc">{{ item.title }}</text> -->
<text class="desc">{{ item.title }}</text>
</view>
</view>
@ -72,7 +72,7 @@
</view>
</view>
</up-popup>
</view>
</view> -->
<view class="flex-rowc tools">
<view class="flex-rowc btn" @click="toNext">
进入培训考核


+ 1
- 0
otherPages/authentication/examination/start.vue View File

@ -123,6 +123,7 @@
image {
width: 198rpx;
height: 228rpx;
}
}


+ 8
- 5
otherPages/authentication/list/index.vue View File

@ -2,7 +2,7 @@
<view class="containers po-r">
<image src="" mode="" class="mainBg"></image>
<view class="w-100 po-a content">
<view class="po-a content">
<stepProgress :step="1"></stepProgress>
@ -87,7 +87,10 @@
import dForm from "@/components/dForm/index.vue"
import stepProgress from '../components/stepProgress.vue';
import configPopup from '@/components/configPopup.vue'
const configPopupRef = ref(null)
const store = useStore()
const configList = computed(() => {
@ -358,11 +361,12 @@
url: `/otherPages/authentication/examination/start?petType=${petType.value.join(',')}`
})
} catch (err) {
uni.navigateTo({
url: `/otherPages/authentication/examination/start?petType=${petType.value.join(',')}`
})
}
}
const configPopupRef = ref(null)
onLoad(() => {
fetchUserInfo()
@ -446,7 +450,6 @@
.containers {
.mainBg {
width: 100vw;
height: 442rpx;


+ 16
- 5
pages/login/wxUserInfo.vue View File

@ -3,10 +3,12 @@
<view class="logo">
<image class="logo-img" :src="configList?.applet_info?.paramValueImage" mode="aspectFill"></image>
<image class="d" :src="configList?.logo_icon?.paramValueImage" mode="aspectFill"></image>
<view class="title">
申请获取你的头像昵称
</view>
</view>
<view class="title">
申请获取你的头像昵称
</view>
<button class="chooseAvatar" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
<view class="line">
@ -166,15 +168,23 @@
.login {
display: flex;
flex-direction: column;
justify-content: center;
// justify-content: center;
align-items: center;
height: 80vh;
height: 100vh;
background-color: #fff;
.title{
margin-top: 60rpx;
}
.logo {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 504rpx;
width: 100%;
background: linear-gradient(360deg, #FFFFFF 0%, #FFBF60 99%);
.logo-img {
width: 180rpx;
@ -206,6 +216,7 @@
margin: 0;
margin-top: 10vh;
border: none;
background-color: #FFFFFF;
}
.btn {


+ 7
- 4
pages/workbenchManage/index.vue View File

@ -11,25 +11,28 @@
<view class="container-list">
<view class="mb28 col3 font32">合伙人工作台</view>
<!-- 申请加入 -->
<view class="container-list-but font28" v-if="userInfo.userHh != 1">
<view class="container-list-but font28" >
<view class="explain">
<view class="explain-text">
<text>{{ configList?.partner_work_statement?.paramValueText }}</text>
<view class="font24 add-but col-white join" @click="handleJoin(1)">申请加入 ></view>
<view class="font24 add-but col-white join"
style="background-color: #999;color: #fff;"
@click="">暂未开放 ></view>
<!-- <view class="font24 add-but col-white join" @click="handleJoin(1)">申请加入 ></view> -->
</view>
<image class="explain-img" :src="configList?.partner_work_statement?.paramValueImage"
mode="aspectFit"></image>
</view>
</view>
<!-- 申请加入后 -->
<view class="flex flex-between font24 flex-wrap" v-if="userInfo.userHh==1">
<!-- <view class="flex flex-between font24 flex-wrap" v-if="userInfo.userHh==1">
<view class="icon-list" @click="handleGoto(item)" v-for="item in iconState.list1" :key="item.id">
<up-image class="mb20" :show-loading="true" :src="item.image" width="68rpx"
height="68rpx"></up-image>
<view>{{item.name}}</view>
</view>
<view class="icon-list"></view>
</view>
</view> -->
</view>
<view class="container-list">
<view class="mb28 col3 font32">伴宠师工作台</view>


+ 2
- 2
utils/getUrl.js View File

@ -4,8 +4,8 @@ current = accountInfo.miniProgram.envVersion;
const api = {
// develop:"http://h5.xzaiyp.top",
develop:"https://api.catmdogd.com/prod-api",
// develop:"http://pet-admin.hhlm1688.com/api",
// develop:"https://api.catmdogd.com/prod-api",
develop:"http://pet-admin.hhlm1688.com/api",
// develop: "http://youyi-test.natapp1.cc/prod-api", // 开发
trial: "https://api.catmdogd.com/prod-api", //测试
release: "https://api.catmdogd.com/prod-api",


Loading…
Cancel
Save