审核状态等一系列bug修复
This commit is contained in:
parent
7fe55a5c6f
commit
d01b04bce0
|
|
@ -158,17 +158,16 @@
|
||||||
<text class="item-label">资质信息</text>
|
<text class="item-label">资质信息</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image
|
<image
|
||||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/338d957b-cbb6-409b-9e7a-ef5faa0f9b70.png"
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/338d957b-cbb6-409b-9e7a-ef5faa0f9b70.png"
|
||||||
mode="widthFix"
|
mode="widthFix"
|
||||||
style="width:26rpx;margin-top: 26rpx;position: relative;top: 4rpx;left: -10rpx;"
|
style="width:26rpx;margin-top: 26rpx;position: relative;top: 4rpx;left: -10rpx;"
|
||||||
v-if="userInfo.credentials_state === 0">
|
v-if="userInfo.credentials_state === 0 || userInfo.id_type < 0 || qualificationAuditStatus == 3">
|
||||||
</image>
|
</image>
|
||||||
<text style="margin-right: 16rpx;"
|
<text style="margin-right: 16rpx;"
|
||||||
:style="{ color: userInfo.credentials_state === 0 ? '#ec5d57' : userInfo.credentials_state === 1 ? '#e59e45' : '#389930' }">
|
:style="{ color: qualificationStatusColor() }">
|
||||||
{{ userInfo.credentials_state === 0 ? '待完善' : userInfo.credentials_state === 1 ? '审核中' :
|
{{ qualificationStatusText() }}
|
||||||
'已认证' }}
|
</text>
|
||||||
</text>
|
|
||||||
<image class="arrow-right" src="/static/images/arrow_right.png" mode="aspectFit">
|
<image class="arrow-right" src="/static/images/arrow_right.png" mode="aspectFit">
|
||||||
</image>
|
</image>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -199,12 +198,15 @@ import request from "../../utils/request";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
identity: '',
|
identity: '',
|
||||||
currentUserId: '', // 当前用户ID
|
currentUserId: '', // 当前用户ID
|
||||||
userInfo: {}, // 用户信息
|
userInfo: {}, // 用户信息
|
||||||
sharing: false // 添加分享状态标记
|
authDetails: null,
|
||||||
}
|
qualificationAuditStatus: null,
|
||||||
},
|
isQualificationAuditLoaded: false,
|
||||||
|
sharing: false // 添加分享状态标记
|
||||||
|
}
|
||||||
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
// 页面显示时重新加载身份信息,确保数据最新
|
// 页面显示时重新加载身份信息,确保数据最新
|
||||||
this.loadIdentity()
|
this.loadIdentity()
|
||||||
|
|
@ -492,12 +494,18 @@ export default {
|
||||||
type
|
type
|
||||||
})
|
})
|
||||||
|
|
||||||
if (result.data && result.data.id) {
|
if (result.data && result.data.id) {
|
||||||
this.userInfo = result.data
|
this.userInfo = result.data
|
||||||
this.currentUserId = result.data.id
|
this.currentUserId = result.data.id
|
||||||
|
this.fetchQualificationApplyDetails()
|
||||||
// 存储到本地,避免重复调用
|
if (this.isSettled()) {
|
||||||
uni.setStorageSync('userInfo', result.data)
|
this.fetchAuthDetails()
|
||||||
|
} else {
|
||||||
|
this.authDetails = null
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存储到本地,避免重复调用
|
||||||
|
uni.setStorageSync('userInfo', result.data)
|
||||||
console.log('从接口获取用户信息成功:', this.userInfo)
|
console.log('从接口获取用户信息成功:', this.userInfo)
|
||||||
} else {
|
} else {
|
||||||
console.log('接口返回数据异常:', result)
|
console.log('接口返回数据异常:', result)
|
||||||
|
|
@ -512,8 +520,8 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 备用方案:从其他位置获取用户信息
|
// 备用方案:从其他位置获取用户信息
|
||||||
tryAlternativeUserInfo() {
|
tryAlternativeUserInfo() {
|
||||||
try {
|
try {
|
||||||
const app = getApp()
|
const app = getApp()
|
||||||
|
|
||||||
// 方法1: 从全局数据获取用户ID
|
// 方法1: 从全局数据获取用户ID
|
||||||
|
|
@ -544,10 +552,60 @@ export default {
|
||||||
console.log('所有获取用户信息的方法都失败了')
|
console.log('所有获取用户信息的方法都失败了')
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log('备用方案获取用户信息失败:', e)
|
console.log('备用方案获取用户信息失败:', e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
loadIdentity() {
|
fetchAuthDetails() {
|
||||||
|
return request.post("/sj/userSjAuth/details", {
|
||||||
|
type: 1,
|
||||||
|
id_type: '1'
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 200 && res.data) {
|
||||||
|
this.authDetails = res.data;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
fetchQualificationApplyDetails() {
|
||||||
|
this.isQualificationAuditLoaded = false;
|
||||||
|
return request.post('/sj/userSjAuth/details', {
|
||||||
|
apply_type: 4
|
||||||
|
}).then(res => {
|
||||||
|
if ((res.code == 200 || res.state == 1) && res.data) {
|
||||||
|
this.qualificationAuditStatus = Number(res.data.apply_state);
|
||||||
|
} else {
|
||||||
|
this.qualificationAuditStatus = null;
|
||||||
|
}
|
||||||
|
this.isQualificationAuditLoaded = true;
|
||||||
|
return res;
|
||||||
|
}).catch(error => {
|
||||||
|
console.log('获取资质信息申请详情失败:', error);
|
||||||
|
this.qualificationAuditStatus = null;
|
||||||
|
this.isQualificationAuditLoaded = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
isSettled() {
|
||||||
|
return typeof this.userInfo.id_type !== 'undefined' && this.userInfo.id_type !== 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
isCertified() {
|
||||||
|
return typeof this.userInfo.id_type !== 'undefined' && this.userInfo.id_type > 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
isUnderReview() {
|
||||||
|
return this.authDetails && Object.keys(this.authDetails).length > 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
async ensureAuthDetails() {
|
||||||
|
if (this.identity != '2' || !this.isSettled() || this.isUnderReview()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.fetchAuthDetails();
|
||||||
|
},
|
||||||
|
|
||||||
|
loadIdentity() {
|
||||||
// 从全局数据获取身份
|
// 从全局数据获取身份
|
||||||
const app = getApp()
|
const app = getApp()
|
||||||
const globalIdentity = app.globalData.artisanType
|
const globalIdentity = app.globalData.artisanType
|
||||||
|
|
@ -630,50 +688,50 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
navigateToQualification() {
|
async navigateToQualification() {
|
||||||
const idType = this.userInfo.id_type;
|
if (this.identity != '2' || this.isCertified()) {
|
||||||
const credentialsState = this.userInfo.credentials_state;
|
uni.navigateTo({
|
||||||
|
url: '/pages/shop/qualification_sj_change'
|
||||||
if (idType < 0 && credentialsState === 0) {
|
});
|
||||||
// 驳回 + 仅填写基础信息 → 去完成资质认证
|
return;
|
||||||
uni.navigateTo({
|
}
|
||||||
url: '/pages/ruzhu/ruzhu?type=2'
|
|
||||||
});
|
await this.ensureAuthDetails();
|
||||||
} else if (idType < 0 && credentialsState === 1) {
|
if (!this.isSettled()) {
|
||||||
// 驳回 + 审核中 → 客服页面
|
uni.navigateTo({
|
||||||
uni.navigateTo({
|
url: '/pages/ruzhu/ruzhu'
|
||||||
url: '/pages/ruzhu/ruzhu?type=1'
|
});
|
||||||
});
|
} else if (this.isUnderReview()) {
|
||||||
} else if (idType === 0 && credentialsState === 0) {
|
uni.navigateTo({
|
||||||
// 从未入驻
|
url: '/pages/ruzhu/ruzhu?type=1'
|
||||||
uni.navigateTo({
|
});
|
||||||
url: '/pages/ruzhu/ruzhu'
|
} else {
|
||||||
});
|
uni.navigateTo({
|
||||||
} else if (idType > 0 && credentialsState === 0) {
|
url: '/pages/ruzhu/ruzhu?step=3'
|
||||||
// 已入驻 + 待完善
|
});
|
||||||
uni.navigateTo({
|
}
|
||||||
url: '/pages/shop/qualification_sj_change'
|
},
|
||||||
});
|
navigateToBelongShop() { // 手艺人:所属门店
|
||||||
} else if (idType > 0 && credentialsState === 1) {
|
uni.navigateTo({
|
||||||
// 已入驻 + 申请中
|
url: '/pages/artisan/belong_shop'
|
||||||
uni.navigateTo({
|
})
|
||||||
url: '/pages/shop/qualification_sj_change'
|
},
|
||||||
});
|
qualificationStatusText() {
|
||||||
} else if (idType > 0 && credentialsState === 2) {
|
if (this.qualificationAuditStatus == 3) return '审核未通过';
|
||||||
// 已入驻 + 已完善
|
if (this.userInfo.id_type < 0) return '审核未通过';
|
||||||
uni.navigateTo({
|
if (this.qualificationAuditStatus == 1) return '审核中';
|
||||||
url: '/pages/shop/qualification_sj_change'
|
if (!this.isQualificationAuditLoaded) return '';
|
||||||
});
|
if (this.userInfo.credentials_state === 0) return '待完善';
|
||||||
}
|
if (this.userInfo.credentials_state === 1) return '审核中';
|
||||||
},
|
return '已认证';
|
||||||
|
},
|
||||||
navigateToBelongShop() { // 手艺人:所属门店
|
qualificationStatusColor() {
|
||||||
uni.navigateTo({
|
if (this.qualificationAuditStatus == 3 || this.userInfo.id_type < 0 || this.userInfo.credentials_state === 0) return '#ec5d57';
|
||||||
url: '/pages/artisan/belong_shop'
|
if (this.qualificationAuditStatus == 1 || this.userInfo.credentials_state === 1) return '#e59e45';
|
||||||
})
|
return '#389930';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
@ -855,4 +913,4 @@ export default {
|
||||||
width: 11rpx;
|
width: 11rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-name {
|
.brand-name {
|
||||||
font-size: 26rpx;
|
font-size: 28rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
line-height: 34rpx;
|
line-height: 34rpx;
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.skill-item {
|
.skill-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 30rpx;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
@ -133,7 +133,7 @@ export default {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
font-weight: 400;
|
font-weight: 500;
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="stat-item">
|
<view class="stat-item">
|
||||||
<text class="num">{{ orderBasic.finished }}</text>
|
<text class="num">{{ orderBasic.finished }}</text>
|
||||||
<text class="label">已完成</text>
|
<text class="label">已取消</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -196,7 +196,7 @@
|
||||||
<view class="brands-section card-box">
|
<view class="brands-section card-box">
|
||||||
<view class="card-header">
|
<view class="card-header">
|
||||||
<view class="header-left"><text class="title" style="margin-left: 10rpx;">精选品牌</text></view>
|
<view class="header-left"><text class="title" style="margin-left: 10rpx;">精选品牌</text></view>
|
||||||
<view class="header-right" @tap="goToBrandList">更多品牌 <image class="more-right-icon"
|
<view class="header-right brand-more" @tap="goToBrandList">更多品牌 <image class="more-right-icon"
|
||||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ee119e24-1cb2-43df-86e6-61af8e9fd0ad.png">
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ee119e24-1cb2-43df-86e6-61af8e9fd0ad.png">
|
||||||
</image>
|
</image>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -783,8 +783,7 @@ export default {
|
||||||
|
|
||||||
// 营业中 / 休息中 按钮逻辑判断
|
// 营业中 / 休息中 按钮逻辑判断
|
||||||
toggleStatus() {
|
toggleStatus() {
|
||||||
const currentStatus = this.userInfo.order_taking;
|
const isCurrentlyResting = !this.isOpenStore; // 以页面实际展示状态为准
|
||||||
const isCurrentlyResting = currentStatus != 1; // 当前不是营业中即为休息中
|
|
||||||
|
|
||||||
// 强力拦截:在休息中且三大件没配全,想要营业时拦截弹窗
|
// 强力拦截:在休息中且三大件没配全,想要营业时拦截弹窗
|
||||||
if (isCurrentlyResting && !this.canOpenStore) {
|
if (isCurrentlyResting && !this.canOpenStore) {
|
||||||
|
|
@ -793,7 +792,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 准备切换的新状态
|
// 准备切换的新状态
|
||||||
let newStatus = currentStatus == 1 ? 2 : 1;
|
let newStatus = this.isOpenStore ? 2 : 1;
|
||||||
|
|
||||||
// 加入一个防连点的 Loading
|
// 加入一个防连点的 Loading
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
|
|
@ -1085,10 +1084,14 @@ page {
|
||||||
|
|
||||||
.header-right {
|
.header-right {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 22rpx;
|
font-size: 24rpx;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
line-height: 28rpx;
|
line-height: 28rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.brand-more {
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-section {
|
.header-section {
|
||||||
|
|
@ -1459,7 +1462,7 @@ page {
|
||||||
|
|
||||||
.notice-btn {
|
.notice-btn {
|
||||||
// font-weight: 400;
|
// font-weight: 400;
|
||||||
font-size: 20rpx;
|
font-size: 22rpx;
|
||||||
color: #8D4C1B;
|
color: #8D4C1B;
|
||||||
padding: 6rpx 18rpx;
|
padding: 6rpx 18rpx;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
|
|
|
||||||
|
|
@ -917,7 +917,7 @@ export default {
|
||||||
line-height: 37rpx;
|
line-height: 37rpx;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 19;
|
-webkit-line-clamp: 10;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: pre-line;
|
white-space: pre-line;
|
||||||
|
|
||||||
|
|
@ -1337,4 +1337,4 @@ export default {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -28,16 +28,16 @@
|
||||||
<view class="sort-item" @tap="toggleSort('time')">
|
<view class="sort-item" @tap="toggleSort('time')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 1 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 2 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 2 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 1 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="sort-item" @tap="toggleSort('view')">
|
<view class="sort-item" @tap="toggleSort('view')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 3 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 4 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 4 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 3 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -153,9 +153,21 @@ export default {
|
||||||
// ============ 排序逻辑 ============
|
// ============ 排序逻辑 ============
|
||||||
toggleSort(type) {
|
toggleSort(type) {
|
||||||
if (type === 'time') {
|
if (type === 'time') {
|
||||||
this.orderType = this.orderType === 1 ? 2 : 1;
|
if (this.orderType === 1) {
|
||||||
|
this.orderType = 2;
|
||||||
|
} else if (this.orderType === 2) {
|
||||||
|
this.orderType = 0;
|
||||||
|
} else {
|
||||||
|
this.orderType = 1;
|
||||||
|
}
|
||||||
} else if (type === 'view') {
|
} else if (type === 'view') {
|
||||||
this.orderType = this.orderType === 3 ? 4 : 3;
|
if (this.orderType === 3) {
|
||||||
|
this.orderType = 4;
|
||||||
|
} else if (this.orderType === 4) {
|
||||||
|
this.orderType = 0;
|
||||||
|
} else {
|
||||||
|
this.orderType = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.refreshBrandList();
|
this.refreshBrandList();
|
||||||
},
|
},
|
||||||
|
|
@ -522,4 +534,4 @@ export default {
|
||||||
width: 36rpx !important;
|
width: 36rpx !important;
|
||||||
height: 36rpx !important;
|
height: 36rpx !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -28,16 +28,16 @@
|
||||||
<view class="sort-item" @tap="toggleSort('time')">
|
<view class="sort-item" @tap="toggleSort('time')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 1 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 2 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 2 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 1 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="sort-item" @tap="toggleSort('view')">
|
<view class="sort-item" @tap="toggleSort('view')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 3 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 4 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 4 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 3 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -176,9 +176,11 @@ export default {
|
||||||
toggleSort(type) {
|
toggleSort(type) {
|
||||||
if (type === 'time') {
|
if (type === 'time') {
|
||||||
if (this.orderType === 1) this.orderType = 2
|
if (this.orderType === 1) this.orderType = 2
|
||||||
|
else if (this.orderType === 2) this.orderType = 0
|
||||||
else this.orderType = 1
|
else this.orderType = 1
|
||||||
} else if (type === 'view') {
|
} else if (type === 'view') {
|
||||||
if (this.orderType === 3) this.orderType = 4
|
if (this.orderType === 3) this.orderType = 4
|
||||||
|
else if (this.orderType === 4) this.orderType = 0
|
||||||
else this.orderType = 3
|
else this.orderType = 3
|
||||||
}
|
}
|
||||||
this.fetchData(true)
|
this.fetchData(true)
|
||||||
|
|
@ -574,4 +576,4 @@ export default {
|
||||||
width: 36rpx !important;
|
width: 36rpx !important;
|
||||||
height: 36rpx !important;
|
height: 36rpx !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
140
pages/my/my.vue
140
pages/my/my.vue
|
|
@ -781,17 +781,55 @@ export default {
|
||||||
});
|
});
|
||||||
this.getInviteList();
|
this.getInviteList();
|
||||||
},
|
},
|
||||||
// 获取入驻详情
|
// 获取入驻详情
|
||||||
fetchAuthDetails() {
|
fetchAuthDetails() {
|
||||||
request.post("/sj/userSjAuth/details", {
|
return request.post("/sj/userSjAuth/details", {
|
||||||
type: 1,
|
type: 1,
|
||||||
id_type: '1'
|
id_type: '1'
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code == 200 && res.data) {
|
if (res.code == 200 && res.data) {
|
||||||
this.authDetails = res.data;
|
this.authDetails = res.data;
|
||||||
}
|
}
|
||||||
});
|
return res;
|
||||||
},
|
});
|
||||||
|
},
|
||||||
|
async ensureAuthDetails() {
|
||||||
|
if (!this.isSettled || (this.authDetails && Object.keys(this.authDetails).length > 0)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.fetchAuthDetails();
|
||||||
|
},
|
||||||
|
navigateToCertificationForm() {
|
||||||
|
if (this.isSettled) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/ruzhu/ruzhu?step=3'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/ruzhu/ruzhu'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async navigateToCertificationProcess() {
|
||||||
|
if (this.isCertified) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/shop/qualification_sj_change'
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.ensureAuthDetails();
|
||||||
|
if (!this.isSettled) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/ruzhu/ruzhu'
|
||||||
|
});
|
||||||
|
} else if (this.isUnderReview) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/ruzhu/ruzhu?type=1'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.navigateToCertificationForm();
|
||||||
|
}
|
||||||
|
},
|
||||||
async goLogin() {
|
async goLogin() {
|
||||||
// 添加访问检查
|
// 添加访问检查
|
||||||
if (this.isAccountDisabled) {
|
if (this.isAccountDisabled) {
|
||||||
|
|
@ -841,11 +879,17 @@ export default {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 未登录 → 提示
|
// 2. 未登录 → 提示
|
||||||
if (!this.isLogin) {
|
if (!this.isLogin) {
|
||||||
uni.showToast({
|
if (item.path == "/pages/ruzhu/ruzhu") {
|
||||||
title: `您暂未登录,无法使用${item.title || item.text || ''}!`,
|
uni.navigateTo({
|
||||||
icon: "none",
|
url: "/pages/blogPopup/blogPopup",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uni.showToast({
|
||||||
|
title: `您暂未登录,无法使用${item.title || item.text || ''}!`,
|
||||||
|
icon: "none",
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -920,41 +964,9 @@ export default {
|
||||||
url: "/pages/artisan/profile",
|
url: "/pages/artisan/profile",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
toruzhu() {
|
toruzhu() {
|
||||||
const idType = this.userInfo.id_type;
|
this.navigateToCertificationProcess();
|
||||||
const credentialsState = this.userInfo.credentials_state;
|
},
|
||||||
if (idType < 0 && credentialsState === 0) {
|
|
||||||
// 驳回 + 仅填写基础信息 → 去完成资质认证
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/ruzhu/ruzhu?type=2'
|
|
||||||
});
|
|
||||||
} else if (idType < 0 && credentialsState === 1) {
|
|
||||||
// 驳回 + 审核中 → 客服页面
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/ruzhu/ruzhu?type=1'
|
|
||||||
});
|
|
||||||
} else if (idType === 0 && credentialsState === 0) {
|
|
||||||
// 从未入驻
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/ruzhu/ruzhu'
|
|
||||||
});
|
|
||||||
} else if (idType > 0 && credentialsState === 0) {
|
|
||||||
// 已入驻 + 待完善
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/shop/qualification_sj_change'
|
|
||||||
});
|
|
||||||
} else if (idType > 0 && credentialsState === 1) {
|
|
||||||
// 已入驻 + 申请中
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/shop/qualification_sj_change'
|
|
||||||
});
|
|
||||||
} else if (idType > 0 && credentialsState === 2) {
|
|
||||||
// 已入驻 + 已完善
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/shop/qualification_sj_change'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
closeSetupModal() {
|
closeSetupModal() {
|
||||||
this.showSetupModal = false;
|
this.showSetupModal = false;
|
||||||
},
|
},
|
||||||
|
|
@ -970,24 +982,10 @@ export default {
|
||||||
url: '/pages/shop/service-skills'
|
url: '/pages/shop/service-skills'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
goToAuth() {
|
goToAuth() {
|
||||||
this.showSetupModal = false;
|
this.showSetupModal = false;
|
||||||
if (this.isUnderReview) {
|
this.navigateToCertificationProcess();
|
||||||
uni.navigateTo({
|
},
|
||||||
url: '/pages/ruzhu/ruzhu?type=1'
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
if (this.isSettled) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/ruzhu/ruzhu?step=3'
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/ruzhu/ruzhu'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
goToInviteList() {
|
goToInviteList() {
|
||||||
// 添加访问检查
|
// 添加访问检查
|
||||||
if (this.isAccountDisabled) {
|
if (this.isAccountDisabled) {
|
||||||
|
|
@ -1705,7 +1703,7 @@ button::after {
|
||||||
gap: 12rpx;
|
gap: 12rpx;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
width: auto;
|
width: auto;
|
||||||
height: 36rpx;
|
height: 46rpx;
|
||||||
padding: 0 8rpx 0 8rpx;
|
padding: 0 8rpx 0 8rpx;
|
||||||
background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/378a6936-a543-4ff5-9aa0-cfcb4d4e14b3.png');
|
background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/378a6936-a543-4ff5-9aa0-cfcb4d4e14b3.png');
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
|
@ -1891,4 +1889,4 @@ button::after {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="order-list-page" style="background-color: #fafafa">
|
<view class="order-list-page">
|
||||||
|
|
||||||
<view class="status" v-if="isLogin">
|
<view class="status" v-if="isLogin">
|
||||||
<scroll-view scroll-x class="status-tabs" :show-scrollbar="false">
|
<scroll-view scroll-x class="status-tabs" :show-scrollbar="false">
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<view style="background-color: #f5f5f5; height: 20rpx"></view>
|
<view class="status-gap"></view>
|
||||||
<CommonList nList ref="groupRef" :isLogin="isLogin" :apiUrl="apiUrl"
|
<CommonList nList ref="groupRef" :isLogin="isLogin" :apiUrl="apiUrl"
|
||||||
:listScrollHeight="`calc(100vh - 280rpx - 20rpx)`" @load-success="loadSuccess" class="nodatamit">
|
:listScrollHeight="`calc(100vh - 280rpx - 20rpx)`" @load-success="loadSuccess" class="nodatamit">
|
||||||
<template #listData="{ list }" class="commit">
|
<template #listData="{ list }" class="commit">
|
||||||
|
|
@ -41,10 +41,12 @@
|
||||||
<view class="noDataBox">
|
<view class="noDataBox">
|
||||||
<noData tipText="暂无服务订单哟~" v-if="isLogin"></noData>
|
<noData tipText="暂无服务订单哟~" v-if="isLogin"></noData>
|
||||||
<view class="nologin_part" v-else>
|
<view class="nologin_part" v-else>
|
||||||
<image src="/static/images/no_login.png" class="nologin_icon" mode="aspectFit"></image>
|
<image
|
||||||
<view class="btn-login" @click="goLogin">
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/15e33bab-8868-40bf-935b-a9ee9ca3c0d2.png"
|
||||||
<text class="login-text">前去登录</text>
|
class="nologin_icon"
|
||||||
</view>
|
mode="aspectFit"
|
||||||
|
@click="goLogin"
|
||||||
|
></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -570,6 +572,7 @@ export default {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
background-color: #FAFAFA;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 状态标签栏 (移植自用户端示例) */
|
/* 状态标签栏 (移植自用户端示例) */
|
||||||
|
|
@ -654,7 +657,7 @@ export default {
|
||||||
|
|
||||||
/* 数据列表及卡片外框样式 */
|
/* 数据列表及卡片外框样式 */
|
||||||
.order-item-wrap {
|
.order-item-wrap {
|
||||||
background-color: #f5f5f5;
|
background-color: #FAFAFA;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -669,33 +672,15 @@ export default {
|
||||||
/* 未登录状态的样式 */
|
/* 未登录状态的样式 */
|
||||||
.nologin_part {
|
.nologin_part {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap;
|
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nologin_icon {
|
.nologin_icon {
|
||||||
width: 360rpx;
|
width: 422rpx;
|
||||||
height: 360rpx;
|
height: 378rpx;
|
||||||
margin-top: 100rpx;
|
|
||||||
margin-bottom: 40rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-login {
|
|
||||||
width: 200rpx;
|
|
||||||
height: 68rpx;
|
|
||||||
background-color: #ff4767;
|
|
||||||
border-radius: 34rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: row nowrap;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
box-shadow: 0 4rpx 10rpx rgba(255, 71, 103, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-text {
|
|
||||||
font-size: 30rpx;
|
|
||||||
color: #fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .list-scroll {
|
::v-deep .list-scroll {
|
||||||
|
|
@ -705,6 +690,11 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodatamit {
|
.nodatamit {
|
||||||
background-color: #f5f5f5;
|
background-color: #FAFAFA;
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
.status-gap {
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
height: 20rpx;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ export default {
|
||||||
} else {
|
} else {
|
||||||
this.infoData = {
|
this.infoData = {
|
||||||
top: '审核结果',
|
top: '审核结果',
|
||||||
title: '审核失败',
|
title: '审核未通过',
|
||||||
photo: res.data.photo
|
photo: res.data.photo
|
||||||
};
|
};
|
||||||
this.$emit('stateChange', 3);
|
this.$emit('stateChange', 3);
|
||||||
|
|
@ -114,6 +114,7 @@ export default {
|
||||||
line-height: 67rpx;
|
line-height: 67rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
margin-top: -40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-content {
|
.title-content {
|
||||||
|
|
|
||||||
|
|
@ -21,16 +21,16 @@
|
||||||
<view class="sort-item" @tap="toggleSort('time')">
|
<view class="sort-item" @tap="toggleSort('time')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 1 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 2 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 2 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 1 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="sort-item" @tap="toggleSort('view')">
|
<view class="sort-item" @tap="toggleSort('view')">
|
||||||
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
<text class="sort-text" :class="{ active: orderType === 3 || orderType === 4 }">浏览量</text>
|
||||||
<view class="arrows">
|
<view class="arrows">
|
||||||
<image class="arrow-icon" :src="orderType === 3 ? iconPinkUp : iconGreyUp"></image>
|
<image class="arrow-icon" :src="orderType === 4 ? iconPinkUp : iconGreyUp"></image>
|
||||||
<image class="arrow-icon" :src="orderType === 4 ? iconPinkDown : iconGreyDown"></image>
|
<image class="arrow-icon" :src="orderType === 3 ? iconPinkDown : iconGreyDown"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -150,9 +150,21 @@ export default {
|
||||||
// 切换排序
|
// 切换排序
|
||||||
toggleSort(type) {
|
toggleSort(type) {
|
||||||
if (type === 'time') {
|
if (type === 'time') {
|
||||||
this.orderType = this.orderType === 1 ? 2 : 1;
|
if (this.orderType === 1) {
|
||||||
|
this.orderType = 2;
|
||||||
|
} else if (this.orderType === 2) {
|
||||||
|
this.orderType = 0;
|
||||||
|
} else {
|
||||||
|
this.orderType = 1;
|
||||||
|
}
|
||||||
} else if (type === 'view') {
|
} else if (type === 'view') {
|
||||||
this.orderType = this.orderType === 3 ? 4 : 3;
|
if (this.orderType === 3) {
|
||||||
|
this.orderType = 4;
|
||||||
|
} else if (this.orderType === 4) {
|
||||||
|
this.orderType = 0;
|
||||||
|
} else {
|
||||||
|
this.orderType = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 切换排序直接重新加载当前结果
|
// 切换排序直接重新加载当前结果
|
||||||
|
|
@ -439,4 +451,4 @@ export default {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -308,6 +308,11 @@ export default {
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code == 200 && res.data) {
|
if (res.code == 200 && res.data) {
|
||||||
this.authDetails = res.data;
|
this.authDetails = res.data;
|
||||||
|
if (!this.userInfo.business_time && res.data.business_time) {
|
||||||
|
this.currentTime = res.data.business_time;
|
||||||
|
this.originalTime = res.data.business_time;
|
||||||
|
this.parseTimeString(res.data.business_time);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -352,9 +357,9 @@ export default {
|
||||||
// 准备切换的新状态
|
// 准备切换的新状态
|
||||||
let newStatus = currentStatus == 1 ? 2 : 1;
|
let newStatus = currentStatus == 1 ? 2 : 1;
|
||||||
|
|
||||||
// 想要开始接单时,检查是否配置了营业时间
|
// 想要开始接单时,检查资料是否完善
|
||||||
if (newStatus === 1 && !this.hasBusinessTime) {
|
if (newStatus === 1 && !this.canOpenStore) {
|
||||||
uni.showToast({ title: '请配置营业时间', icon: 'none' });
|
uni.showToast({ title: '当前资料不完善,无法开启接单', icon: 'none' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -503,9 +508,21 @@ export default {
|
||||||
|
|
||||||
// 根据接口文档,使用 code 判断成功
|
// 根据接口文档,使用 code 判断成功
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
|
const savedTime = this.currentTime;
|
||||||
this.showBottomActions = false
|
this.showBottomActions = false
|
||||||
this.tempTime = ''
|
this.tempTime = ''
|
||||||
this.originalTime = this.currentTime // 更新原始时间
|
this.originalTime = savedTime // 更新原始时间
|
||||||
|
this.userInfo = {
|
||||||
|
...(this.userInfo || {}),
|
||||||
|
business_time: savedTime
|
||||||
|
}
|
||||||
|
if (this.authDetails) {
|
||||||
|
this.authDetails = {
|
||||||
|
...this.authDetails,
|
||||||
|
business_time: savedTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.parseTimeString(savedTime)
|
||||||
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '营业时间更新成功',
|
title: '营业时间更新成功',
|
||||||
|
|
@ -1051,4 +1068,4 @@ export default {
|
||||||
background: linear-gradient(135deg, #FF4767, #FF6B8A);
|
background: linear-gradient(135deg, #FF4767, #FF6B8A);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -162,13 +162,17 @@ export default {
|
||||||
if (!this.lastApplyTime) return false;
|
if (!this.lastApplyTime) return false;
|
||||||
// 如果最后申请时间在驳回时间之后,说明有新的申请
|
// 如果最后申请时间在驳回时间之后,说明有新的申请
|
||||||
return true;
|
return true;
|
||||||
|
},
|
||||||
|
// 处于服务技能变更审核中时,不自动进入添加/编辑步骤
|
||||||
|
isChangeUnderReview() {
|
||||||
|
return this.auditStatus === 1 || this.showAuditTip || this.buttonType === 'view';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async onLoad() {
|
async onLoad() {
|
||||||
this.sjInformation = await request.post('/sj/user/getUser');
|
this.sjInformation = await request.post('/sj/user/getUser');
|
||||||
await this.initPage();
|
await this.initPage();
|
||||||
// 如果没有技能和经验信息,直接进入编辑模式
|
// 如果没有技能和经验信息,直接进入编辑模式
|
||||||
if (this.currentSkills.length === 0 && !this.originalMajor) {
|
if (this.currentSkills.length === 0 && !this.originalMajor && !this.isChangeUnderReview) {
|
||||||
this.startChange();
|
this.startChange();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -960,4 +964,4 @@ export default {
|
||||||
width: 33.333%;
|
width: 33.333%;
|
||||||
}
|
}
|
||||||
} */
|
} */
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<image class="avatar" :src="sryDetail.head_photo" mode="aspectFill"></image>
|
<image class="avatar" :src="sryDetail.head_photo" mode="aspectFill"></image>
|
||||||
<view class="user-detail">
|
<view class="user-detail">
|
||||||
<view class="flex-row-center-between">
|
<view class="flex-row-center-between">
|
||||||
<text class="user-name">{{ sryDetail.name }}</text>
|
<text class="user-name">{{ sryDisplayName }}</text>
|
||||||
<view class="enter-btn flex-row-center" @click="goDetail">进入详情</view>
|
<view class="enter-btn flex-row-center" @click="goDetail">进入详情</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tags">
|
<view class="tags">
|
||||||
|
|
@ -117,6 +117,9 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
sryDisplayName() {
|
||||||
|
return this.sryDetail.nick_name || this.sryDetail.name || "";
|
||||||
|
},
|
||||||
mergeServiceList() {
|
mergeServiceList() {
|
||||||
// 1. 提取原始对象的所有子数组
|
// 1. 提取原始对象的所有子数组
|
||||||
let allSubArrays = Object.values(this.$store.state.sjServiceList);
|
let allSubArrays = Object.values(this.$store.state.sjServiceList);
|
||||||
|
|
@ -487,4 +490,4 @@ export default {
|
||||||
::v-deep .navbar-content .title {
|
::v-deep .navbar-content .title {
|
||||||
margin-left: 20rpx !important;
|
margin-left: 20rpx !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue