feat: 完成商家改版相关页面与请求工具修改

This commit is contained in:
丁杰 2026-06-02 18:22:11 +08:00
parent 753c9932aa
commit 6ae7b4d889
6 changed files with 244 additions and 65 deletions

View File

@ -19,9 +19,9 @@
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/c164280f-1ab9-41b4-9d60-846368364e9c.png" class="nav-phone-icon"></image> <image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/c164280f-1ab9-41b4-9d60-846368364e9c.png" class="nav-phone-icon"></image>
</view> </view>
<view class="mock-switch" @click="toggleMockData"> <!-- <view class="mock-switch" @click="toggleMockData">
<text>{{ useMockData ? '关闭模拟数据' : '开启模拟数据' }}</text> <text>{{ useMockData ? '关闭模拟数据' : '开启模拟数据' }}</text>
</view> </view> -->
<view class="banner-section" v-if="bannerList && bannerList.length || info.video"> <view class="banner-section" v-if="bannerList && bannerList.length || info.video">

View File

@ -8,9 +8,9 @@
borderBottom="none"> borderBottom="none">
</custom-navbar> </custom-navbar>
<view class="mock-switch" @click="toggleMockData"> <!-- <view class="mock-switch" @click="toggleMockData">
<text>{{ useMockData ? '关闭模拟数据' : '开启模拟数据' }}</text> <text>{{ useMockData ? '关闭模拟数据' : '开启模拟数据' }}</text>
</view> </view> -->
<view class="video-section" v-if="article.videoSrc"> <view class="video-section" v-if="article.videoSrc">
<view class="video-wrapper"> <view class="video-wrapper">

View File

