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

290 lines
6.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>