290 lines
6.9 KiB
Vue
290 lines
6.9 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="submitres-page">
|
|||
|
|
<!-- 状态栏占位 -->
|
|||
|
|
<!-- 顶部导航栏 -->
|
|||
|
|
<custom-navbar
|
|||
|
|
title=""
|
|||
|
|
backgroundColor="transparent"
|
|||
|
|
:show-back="true"
|
|||
|
|
></custom-navbar>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<!-- 入驻成功 -->
|
|||
|
|
<view class="success-page" v-if="applyState == 1">
|
|||
|
|
<!-- 内容区域 -->
|
|||
|
|
<view class="content">
|
|||
|
|
<!-- 成功图标 -->
|
|||
|
|
<view class="success-icon">
|
|||
|
|
<image src="/static/images/submit-success.png" mode="aspectFit" class="icon-image"></image>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 成功标题 -->
|
|||
|
|
<text class="success-title">已提交成功</text>
|
|||
|
|
|
|||
|
|
<!-- 成功提示 -->
|
|||
|
|
<text class="success-tip">您的入驻申请已提交成功3-7个工作日为您反馈审核结果审核通过您即可正常使用</text>
|
|||
|
|
|
|||
|
|
<!-- 返回按钮 -->
|
|||
|
|
<view class="btn-back" @click="goBack">
|
|||
|
|
<text class="btn-text">返回</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<!-- 入驻失败 -->
|
|||
|
|
<view class="fail-page" v-if="applyState == 3">
|
|||
|
|
<!-- 内容区域 -->
|
|||
|
|
<view class="content">
|
|||
|
|
<!-- 成功图标 -->
|
|||
|
|
<view class="fail-icon">
|
|||
|
|
<image src="/static/images/submit-fail.png" mode="aspectFit" class="icon-image"></image>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 成功标题 -->
|
|||
|
|
<text class="success-title">申请驳回</text>
|
|||
|
|
|
|||
|
|
<!-- 成功提示 -->
|
|||
|
|
<text class="success-tip">
|
|||
|
|
您的入驻申请被驳回
|
|||
|
|
驳回原因:{{backMag}}
|
|||
|
|
</text>
|
|||
|
|
|
|||
|
|
<!-- 按钮 -->
|
|||
|
|
<view class="btn-back" @click="goRuzhu">
|
|||
|
|
<text class="btn-text">重新申请</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="fail-back-btn" @click="goBack">
|
|||
|
|
<text class="btn-text">返回</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import request from '../../utils/request';
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
statusBarHeight: 0,
|
|||
|
|
applyState: 1, //1:申请中 2:审核通过 3:审核失败
|
|||
|
|
backMag: '', // 驳回原因
|
|||
|
|
identity: null, // 添加 identity 到 data 中
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onLoad(options) {
|
|||
|
|
console.log('页面加载,options:', options);
|
|||
|
|
|
|||
|
|
const systemInfo = uni.getSystemInfoSync()
|
|||
|
|
this.statusBarHeight = systemInfo.statusBarHeight;
|
|||
|
|
|
|||
|
|
if (options.applyState) {
|
|||
|
|
this.applyState = Number(options.applyState); // 转为数字
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
console.log('applyState:', this.applyState, '类型:', typeof this.applyState);
|
|||
|
|
|
|||
|
|
// 优化身份获取逻辑
|
|||
|
|
const app = getApp();
|
|||
|
|
|
|||
|
|
if (options.identity) {
|
|||
|
|
this.identity = Number(options.identity);
|
|||
|
|
console.log('从options获取identity:', this.identity);
|
|||
|
|
}
|
|||
|
|
else if (app.globalData && app.globalData.artisanType) {
|
|||
|
|
this.identity = app.globalData.artisanType;
|
|||
|
|
console.log('从globalData获取identity:', this.identity);
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
try {
|
|||
|
|
const localIdentity = uni.getStorageSync('artisanType');
|
|||
|
|
if (localIdentity) {
|
|||
|
|
this.identity = localIdentity;
|
|||
|
|
console.log('从localStorage获取identity:', this.identity);
|
|||
|
|
}
|
|||
|
|
} catch (e) {
|
|||
|
|
console.log('获取本地存储失败:', e);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 申请被驳回时获取驳回原因
|
|||
|
|
if (this.applyState == 3) {
|
|||
|
|
this.getUserInfo();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
// 返回上一页
|
|||
|
|
goBack() {
|
|||
|
|
uni.navigateBack()
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
getUserInfo() {
|
|||
|
|
console.log('开始执行getUserInfo方法');
|
|||
|
|
console.log('this.applyState:', this.applyState);
|
|||
|
|
console.log('this.identity:', this.identity);
|
|||
|
|
|
|||
|
|
// 只有在申请被驳回的情况下才调用接口
|
|||
|
|
if (this.applyState !== 3) {
|
|||
|
|
console.log('applyState不是3,跳过');
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 检查identity是否存在
|
|||
|
|
if (!this.identity) {
|
|||
|
|
console.error('identity未定义,无法获取驳回信息');
|
|||
|
|
this.backMag = '无法获取用户信息,请重新登录';
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 重新确定 type 值
|
|||
|
|
let type;
|
|||
|
|
if (this.identity == 1) {
|
|||
|
|
type = 2; // 手艺人
|
|||
|
|
} else if (this.identity == 2) {
|
|||
|
|
type = 3; // 商家
|
|||
|
|
} else {
|
|||
|
|
console.error('未知的用户类型identity:', this.identity);
|
|||
|
|
this.backMag = '用户类型错误,请联系客服';
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
console.log('请求参数 type:', type);
|
|||
|
|
|
|||
|
|
request.post('/user/getuser', {type}).then(result => {
|
|||
|
|
console.log('接口返回数据:', result);
|
|||
|
|
if (result.data && result.data.back_text) {
|
|||
|
|
this.backMag = result.data.back_text;
|
|||
|
|
console.log('设置backMag为:', this.backMag);
|
|||
|
|
} else {
|
|||
|
|
this.backMag = '未知原因,请联系客服';
|
|||
|
|
console.log('接口返回无back_text字段');
|
|||
|
|
}
|
|||
|
|
}).catch(err => {
|
|||
|
|
console.error('获取用户信息失败:', err);
|
|||
|
|
this.backMag = '获取驳回原因失败,请联系客服';
|
|||
|
|
}).finally(() => {
|
|||
|
|
console.log('getUserInfo执行完成');
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
goRuzhu() {
|
|||
|
|
uni.redirectTo({
|
|||
|
|
url: '/pages/ruzhu/ruzhu'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style>
|
|||
|
|
.status-bar {
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.nav-back {
|
|||
|
|
position: fixed;
|
|||
|
|
left: 32rpx;
|
|||
|
|
top: 0;
|
|||
|
|
height: 88rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
z-index: 100;
|
|||
|
|
/* #ifdef H5 */
|
|||
|
|
top: 0;
|
|||
|
|
/* #endif */
|
|||
|
|
/* #ifdef APP-PLUS || MP-WEIXIN */
|
|||
|
|
top: var(--status-bar-height);
|
|||
|
|
/* #endif */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.back-icon {
|
|||
|
|
font-size: 36rpx;
|
|||
|
|
color: #333333;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.content {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
align-items: center;
|
|||
|
|
padding-top: 178rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.success-icon {
|
|||
|
|
margin-bottom: 80rpx;
|
|||
|
|
position: relative;
|
|||
|
|
}
|
|||
|
|
.fail-icon {
|
|||
|
|
margin-bottom: 80rpx;
|
|||
|
|
position: relative;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.success-icon .icon-image {
|
|||
|
|
width: 392rpx;
|
|||
|
|
height: 392rpx;
|
|||
|
|
border-radius: 196rpx;
|
|||
|
|
box-shadow: 0 8rpx 60rpx 0 rgba(252, 67, 124, 0.30);
|
|||
|
|
}
|
|||
|
|
.fail-icon .icon-image {
|
|||
|
|
width: 392rpx;
|
|||
|
|
height: 392rpx;
|
|||
|
|
border-radius: 196rpx 156rpx 196rpx 196rpx;
|
|||
|
|
box-shadow: 0 8rpx 60rpx 0 rgba(255, 0, 0, 0.30);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.success-title {
|
|||
|
|
font-size: 40rpx;
|
|||
|
|
color: #3D3D3D;
|
|||
|
|
font-weight: 500;
|
|||
|
|
margin-bottom: 24rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.success-tip {
|
|||
|
|
font-size: 32rpx;
|
|||
|
|
color: #3D3D3D;
|
|||
|
|
text-align: center;
|
|||
|
|
padding: 0 48rpx;
|
|||
|
|
margin-bottom: 24rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn-back {
|
|||
|
|
width: 630rpx;
|
|||
|
|
height: 96rpx;
|
|||
|
|
background: #E8101E;
|
|||
|
|
border-radius: 48rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn-text {
|
|||
|
|
font-size: 40rpx;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
font-weight: 350;
|
|||
|
|
}
|
|||
|
|
.fail-back-btn {
|
|||
|
|
width: 630rpx;
|
|||
|
|
height: 96rpx;
|
|||
|
|
background: #FFFFFF;
|
|||
|
|
border-radius: 48rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
border: 1rpx solid #E8101E;
|
|||
|
|
margin-top: 32rpx;
|
|||
|
|
}
|
|||
|
|
.fail-back-btn .btn-text {
|
|||
|
|
color: #E8101E;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.submitres-page /deep/ .back-btn {
|
|||
|
|
background: transparent !important;
|
|||
|
|
background-color: transparent !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 平台适配 */
|
|||
|
|
/* #ifdef MP-WEIXIN */
|
|||
|
|
.nav-back {
|
|||
|
|
top: calc(var(--status-bar-height) + constant(safe-area-inset-top));
|
|||
|
|
top: calc(var(--status-bar-height) + env(safe-area-inset-top));
|
|||
|
|
}
|
|||
|
|
/* #endif */
|
|||
|
|
</style>
|