@ -20,19 +20,24 @@
<!-- @chooseavatar="getAvatar" --> <!-- @chooseavatar="getAvatar" -->
</view> </view>
<view class="user-detail" @click="goToProfile"> <view class="user-detail">
<view class="nickname"> <view class="nickname">
<text class="nickname-text">{{ <text class="nickname-text">{{
userInfo.name || userInfo.nick_name || "" userInfo.name || userInfo.nick_name || ""
}}</text> }}</text>
</view> </view>
<view class="user_detail_tip"> <view class="user_detail_tip" @click="toruzhu">
<view class="user_detail_tip_phone" v-if="id_type !== 0"> <image
资料编辑 :src="userInfo.credentials_state === 2 ? 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/13cd25db-5b52-4d36-bad2-ee8680eed65f.png' : 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/711e35a8-a7a1-4eb2-8a76-52ac9795fa7e.png'"
<image mode="aspectFill" mode="widthFix" style="width:26rpx ;"></image>
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/6a4b7bc9-174a-471a-9bf5-6ba167005960" /> <view class="user_detail_tip_phone" style="margin-left: -10rpx;">
{{ userInfo.credentials_state === 2 ? '认证通过' : userInfo.credentials_state === 1 ?
'资质审核中' : '资质待认证' }}
</view> </view>
<view v-else class="user_detail_tip_phone" style="color: #999999">美融融小程序欢迎您</view> <image mode="widthFix"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/89f929a5-1486-481f-a696-af520a6bb0f2.png"
style="width:6rpx ;margin-left: -6rpx;" />
</view> </view>
</view> </view>
</view> </view>
@ -293,22 +298,21 @@ export default {
{ {
type: "listcard", type: "listcard",
title: "我的服务", title: "我的服务",
list: [ list: [{
{ text: "我的收藏",
text: "我的收藏", url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/83fa7f51-dda3-494b-a50e-f15f8fdcdb9c.png",
url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/83fa7f51-dda3-494b-a50e-f15f8fdcdb9c.png", path: "/pages/my/myFavorite",
path: "/pages/my/myFavorite", },
}, {
{ text: "设置",
text: "设置", url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/d1173680-386b-4db3-a74c-64108da6cec9.png",
url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/d1173680-386b-4db3-a74c-64108da6cec9.png", path: "/pages/settings/index",
path: "/pages/settings/index", },
}, {
{ text: "联系客服",
text: "联系客服", url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/5bbac7f8-940a-414a-be0b-e6faf5215f63.png",
url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/5bbac7f8-940a-414a-be0b-e6faf5215f63.png", path: "/pages/contact/contact",
path: "/pages/contact/contact", },
},
], ],
}, },
], ],
@ -653,17 +657,17 @@ export default {
request.post("/sj/user/getUser").then((result) => { request.post("/sj/user/getUser").then((result) => {
this.userInfo = result.data; this.userInfo = result.data;
uni.setStorageSync("syrId", result.data.id); uni.setStorageSync("syrId", result.data.id);
const allReady = result.data.business_time const allReady = result.data.business_time &&
&& result.data.servers_kill_arr result.data.servers_kill_arr &&
&& result.data.servers_kill_arr.length > 0 result.data.servers_kill_arr.length > 0 &&
&& result.data.credentials_state === 2; result.data.credentials_state === 2;
const mgmtCard = this.cardList.find(c => c.title === "管理中心"); const mgmtCard = this.cardList.find(c => c.title === "管理中心");
if (mgmtCard) { if (mgmtCard) {
const shopItem = mgmtCard.list.find(i => i.title === "店铺装修"); const shopItem = mgmtCard.list.find(i => i.title === "店铺装修");
if (shopItem) { if (shopItem) {
shopItem.url = allReady shopItem.url = allReady ?
? "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/e6e72039-eec4-414c-8a86-aad404602962.png" "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/e6e72039-eec4-414c-8a86-aad404602962.png" :
: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/4b558456-2e38-4185-8713-d1f0e6645820.png"; "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/4b558456-2e38-4185-8713-d1f0e6645820.png";
} }
} }
}); });
@ -788,6 +792,21 @@ export default {
url: "/pages/artisan/profile", url: "/pages/artisan/profile",
}); });
}, },
toruzhu() {
if (this.userInfo.credentials_state === 2) {
uni.navigateTo({
url: '/pages/shop/qualification_sj_change'
});
} else if (this.userInfo.credentials_state === 1) {
uni.navigateTo({
url: '/pages/ruzhu/ruzhu?type=1'
});
} else {
uni.navigateTo({
url: '/pages/ruzhu/ruzhu'
});
}
},
goToInviteList() { goToInviteList() {
// 访 // 访
if (this.isAccountDisabled) { if (this.isAccountDisabled) {
@ -1506,21 +1525,15 @@ button::after {
margin-top: 10rpx; margin-top: 10rpx;
.user_detail_tip_phone { .user_detail_tip_phone {
max-width: 230rpx; // width: 100rpx;
height: 36rpx; height: 28rpx;
line-height: 36rpx; font-family: PingFangSC, PingFang SC;
border-radius: 6rpx; font-weight: 400;
font-size: 24rpx; font-size: 20rpx;
color: #666666; color: #6A574E;
box-sizing: border-box; line-height: 28rpx;
display: flex; text-align: left;
align-items: center; font-style: normal;
gap: 7rpx;
image {
width: 8rpx;
height: 14rpx;
}
} }
.user_detail_tip_invite_name { .user_detail_tip_invite_name {

View File

@ -110,7 +110,7 @@
}, },
data() { data() {
return { return {
currentStep: 1, // currentStep: 4, //
isAgree: false, isAgree: false,
identity: null, identity: null,
textData: {}, textData: {},

View File

@ -28,18 +28,23 @@
</view> </view>
<view class="form-item-two box-cont"> <view class="form-item-two box-cont">
<text class="label required">证件号码</text> <view class="label-wrapper">
<view class="picker-content"> <text class="label required">证件号码</text>
<input type="text" v-model="formData.uscc_num" placeholder="请输入营业执照的证件号码" placeholder-class="placeholder"
class="input" />
<image class="label-icon" <image class="label-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25bd7f38-1a3e-4282-84ea-190d7f820108" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25bd7f38-1a3e-4282-84ea-190d7f820108"
mode="aspectFit" @click.stop="showTipPopup('uscc_num')"></image> mode="aspectFit" @click="showTipPopup('uscc_num')"></image>
</view> </view>
<input type="text" v-model="formData.uscc_num" placeholder="请输入营业执照的证件号码" placeholder-class="placeholder"
class="input" />
</view> </view>
<view class="form-item-two box-cont"> <view class="form-item-two box-cont">
<text class="label required">营业名称</text> <view class="label-wrapper">
<text class="label required">企业名称</text>
<image class="label-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25bd7f38-1a3e-4282-84ea-190d7f820108"
mode="aspectFit" @click="showTipPopup('uscc_name')"></image>
</view>
<input type="text" v-model="formData.uscc_name" placeholder="请输入营业执照的企业名称" placeholder-class="placeholder" <input type="text" v-model="formData.uscc_name" placeholder="请输入营业执照的企业名称" placeholder-class="placeholder"
class="input" /> class="input" />
</view> </view>
@ -101,7 +106,12 @@
</view> </view>
<view class="form-item-two box-cont"> <view class="form-item-two box-cont">
<text class="label required">法人代表</text> <view class="label-wrapper">
<text class="label required">法人代表</text>
<image class="label-icon"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/25bd7f38-1a3e-4282-84ea-190d7f820108"
mode="aspectFit" @click="showTipPopup('legal_name')"></image>
</view>
<input type="text" v-model="formData.legal_name" placeholder="请输入营业执照的法人代表" placeholder-class="placeholder" <input type="text" v-model="formData.legal_name" placeholder="请输入营业执照的法人代表" placeholder-class="placeholder"
class="input" /> class="input" />
</view> </view>
@ -123,16 +133,14 @@
<view class="radio-group"> <view class="radio-group">
<view class="radio-item" @click="setIdcardExpiryType('1')"> <view class="radio-item" @click="setIdcardExpiryType('1')">
<view class="radio" :class="{ checked: formData.legal_idcard_expiry_type === '1' }"> <view class="radio" :class="{ checked: formData.legal_idcard_expiry_type === '1' }">
<image v-if="formData.legal_idcard_expiry_type === '1'" <image v-if="formData.legal_idcard_expiry_type === '1'" src="/static/images/agree_y.png"
src="/static/images/agree_y.png"
class="radio-icon-image" mode="aspectFit"></image> class="radio-icon-image" mode="aspectFit"></image>
</view> </view>
<text class="radio-label">永久有效</text> <text class="radio-label">永久有效</text>
</view> </view>
<view class="radio-item" @click="setIdcardExpiryType('2')"> <view class="radio-item" @click="setIdcardExpiryType('2')">
<view class="radio" :class="{ checked: formData.legal_idcard_expiry_type === '2' }"> <view class="radio" :class="{ checked: formData.legal_idcard_expiry_type === '2' }">
<image v-if="formData.legal_idcard_expiry_type === '2'" <image v-if="formData.legal_idcard_expiry_type === '2'" src="/static/images/agree_y.png"
src="/static/images/agree_y.png"
class="radio-icon-image" mode="aspectFit"></image> class="radio-icon-image" mode="aspectFit"></image>
</view> </view>
<text class="radio-label">指定日期有效</text> <text class="radio-label">指定日期有效</text>
@ -280,6 +288,30 @@
</view> </view>
</view> </view>
<view class="tip-popup" :class="{ show: showTipPopupFlag }">
<view class="tip-popup-mask" @click="hideTipPopup"></view>
<view class="tip-popup-content">
<image class="tip-popup-bg"
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ab410a5d-5819-47f2-a0fc-3fd6b90d6770"
mode="aspectFit"></image>
<view class="tip-popup-body">
<view class="tip-title">{{ tipTitle }}</view>
<view class="tip-image-container">
<image class="tip-image" :class="currentTipType" :src="tipImage" mode="widthFix"></image>
</view>
<view class="tip-buttons">
<view class="tip-btn cancel" @click="hideTipPopup">
<text class="btn-text">取消</text>
</view>
<view class="tip-btn confirm" @click="hideTipPopup">
<text class="btn-text">我已了解</text>
</view>
</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
@ -328,7 +360,11 @@ export default {
userId: null, userId: null,
identity: 3, identity: 3,
addressListener: null, addressListener: null,
sjAddressListener: null sjAddressListener: null,
showTipPopupFlag: false,
tipTitle: '',
tipImage: '',
currentTipType: ''
} }
}, },
@ -841,7 +877,33 @@ export default {
} }
}, },
showTipPopup(field) { }, showTipPopup(field) {
const tipConfig = {
'uscc_num': {
title: '如何查看证件号码',
image: 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/c5d8d00b-de1e-414f-b310-0a3f99ed8ddb.png'
},
'uscc_name': {
title: '如何查看企业名称',
image: 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/b8df241d-899f-4f8e-89c5-b61b61a9f1b1.png'
},
'legal_name': {
title: '如何查看法定代表人',
image: 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/b8df241d-899f-4f8e-89c5-b61b61a9f1b1.png'
}
};
if (tipConfig[field]) {
this.currentTipType = field;
this.tipTitle = tipConfig[field].title;
this.tipImage = tipConfig[field].image;
this.showTipPopupFlag = true;
}
},
hideTipPopup() {
this.showTipPopupFlag = false;
},
getFormData() { getFormData() {
return this.formData; return this.formData;
@ -881,7 +943,7 @@ export default {
} }
if (!this.formData.uscc_name) { if (!this.formData.uscc_name) {
uni.showToast({ uni.showToast({
title: '请输入业名称', title: '请输入业名称',
icon: 'none' icon: 'none'
}); });
return false; return false;
@ -1426,4 +1488,108 @@ export default {
.picker-item-row text.active { .picker-item-row text.active {
color: #FF4767; color: #FF4767;
} }
.tip-popup {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
visibility: hidden;
opacity: 0;
transition: all 0.3s ease;
}
.tip-popup.show {
visibility: visible;
opacity: 1;
}
.tip-popup-mask {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
}
.tip-popup-content {
position: relative;
width: 620rpx;
height: 810rpx;
}
.tip-popup-bg {
width: 620rpx;
height: 810rpx;
position: absolute;
top: 0;
left: 0;
}
.tip-popup-body {
position: relative;
flex-direction: column;
padding: 80rpx 20rpx 40rpx 20rpx;
box-sizing: border-box;
}
.tip-title {
font-size: 36rpx;
font-weight: bold;
color: #333;
text-align: center;
margin-top: 107rpx;
margin-bottom: 37rpx;
}
.tip-image-container {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 50rpx;
}
.tip-image {
width: 90%;
max-height: 400rpx;
}
.tip-buttons {
display: flex;
justify-content: space-between;
padding: 0 28rpx;
}
.tip-btn {
width: 250rpx;
height: 80rpx;
border-radius: 40rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
font-weight: 500;
}
.tip-btn.cancel {
border: #FF4767 2rpx solid;
background-color: transparent;
color: #FF4767;
}
.tip-btn.confirm {
background: linear-gradient(180deg, #f52540 0%, #FF4767 100%);
color: #FFFFFF;
}
.tip-btn .btn-text {
color: inherit;
}
</style> </style>

View File

@ -267,7 +267,7 @@
<view class="bottom-actions" ref="buttonArea"> <view class="bottom-actions" ref="buttonArea">
<!-- 驳回原因提示 --> <!-- 驳回原因提示 -->
<view class="reject-reason" v-if="shouldShowRejectReason"> <view class="reject-reason" v-if="shouldShowRejectReason">
<view class="reject-title">您的提交已驳回</view> <view class="reject-title">您的变更申请已被驳回</view>
<view class="reject-detail">驳回原因{{ backText }}</view> <view class="reject-detail">驳回原因{{ backText }}</view>
</view> </view>
<!-- 审核中提示 --> <!-- 审核中提示 -->