个人中心图标替换,收藏页面筛选按钮条件显示,入住第二步弹窗按钮颜色
This commit is contained in:
parent
a28cc75da8
commit
e96c468c38
|
|
@ -317,7 +317,7 @@ export default {
|
||||||
title: "购买工时",
|
title: "购买工时",
|
||||||
path: "/pages/shop/manHour/saleList",
|
path: "/pages/shop/manHour/saleList",
|
||||||
go_id_type: 1,
|
go_id_type: 1,
|
||||||
url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/72520b2a-804c-4987-84ca-25e5247e65a2.png",
|
url: "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/742bd9c9-0f38-4c10-b0fb-9b1ecebfc18c.png",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,8 @@
|
||||||
收藏的课程
|
收藏的课程
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="filter-area" @tap="toggleFilterPanel">
|
<view class="filter-area" @tap="toggleFilterPanel"
|
||||||
|
v-if="currentTab === 'brand' ? rawBrandList.length > 0 : rawCourseList.length > 0">
|
||||||
<text class="filter-text">筛选</text>
|
<text class="filter-text">筛选</text>
|
||||||
<image class="filter-icon" :src="filterIcon" mode="aspectFit" :class="{ 'rotate': filterVisible }"></image>
|
<image class="filter-icon" :src="filterIcon" mode="aspectFit" :class="{ 'rotate': filterVisible }"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -1,202 +1,200 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="qualification-page">
|
<view class="qualification-page">
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<view class="section-title">
|
<view class="section-title">
|
||||||
<view class="title-bar"></view>
|
<view class="title-bar"></view>
|
||||||
<text class="title-text">门店信息</text>
|
<text class="title-text">门店信息</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-item-one box-cont">
|
<view class="form-item-one box-cont">
|
||||||
<view class="label-wrapper">
|
<view class="label-wrapper">
|
||||||
<text class="label required">店铺名称</text>
|
<text class="label required">店铺名称</text>
|
||||||
<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="showTipPopup('name')"></image>
|
mode="aspectFit" @click="showTipPopup('name')"></image>
|
||||||
</view>
|
</view>
|
||||||
<input type="text" v-model="formData.name" placeholder="请输入营业执照的店铺名称" placeholder-class="placeholder"
|
<input type="text" v-model="formData.name" placeholder="请输入营业执照的店铺名称" placeholder-class="placeholder"
|
||||||
class="input" @input="saveFormDataToLocalDebounce" />
|
class="input" @input="saveFormDataToLocalDebounce" />
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item-two box-cont" @click="showLocationPopup">
|
<view class="form-item-two box-cont" @click="showLocationPopup">
|
||||||
<text class="label required">门店所在地</text>
|
<text class="label required">门店所在地</text>
|
||||||
<view class="picker-content">
|
<view class="picker-content">
|
||||||
<text :class="formData.dependency ? 'picker-value' : 'placeholder'">
|
<text :class="formData.dependency ? 'picker-value' : 'placeholder'">
|
||||||
{{ formData.dependency || '请选择' }}
|
{{ formData.dependency || '请选择' }}
|
||||||
</text>
|
</text>
|
||||||
<image
|
<image
|
||||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/dccc4513-377c-4bfa-9fd2-a5cfdb9798f3"
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/dccc4513-377c-4bfa-9fd2-a5cfdb9798f3"
|
||||||
class="arrow-right" mode="aspectFit"></image>
|
class="arrow-right" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item-two box-cont" @click="getAddressInfo">
|
<view class="form-item-two box-cont" @click="getAddressInfo">
|
||||||
<text class="label required">门店详细地址</text>
|
<text class="label required">门店详细地址</text>
|
||||||
<view class="picker-content">
|
<view class="picker-content">
|
||||||
<text :class="formData.address ? 'picker-value' : 'placeholder'">
|
<text :class="formData.address ? 'picker-value' : 'placeholder'">
|
||||||
{{ formData.address || '请选择' }}
|
{{ formData.address || '请选择' }}
|
||||||
</text>
|
</text>
|
||||||
<image
|
<image
|
||||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/dccc4513-377c-4bfa-9fd2-a5cfdb9798f3"
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/dccc4513-377c-4bfa-9fd2-a5cfdb9798f3"
|
||||||
class="arrow-right" mode="aspectFit"></image>
|
class="arrow-right" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<view class="section-title">
|
<view class="section-title">
|
||||||
<view class="title-bar"></view>
|
<view class="title-bar"></view>
|
||||||
<text class="title-text">联系人信息</text>
|
<text class="title-text">联系人信息</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-item box-cont">
|
<view class="form-item box-cont">
|
||||||
<text class="label required">您的身份</text>
|
<text class="label required">您的身份</text>
|
||||||
<view class="radio-group">
|
<view class="radio-group">
|
||||||
<view class="radio-item" @click="setContactType('1')">
|
<view class="radio-item" @click="setContactType('1')">
|
||||||
<view class="radio" :class="{ checked: formData.contact_type === '1' }">
|
<view class="radio" :class="{ checked: formData.contact_type === '1' }">
|
||||||
<image v-if="formData.contact_type === '1'"
|
<image v-if="formData.contact_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="setContactType('2')">
|
||||||
<view class="radio-item" @click="setContactType('2')">
|
<view class="radio" :class="{ checked: formData.contact_type === '2' }">
|
||||||
<view class="radio" :class="{ checked: formData.contact_type === '2' }">
|
<image v-if="formData.contact_type === '2'" src="/static/images/agree_y.png"
|
||||||
<image v-if="formData.contact_type === '2'"
|
class="radio-icon-image" mode="aspectFit"></image>
|
||||||
src="/static/images/agree_y.png"
|
</view>
|
||||||
class="radio-icon-image" mode="aspectFit"></image>
|
<text class="radio-label">其他</text>
|
||||||
</view>
|
</view>
|
||||||
<text class="radio-label">其他</text>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="form-item-one box-cont">
|
<view class="form-item-one box-cont">
|
||||||
<text class="label required">联系人</text>
|
<text class="label required">联系人</text>
|
||||||
<input type="text" v-model="formData.contact_name" placeholder="请输入" placeholder-class="placeholder"
|
<input type="text" v-model="formData.contact_name" placeholder="请输入" placeholder-class="placeholder"
|
||||||
class="input" @input="saveFormDataToLocalDebounce" />
|
class="input" @input="saveFormDataToLocalDebounce" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-item-one box-cont">
|
<view class="form-item-one box-cont">
|
||||||
<text class="label required">联系人电话</text>
|
<text class="label required">联系人电话</text>
|
||||||
<input type="number" v-model="formData.contact_phone" placeholder="请输入联系电话"
|
<input type="number" v-model="formData.contact_phone" placeholder="请输入联系电话"
|
||||||
placeholder-class="placeholder" class="input" @input="saveFormDataToLocalDebounce" />
|
placeholder-class="placeholder" class="input" @input="saveFormDataToLocalDebounce" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-item-one box-cont">
|
<view class="form-item-one box-cont">
|
||||||
<text class="label">备用联系人电话</text>
|
<text class="label">备用联系人电话</text>
|
||||||
<input type="number" v-model="formData.backup_phone" placeholder="请输入备用联系电话"
|
<input type="number" v-model="formData.backup_phone" placeholder="请输入备用联系电话"
|
||||||
placeholder-class="placeholder" class="input" @input="saveFormDataToLocalDebounce" />
|
placeholder-class="placeholder" class="input" @input="saveFormDataToLocalDebounce" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-item-one-yqr box-cont invite-code-container">
|
<view class="form-item-one-yqr box-cont invite-code-container">
|
||||||
<view class="invite-code-top">
|
<view class="invite-code-top">
|
||||||
<view class="label-wrapper">
|
<view class="label-wrapper">
|
||||||
<text class="label required">邀请码</text>
|
<text class="label required">邀请码</text>
|
||||||
</view>
|
</view>
|
||||||
<input type="text" v-model="formData.invite_code_other" placeholder="请输入邀请码"
|
<input type="text" v-model="formData.invite_code_other" placeholder="请输入邀请码"
|
||||||
placeholder-class="placeholder" class="input" @input="handleInviteCodeInput" />
|
placeholder-class="placeholder" class="input" @input="handleInviteCodeInput" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 分割线 -->
|
<!-- 分割线 -->
|
||||||
<view class="divider"></view>
|
<view class="divider"></view>
|
||||||
|
|
||||||
<!-- 邀请人信息 -->
|
<!-- 邀请人信息 -->
|
||||||
<view class="invite-info-container">
|
<view class="invite-info-container">
|
||||||
<!-- 默认提示 -->
|
<!-- 默认提示 -->
|
||||||
<text v-if="!formData.invite_code_other" class="invite-tip">
|
<text v-if="!formData.invite_code_other" class="invite-tip">
|
||||||
请填写邀请人的邀请码,若没有邀请人请填写13131313
|
请填写邀请人的邀请码,若没有邀请人请填写13131313
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- 验证中 -->
|
<!-- 验证中 -->
|
||||||
<view v-else-if="inviteCodeValidating" class="invite-validating">
|
<view v-else-if="inviteCodeValidating" class="invite-validating">
|
||||||
<text>验证中...</text>
|
<text>验证中...</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 验证失败 -->
|
<!-- 验证失败 -->
|
||||||
<view v-else-if="inviteCodeError" class="invite-error" :class="{ 'shake-animation': shakeInviteError }">
|
<view v-else-if="inviteCodeError" class="invite-error" :class="{ 'shake-animation': shakeInviteError }">
|
||||||
<text>邀请码无效</text>
|
<text>邀请码无效</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 特殊邀请码13131313 -->
|
<!-- 特殊邀请码13131313 -->
|
||||||
<view v-else-if="formData.invite_code_other === '13131313' && !inviterInfo" class="invite-tip">
|
<view v-else-if="formData.invite_code_other === '13131313' && !inviterInfo" class="invite-tip">
|
||||||
请填写邀请人的邀请码,若没有邀请人请填写13131313
|
请填写邀请人的邀请码,若没有邀请人请填写13131313
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 显示邀请人信息 -->
|
<!-- 显示邀请人信息 -->
|
||||||
<view v-else-if="inviterInfo" class="inviter-info">
|
<view v-else-if="inviterInfo" class="inviter-info">
|
||||||
<text class="inviter-label">邀请人:</text>
|
<text class="inviter-label">邀请人:</text>
|
||||||
<text class="inviter-name">{{ inviterInfo.name || inviterInfo.nick_name }}</text>
|
<text class="inviter-name">{{ inviterInfo.name || inviterInfo.nick_name }}</text>
|
||||||
<text class="inviter-divider">/</text>
|
<text class="inviter-divider">/</text>
|
||||||
<text class="inviter-phone">{{ inviterInfo.account }}</text>
|
<text class="inviter-phone">{{ inviterInfo.account }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 其他情况(接口返回成功但没有认证铁军的邀请码) -->
|
<!-- 其他情况(接口返回成功但没有认证铁军的邀请码) -->
|
||||||
<view v-else class="invite-error" :class="{ 'shake-animation': shakeInviteError }">
|
<view v-else class="invite-error" :class="{ 'shake-animation': shakeInviteError }">
|
||||||
<text>邀请码无效</text>
|
<text>邀请码无效</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="popup" :class="{ show: showLocationPopupFlag }">
|
<view class="popup" :class="{ show: showLocationPopupFlag }">
|
||||||
<view class="popup-mask" @click="hideLocationPopup"></view>
|
<view class="popup-mask" @click="hideLocationPopup"></view>
|
||||||
<view class="popup-content">
|
<view class="popup-content">
|
||||||
<view class="popup-header">
|
<view class="popup-header">
|
||||||
<text class="popup-title">选择所在地</text>
|
<text class="popup-title">选择所在地</text>
|
||||||
<text class="popup-close" @click="hideLocationPopup">×</text>
|
<text class="popup-close" @click="hideLocationPopup">×</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="region-body">
|
<view class="region-body">
|
||||||
<picker-view @change="bindChangeLocation" class="picker-scroll" :indicator-style="indicatorStyle"
|
<picker-view @change="bindChangeLocation" class="picker-scroll" :indicator-style="indicatorStyle"
|
||||||
:value="locationValue">
|
:value="locationValue">
|
||||||
<picker-view-column>
|
<picker-view-column>
|
||||||
<view class="picker-item" v-for="(item, index) in ChinaCitys" :key="index">
|
<view class="picker-item" v-for="(item, index) in ChinaCitys" :key="index">
|
||||||
{{ item.province }}
|
{{ item.province }}
|
||||||
</view>
|
</view>
|
||||||
</picker-view-column>
|
</picker-view-column>
|
||||||
<picker-view-column>
|
<picker-view-column>
|
||||||
<view class="picker-item" v-for="(item, index) in locatinCitys" :key="index">
|
<view class="picker-item" v-for="(item, index) in locatinCitys" :key="index">
|
||||||
{{ item.city }}
|
{{ item.city }}
|
||||||
</view>
|
</view>
|
||||||
</picker-view-column>
|
</picker-view-column>
|
||||||
<picker-view-column>
|
<picker-view-column>
|
||||||
<view class="picker-item" v-for="(item, index) in locationAreas" :key="index">
|
<view class="picker-item" v-for="(item, index) in locationAreas" :key="index">
|
||||||
{{ item.area }}
|
{{ item.area }}
|
||||||
</view>
|
</view>
|
||||||
</picker-view-column>
|
</picker-view-column>
|
||||||
</picker-view>
|
</picker-view>
|
||||||
</view>
|
</view>
|
||||||
<view class="popup-footer">
|
<view class="popup-footer">
|
||||||
<view class="popup-btn cancel" @click="hideLocationPopup">
|
<view class="popup-btn confirm" @click="hideLocationPopup">
|
||||||
<text class="btn-text">取消</text>
|
<text class="btn-text">取消</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="popup-btn confirm" @click="confirmLocationSelect">
|
<view class="popup-btn confirm" @click="confirmLocationSelect">
|
||||||
<text class="btn-text">确定</text>
|
<text class="btn-text">确定</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="tip-popup" :class="{ show: showTipPopupFlag }">
|
<view class="tip-popup" :class="{ show: showTipPopupFlag }">
|
||||||
<view class="tip-popup-mask" @click="hideTipPopup"></view>
|
<view class="tip-popup-mask" @click="hideTipPopup"></view>
|
||||||
<view class="tip-popup-content">
|
<view class="tip-popup-content">
|
||||||
<image class="tip-popup-bg"
|
<image class="tip-popup-bg"
|
||||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ab410a5d-5819-47f2-a0fc-3fd6b90d6770"
|
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/ab410a5d-5819-47f2-a0fc-3fd6b90d6770"
|
||||||
mode="aspectFit"></image>
|
mode="aspectFit"></image>
|
||||||
|
|
||||||
<view class="tip-popup-body">
|
<view class="tip-popup-body">
|
||||||
<view class="tip-title">{{ tipTitle }}</view>
|
<view class="tip-title">{{ tipTitle }}</view>
|
||||||
<view class="tip-image-container">
|
<view class="tip-image-container">
|
||||||
<image class="tip-image" :class="currentTipType" :src="tipImage" mode="widthFix"></image>
|
<image class="tip-image" :class="currentTipType" :src="tipImage" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="tip-buttons">
|
<view class="tip-buttons">
|
||||||
<view class="tip-btn cancel" @click="hideTipPopup">
|
<view class="tip-btn cancel" @click="hideTipPopup">
|
||||||
<text class="btn-text">取消</text>
|
<text class="btn-text">取消</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="tip-btn confirm" @click="hideTipPopup">
|
<view class="tip-btn confirm" @click="hideTipPopup">
|
||||||
<text class="btn-text">我已了解</text>
|
<text class="btn-text">我已了解</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<uni-popup ref="existingInvitePopup" type="center" :mask-click="false">
|
<uni-popup ref="existingInvitePopup" type="center" :mask-click="false">
|
||||||
<view class="invite-popup-content">
|
<view class="invite-popup-content">
|
||||||
|
|
@ -206,11 +204,13 @@
|
||||||
<view class="invite-popup-body">
|
<view class="invite-popup-body">
|
||||||
<view class="invite-item">
|
<view class="invite-item">
|
||||||
<text class="invite-label">邀请码</text>
|
<text class="invite-label">邀请码</text>
|
||||||
<text class="invite-value">{{ existingInviterInfo && (existingInviterInfo.invite_code || existingInviterInfo.invite_code_other) }}</text>
|
<text class="invite-value">{{ existingInviterInfo && (existingInviterInfo.invite_code ||
|
||||||
|
existingInviterInfo.invite_code_other) }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="invite-item">
|
<view class="invite-item">
|
||||||
<text class="invite-label">邀请人</text>
|
<text class="invite-label">邀请人</text>
|
||||||
<text class="invite-value">{{ (existingInviterInfo && (existingInviterInfo.name || existingInviterInfo.nick_name)) || '' }}</text>
|
<text class="invite-value">{{ (existingInviterInfo && (existingInviterInfo.name ||
|
||||||
|
existingInviterInfo.nick_name)) || '' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="invite-popup-footer">
|
<view class="invite-popup-footer">
|
||||||
|
|
@ -274,7 +274,7 @@ export default {
|
||||||
inviterInfo: null,
|
inviterInfo: null,
|
||||||
currentValidatingCode: '',
|
currentValidatingCode: '',
|
||||||
inviteValidationTimer: null,
|
inviteValidationTimer: null,
|
||||||
|
|
||||||
// 新增邀请码弹窗和替换逻辑需要的状态变量
|
// 新增邀请码弹窗和替换逻辑需要的状态变量
|
||||||
existingInviterInfo: null,
|
existingInviterInfo: null,
|
||||||
hasExistingInviter: false,
|
hasExistingInviter: false,
|
||||||
|
|
@ -378,7 +378,7 @@ export default {
|
||||||
// 强制使用已绑定的邀请人
|
// 强制使用已绑定的邀请人
|
||||||
async forceUseExistingInviter() {
|
async forceUseExistingInviter() {
|
||||||
if (this.hasAutoReplacedInvite) return false;
|
if (this.hasAutoReplacedInvite) return false;
|
||||||
|
|
||||||
// 确保我们有手机号,如果没有则再获取一次
|
// 确保我们有手机号,如果没有则再获取一次
|
||||||
if (!this.userMobile) {
|
if (!this.userMobile) {
|
||||||
await this.getUserInfo();
|
await this.getUserInfo();
|
||||||
|
|
@ -387,28 +387,28 @@ export default {
|
||||||
console.log('用户手机号未获取,跳过强制替换');
|
console.log('用户手机号未获取,跳过强制替换');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 1. 调用查询已绑定的邀请码
|
// 1. 调用查询已绑定的邀请码
|
||||||
const res = await request.post('/sj/User/getBInviteCode', {
|
const res = await request.post('/sj/User/getBInviteCode', {
|
||||||
account: this.userMobile,
|
account: this.userMobile,
|
||||||
type: 2 // 商家端类型
|
type: 2 // 商家端类型
|
||||||
});
|
});
|
||||||
|
|
||||||
if (res && (res.code === 200 || res.state === 1) && res.data) {
|
if (res && (res.code === 200 || res.state === 1) && res.data) {
|
||||||
const oldInviteCode = res.data.invite_code || res.data.invite_code_other;
|
const oldInviteCode = res.data.invite_code || res.data.invite_code_other;
|
||||||
|
|
||||||
if (oldInviteCode) {
|
if (oldInviteCode) {
|
||||||
console.log('检测到已绑定邀请码:', oldInviteCode);
|
console.log('检测到已绑定邀请码:', oldInviteCode);
|
||||||
|
|
||||||
// 2. 用邀请码获取完整的邀请人信息
|
// 2. 用邀请码获取完整的邀请人信息
|
||||||
const inviteRes = await request.post('/sj/user/getInvite', {
|
const inviteRes = await request.post('/sj/user/getInvite', {
|
||||||
invite_code: oldInviteCode
|
invite_code: oldInviteCode
|
||||||
});
|
});
|
||||||
|
|
||||||
if (inviteRes && (inviteRes.code === 200 || inviteRes.state === 1) && inviteRes.data && inviteRes.data.account) {
|
if (inviteRes && (inviteRes.code === 200 || inviteRes.state === 1) && inviteRes.data && inviteRes.data.account) {
|
||||||
const fullInviterInfo = inviteRes.data;
|
const fullInviterInfo = inviteRes.data;
|
||||||
|
|
||||||
// 强制填充
|
// 强制填充
|
||||||
this.formData.invite_code_other = oldInviteCode;
|
this.formData.invite_code_other = oldInviteCode;
|
||||||
this.hasExistingInviter = true;
|
this.hasExistingInviter = true;
|
||||||
|
|
@ -417,11 +417,11 @@ export default {
|
||||||
this.inviterInfo = fullInviterInfo;
|
this.inviterInfo = fullInviterInfo;
|
||||||
this.currentValidatingCode = oldInviteCode;
|
this.currentValidatingCode = oldInviteCode;
|
||||||
this.existingInviterInfo = fullInviterInfo;
|
this.existingInviterInfo = fullInviterInfo;
|
||||||
|
|
||||||
// 保存状态
|
// 保存状态
|
||||||
this.saveInviteStateToLocal();
|
this.saveInviteStateToLocal();
|
||||||
this.saveFormDataToLocal();
|
this.saveFormDataToLocal();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -475,7 +475,7 @@ export default {
|
||||||
this.saveFormDataToLocal();
|
this.saveFormDataToLocal();
|
||||||
}
|
}
|
||||||
this.hideExistingInviteTipPopup();
|
this.hideExistingInviteTipPopup();
|
||||||
|
|
||||||
// 触发 Promise 解决,以继续表单提交流程
|
// 触发 Promise 解决,以继续表单提交流程
|
||||||
if (this.confirmResolve) {
|
if (this.confirmResolve) {
|
||||||
this.confirmResolve(true);
|
this.confirmResolve(true);
|
||||||
|
|
@ -614,7 +614,7 @@ export default {
|
||||||
this.formData.invite_code_other = this.inviterInfo ? (this.inviterInfo.invite_code || this.inviterInfo.invite_code_other) : '';
|
this.formData.invite_code_other = this.inviterInfo ? (this.inviterInfo.invite_code || this.inviterInfo.invite_code_other) : '';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = e.detail ? e.detail.value : this.formData.invite_code_other;
|
const code = e.detail ? e.detail.value : this.formData.invite_code_other;
|
||||||
|
|
||||||
console.log('邀请码输入:', code);
|
console.log('邀请码输入:', code);
|
||||||
|
|
@ -944,7 +944,7 @@ export default {
|
||||||
});
|
});
|
||||||
return resolve(false);
|
return resolve(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验证邀请码的有效性状态
|
// 验证邀请码的有效性状态
|
||||||
if (this.inviteCodeValidating) {
|
if (this.inviteCodeValidating) {
|
||||||
uni.showToast({ title: '邀请码验证中,请稍候', icon: 'none' });
|
uni.showToast({ title: '邀请码验证中,请稍候', icon: 'none' });
|
||||||
|
|
@ -1659,93 +1659,93 @@ export default {
|
||||||
/* 邀请码和禁用样式 */
|
/* 邀请码和禁用样式 */
|
||||||
/* 输入框禁用样式 */
|
/* 输入框禁用样式 */
|
||||||
.input:disabled {
|
.input:disabled {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
background-color: #F5F5F5;
|
background-color: #F5F5F5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 邀请码确认弹窗样式 */
|
/* 邀请码确认弹窗样式 */
|
||||||
.invite-popup-content {
|
.invite-popup-content {
|
||||||
width: 571rpx;
|
width: 571rpx;
|
||||||
height: 535rpx;
|
height: 535rpx;
|
||||||
background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/6f130301-f3df-467c-8a1c-dc49f85e5295.png');
|
background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/6f130301-f3df-467c-8a1c-dc49f85e5295.png');
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 40rpx;
|
padding: 40rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-popup-header {
|
.invite-popup-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 40rpx;
|
margin-bottom: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-popup-title {
|
.invite-popup-title {
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-popup-body {
|
.invite-popup-body {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 24rpx;
|
gap: 24rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-item {
|
.invite-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
background-color: rgba(255, 255, 255, 0.9);
|
background-color: rgba(255, 255, 255, 0.9);
|
||||||
border-radius: 16rpx;
|
border-radius: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-label {
|
.invite-label {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-value {
|
.invite-value {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-popup-footer {
|
.invite-popup-footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 20rpx;
|
gap: 20rpx;
|
||||||
margin-top: 40rpx;
|
margin-top: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-btn {
|
.invite-btn {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 88rpx;
|
height: 88rpx;
|
||||||
border-radius: 44rpx;
|
border-radius: 44rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin: 0 5rpx;
|
margin: 0 5rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-btn.cancel {
|
.invite-btn.cancel {
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
color: #FC437C;
|
color: #FC437C;
|
||||||
border: 2rpx solid #FC437C;
|
border: 2rpx solid #FC437C;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite-btn.confirm {
|
.invite-btn.confirm {
|
||||||
background: linear-gradient(90deg, #FC437C 0%, #FF618F 100%);
|
background: linear-gradient(90deg, #FC437C 0%, #FF618F 100%);
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
Loading…
Reference in New Issue