mrr.sj.front/pages/ruzhu/submitres.vue

290 lines
6.9 KiB
Vue
Raw Normal View History

2026-03-24 11:45:13 +08:00
<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>