diff --git a/pages/artisan/profile.vue b/pages/artisan/profile.vue index 06c95e3..da5a7f9 100644 --- a/pages/artisan/profile.vue +++ b/pages/artisan/profile.vue @@ -165,7 +165,7 @@ v-if="userInfo.credentials_state === 0"> + :style="{ color: userInfo.credentials_state === 0 ? '#ec5d57' : userInfo.credentials_state === 1 ? '#e59e45' : '#389930' }"> {{ userInfo.credentials_state === 0 ? '待完善' : userInfo.credentials_state === 1 ? '审核中' : '已认证' }} @@ -640,12 +640,17 @@ export default { url: '/pages/ruzhu/ruzhu' }); } else if (idType > 0 && credentialsState === 0) { - // 已认证 + 待完善 + // 已入驻 + 待完善 uni.navigateTo({ url: '/pages/shop/qualification_sj_change' }); } else if (idType > 0 && credentialsState === 1) { - // 已认证 + 申请中 + // 已入驻 + 申请中 + uni.navigateTo({ + url: '/pages/shop/qualification_sj_change' + }); + } else if (idType > 0 && credentialsState === 2) { + // 已入驻 + 已完善 uni.navigateTo({ url: '/pages/shop/qualification_sj_change' }); diff --git a/pages/home/home.vue b/pages/home/home.vue index 626fc87..9ae3a7f 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -6,7 +6,7 @@ - + {{ currentName }} 欢迎登录美融融商家版 @@ -117,7 +117,7 @@ - + {{ orderBasic.waitStart }} 待开始 diff --git a/pages/my/my.vue b/pages/my/my.vue index 85ed488..6839704 100644 --- a/pages/my/my.vue +++ b/pages/my/my.vue @@ -133,6 +133,70 @@ + + + + + + + 温馨提示 + + + + 发布服务请完善以下资料: + + + + + + + + 营业时间未配置 + 请完善店铺的营业时间 + + + 去配置 + + + + + + + + 服务技能未配置 + 请完善服务技能 + + + 去配置 + + + + + + + + {{ isUnderReview ? + '资质认证中' : '资质未认证' }} + 请完成资质认证 + + + + {{ isUnderReview ? '查看进度' : '去认证' }} + + + + + + + 知道了 + + + + {{ tipsText }} @@ -325,6 +389,8 @@ export default { inviteList: [], // 账号停用弹窗控制 stopUseModal: false, + showSetupModal: false, + authDetails: null, }; }, onPageScroll(e) { @@ -343,6 +409,37 @@ export default { return this.userInfo?.is_ok === 2; }, + // 是否认证通过 (根据规则,> 0 说明认证通过了) + isCertified() { + if (!this.isLogin || typeof this.userInfo.id_type === 'undefined') return false; + return this.userInfo.id_type > 0; + }, + // 是否已入驻 + isSettled() { + if (!this.isLogin || typeof this.userInfo.id_type === 'undefined') return false; + return this.userInfo.id_type !== 0; + }, + // 是否在审核中 + isUnderReview() { + if (!this.isLogin) return false; + if (this.authDetails && Object.keys(this.authDetails).length > 0) { + return true; + } + return false; + }, + // 服务技能是否已配置 + hasServiceSkill() { + const fromUser = this.userInfo && Array.isArray(this.userInfo.servers_kill) && this.userInfo.servers_kill.length > 0; + const fromAuth = this.authDetails && Array.isArray(this.authDetails.servers_kill) && this.authDetails.servers_kill.length > 0; + return this.isLogin && (fromUser || fromAuth); + }, + // 营业时间是否已配置 + hasBusinessTime() { + const timeFromUser = this.userInfo && this.userInfo.business_time; + const timeFromAuth = this.authDetails && this.authDetails.business_time; + return this.isLogin && !!(timeFromUser || timeFromAuth); + }, + currentCardList() { return this.cardList .filter((card) => this.checkShow(card)) @@ -671,9 +768,24 @@ export default { "https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/4b558456-2e38-4185-8713-d1f0e6645820.png"; } } + // 获取入驻详情用于判断认证状态 + if (this.isSettled) { + this.fetchAuthDetails(); + } }); this.getInviteList(); }, + // 获取入驻详情 + fetchAuthDetails() { + request.post("/sj/userSjAuth/details", { + type: 1, + id_type: '1' + }).then(res => { + if (res.code == 200 && res.data) { + this.authDetails = res.data; + } + }); + }, async goLogin() { // 添加访问检查 if (this.isAccountDisabled) { @@ -761,11 +873,8 @@ export default { url: `${item.path}?type=${item.type}`, }); } else { - if (item.go_id_type == 1 && this.userInfo?.id_type == 0) { - uni.showToast({ - title: `您暂未入驻,无法使用${item.title}!`, - icon: "none", - }); + if (item.go_id_type == 1 && (!this.isCertified || !this.hasBusinessTime || !this.hasServiceSkill)) { + this.showSetupModal = true; return; } if (!this.isLogin && item.go_id_type) { @@ -803,12 +912,17 @@ export default { url: '/pages/ruzhu/ruzhu' }); } else if (idType > 0 && credentialsState === 0) { - // 已认证 + 待完善 + // 已入驻 + 待完善 uni.navigateTo({ url: '/pages/shop/qualification_sj_change' }); } else if (idType > 0 && credentialsState === 1) { - // 已认证 + 申请中 + // 已入驻 + 申请中 + uni.navigateTo({ + url: '/pages/shop/qualification_sj_change' + }); + } else if (idType > 0 && credentialsState === 2) { + // 已入驻 + 已完善 uni.navigateTo({ url: '/pages/shop/qualification_sj_change' }); @@ -819,6 +933,39 @@ export default { }); } }, + closeSetupModal() { + this.showSetupModal = false; + }, + goToBusinessTime() { + this.showSetupModal = false; + uni.navigateTo({ + url: '/pages/shop/business-time' + }); + }, + goToServiceSkill() { + this.showSetupModal = false; + uni.navigateTo({ + url: '/pages/shop/service-skills' + }); + }, + goToAuth() { + this.showSetupModal = false; + if (this.isUnderReview) { + uni.navigateTo({ + url: '/pages/ruzhu/ruzhu?type=1' + }); + } else { + if (this.isSettled) { + uni.navigateTo({ + url: '/pages/ruzhu/ruzhu?step=3' + }); + } else { + uni.navigateTo({ + url: '/pages/ruzhu/ruzhu' + }); + } + } + }, goToInviteList() { // 添加访问检查 if (this.isAccountDisabled) { @@ -1562,4 +1709,151 @@ button::after { width: 100%; } } + +/* ============ 提示弹窗样式 ============ */ +.setup-modal-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + + .setup-modal-content { + width: 630rpx; + height: 775rpx; + background: #FFFFFF; + border-radius: 32rpx; + position: relative; + display: flex; + flex-direction: column; + + .modal-bg { + position: absolute; + top: 0; + left: 0; + width: 630rpx; + height: 265rpx; + z-index: 0; + } + + .modal-header { + position: relative; + z-index: 1; + height: 150rpx; + display: flex; + align-items: flex-end; + justify-content: center; + padding-bottom: 20rpx; + + text { + font-size: 36rpx; + font-weight: bold; + color: #333333; + letter-spacing: 2rpx; + } + } + + .modal-body { + position: relative; + z-index: 1; + flex: 1; + padding: 24rpx 40rpx; + + .modal-subtitle { + font-size: 28rpx; + color: #333333; + margin-bottom: 40rpx; + display: block; + } + + .missing-list { + display: flex; + flex-direction: column; + gap: 46rpx; + + .missing-item { + display: flex; + justify-content: space-between; + align-items: center; + + .item-left { + display: flex; + align-items: flex-start; + + .item-icon { + width: 32rpx; + height: 32rpx; + margin-right: 16rpx; + flex-shrink: 0; + margin-top: 6rpx; + } + + .item-texts { + display: flex; + flex-direction: column; + + .item-title { + font-size: 30rpx; + color: #333333; + font-weight: 500; + margin-bottom: 8rpx; + + &.blue-text { + color: #2b85e4; + } + } + + .item-desc { + font-size: 24rpx; + color: #999999; + } + } + } + + .item-right { + font-size: 26rpx; + font-weight: 400; + margin-top: -45rpx; + + &.orange { + color: #FF7B00; + } + + &.grey { + color: #999999; + } + + &.light-green { + color: #5CAC81; + } + } + } + } + } + + .modal-footer { + position: relative; + z-index: 1; + padding: 0 50rpx 50rpx; + + .btn-know { + width: 100%; + height: 88rpx; + background: #FF4767; + border-radius: 44rpx; + color: #FFFFFF; + font-size: 32rpx; + font-weight: 500; + display: flex; + align-items: center; + justify-content: center; + } + } + } +} \ No newline at end of file diff --git a/pages/ruzhu/ruzhu.vue b/pages/ruzhu/ruzhu.vue index f11b01a..d898f5c 100644 --- a/pages/ruzhu/ruzhu.vue +++ b/pages/ruzhu/ruzhu.vue @@ -1,821 +1,821 @@ \ No newline at end of file diff --git a/pages/shop/add-service.vue b/pages/shop/add-service.vue index af35f5b..d3538aa 100644 --- a/pages/shop/add-service.vue +++ b/pages/shop/add-service.vue @@ -45,9 +45,9 @@ 服务分类 + 'form-value', + formData.first_class_id ? '' : 'placeholder', + ]"> {{ serviceType || "选择分类" }} 服务子类 + 'form-value', + formData.second_class_id ? '' : 'placeholder', + ]"> {{ category || "选择子类" }} 是否允许该服务在门店端售卖,以供门店下单购买。 {{ - showShopPrice - ? "门店下单购买后,您需到上门至门店进行服务,门店端展示价格为" - : "" - }} + showShopPrice + ? "门店下单购买后,您需到上门至门店进行服务,门店端展示价格为" + : "" + }} {{ - shopPrice - }} + shopPrice + }} {{ showShopPrice ? "元。" : "" }} @@ -121,8 +121,8 @@ 图文详情 {{ - formData.graphic_details ? "已设置" : "去设置" - }} + formData.graphic_details ? "已设置" : "去设置" + }} @@ -138,7 +138,7 @@ - {{(detailForm.effect || '').length}}/200 + {{ (detailForm.effect || '').length }}/200 @@ -148,7 +148,7 @@ - {{(detailForm.crowd || '').length}}/200 + {{ (detailForm.crowd || '').length }}/200 @@ -157,7 +157,7 @@ - {{(detailForm.product || '').length}}/200 + {{ (detailForm.product || '').length }}/200 @@ -166,7 +166,7 @@ - {{(detailForm.scope || '').length}}/200 + {{ (detailForm.scope || '').length }}/200 @@ -175,7 +175,7 @@ - {{(detailForm.tips || '').length}}/200 + {{ (detailForm.tips || '').length }}/200 @@ -276,1209 +276,1209 @@ 便于您使用该功能上传您的照片/图片/视频以及用于更换头像、发布商品等场景中所需内容。 - + \ No newline at end of file diff --git a/pages/shop/qualification_sj_change.vue b/pages/shop/qualification_sj_change.vue index f6b6a1d..f8720a8 100644 --- a/pages/shop/qualification_sj_change.vue +++ b/pages/shop/qualification_sj_change.vue @@ -169,16 +169,14 @@ - 长久有效 - 指定日期有效 @@ -313,8 +311,7 @@ - {{ item.label }} @@ -2724,23 +2721,40 @@ export default { .popup-footer { margin-top: 32rpx; + display: flex; + justify-content: space-between; + padding: 0 28rpx; } .popup-btn { + width: 280rpx; height: 88rpx; border-radius: 44rpx; display: flex; align-items: center; justify-content: center; +} + +.popup-btn.confirm { background: linear-gradient(180deg, #ff8e9d 0%, #FF4767 100%); } -.popup-btn .btn-text { +.popup-btn.cancel { + border: 2rpx solid #FF4767; +} + +.popup-btn.confirm .btn-text { font-size: 32rpx; font-weight: 500; color: #FFFFFF; } +.popup-btn.cancel .btn-text { + font-size: 32rpx; + font-weight: 500; + color: #FF4767; +} + .cancel-text, .confirm-text { font-size: 32rpx; diff --git a/pages/shop/staff/addStaff.vue b/pages/shop/staff/addStaff.vue index baec068..6e97247 100644 --- a/pages/shop/staff/addStaff.vue +++ b/pages/shop/staff/addStaff.vue @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/pages/shop/staff/distribution-service.vue b/pages/shop/staff/distribution-service.vue index 706b209..4e56cf1 100644 --- a/pages/shop/staff/distribution-service.vue +++ b/pages/shop/staff/distribution-service.vue @@ -1,7 +1,8 @@ \ No newline at end of file diff --git a/pages/shop/staff/manage.vue b/pages/shop/staff/manage.vue index aad5e6e..419eab0 100644 --- a/pages/shop/staff/manage.vue +++ b/pages/shop/staff/manage.vue @@ -4,8 +4,8 @@ backgroundColor="linear-gradient( 134deg, #F52540 0%, #FF4767 100%)" headleSrc="/static/images/recruit/guide.png" :showHeadle="false" titleColor="#fff" borderBottom="none" @onHeadleClick="openPop"> - + @@ -20,20 +20,22 @@ :listScrollHeight="`calc(100vh - ${statusBarHeight + 350}rpx)`"> \ No newline at end of file