From 777bcb6c5660c0ed14d85207377b62b779d81dde Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:08:55 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun
---
app/pages/index/index.vue | 111 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 89 insertions(+), 22 deletions(-)
diff --git a/app/pages/index/index.vue b/app/pages/index/index.vue
index d373554..b9d4f09 100644
--- a/app/pages/index/index.vue
+++ b/app/pages/index/index.vue
@@ -6,12 +6,12 @@
<image class="hall-page__avatar" :src="centerUserInfo.fullImgUrl || '/static/image/ic_pic@2x.png'" mode="aspectFill"></image>
<text class="hall-page__name">{{ centerUserInfo.name }}</text>
</view>
- <view class="hall-page__status" v-if="userInfo.auditStatus === 3" @click="openStatusPicker">
+ <view class="hall-page__status" v-if="hasApprovedOfficial" @click="openStatusPicker">
<view class="hall-page__status-dot" :class="{ 'hall-page__status-dot--offline': acceptingStatus === 0 }"></view>
<text class="hall-page__status-text">{{ acceptingStatus === 1 ? '鎺ュ崟涓�' : '宸蹭笅绾�' }}</text>
<text class="hall-page__status-arrow">鈻�</text>
</view>
- <view class="hall-page__user" style="opacity: 0;">
+ <view class="hall-page__user" style="opacity: 0;">
<image class="hall-page__avatar" :src="centerUserInfo.fullImgUrl || '/static/image/ic_pic@2x.png'" mode="aspectFill"></image>
<text class="hall-page__name">{{ centerUserInfo.name }}</text>
</view>
@@ -19,7 +19,7 @@
<view class="hall-page__stats">
<view v-for="item in stats" :key="item.label" class="hall-page__stat-item">
- <text class="hall-page__stat-value">{{ userInfo.auditStatus === 3 ? item.value : '-' }}</text>
+ <text class="hall-page__stat-value">{{ hasApprovedOfficial ? item.value : '-' }}</text>
<text class="hall-page__stat-label">{{ item.label }}</text>
</view>
</view>
@@ -27,7 +27,7 @@
<view class="hall-page__tabs">
<view v-for="tab in displayTabs" :key="tab.value" class="hall-page__tab" :class="{ 'hall-page__tab--active': activeTab === tab.value }" @click="activeTab = tab.value">
<text class="hall-page__tab-text">{{ tab.label }}</text>
- <text v-if="tab.count" class="hall-page__tab-count">{{ userInfo.auditStatus === 3 ? tab.count : '' }}</text>
+ <text v-if="tab.count" class="hall-page__tab-count">{{ hasApprovedOfficial ? tab.count : '' }}</text>
<view v-if="activeTab === tab.value" class="hall-page__tab-line"></view>
</view>
<view class="hall-page__filter" @click="toggleFilterPopup(true)">
@@ -63,12 +63,12 @@
</view>
</view>
- <scroll-view class="hall-page__body" scroll-y :style="bodyStyle">
- <view class="hall-page__verified" v-if="userInfo.auditStatus !== 3">
+ <scroll-view class="hall-page__body" scroll-y :style="bodyStyle" @scrolltolower="handleScrollToLower">
+ <view class="hall-page__verified" v-if="!hasApprovedOfficial">
<image src="/static/image/default_unverified@2x.png" mode="widthFix"></image>
<button @click="toDriverCertification">鍘昏璇�</button>
</view>
- <view v-else-if="userInfo.auditStatus === 3 && acceptingStatus === 1 && currentOrderList.length" class="hall-page__list">
+ <view v-else-if="hasApprovedOfficial && acceptingStatus === 1 && currentOrderList.length" class="hall-page__list">
<view v-for="(item, index) in currentOrderList" :key="item.id" class="order-card" @click="goToOrderDetail(item, index)">
<view class="order-card__head">
<view class="order-card__time" v-if="item.remainMinutes > 0">
@@ -111,7 +111,7 @@
<view class="order-card__route-main">
<view class="order-card__route-item">
<view class="order-card__route-texts">
- <text class="order-card__route-title">{{ item.depositShopName }}澶ц嫃鎵撴墦绠�</text>
+ <text class="order-card__route-title"><text class="order-card__route-badge-text order-card__route-badge-text--take">鍙�</text>{{ item.depositShopName }}</text>
<text class="order-card__route-desc">{{ item.depositShopAddress }}</text>
</view>
<image src="/static/image/ic_daohang@2x.png" mode="widthFix" class="order-card__nav" @click.stop="navigateToAddress(item, 'deposit')"></image>
@@ -119,10 +119,10 @@
<view class="order-card__route-item order-card__route-item--destination">
<view class="order-card__route-texts">
<template v-if="item.takeShopId">
- <text class="order-card__route-title">{{ item.takeName }}</text>
+ <text class="order-card__route-title"><text class="order-card__route-badge-text order-card__route-badge-text--send">閫�</text>{{ item.takeName }}</text>
<text class="order-card__route-desc">{{ item.takeAddress }}</text>
</template>
- <text v-else class="order-card__route-title">{{ item.takeAddress }}</text>
+ <text v-else class="order-card__route-title"><text class="order-card__route-badge-text order-card__route-badge-text--send">閫�</text>{{ item.takeAddress }}</text>
</view>
<image src="/static/image/ic_daohang@2x.png" mode="widthFix" class="order-card__nav" @click.stop="navigateToAddress(item, 'take')"></image>
</view>
@@ -155,7 +155,7 @@
<text class="order-card__action-text">鑱旂郴</text>
</view>
</view>
- <button class="order-card__button order-card__button--code" hover-class="order-card__button--hover" @click.stop="handleShowPickupCode(item)">瀛樹欢鐮�</button>
+ <button class="order-card__button order-card__button--code" hover-class="order-card__button--hover" @click.stop="handleShowPickupCode(item)" v-if="item.takeShopId">瀛樹欢鐮�</button>
</template>
<button v-else class="order-card__button" hover-class="order-card__button--hover" @click.stop="handleGrabOrder(item)">绔嬪嵆鎶㈠崟</button>
</view>
@@ -281,6 +281,7 @@
showFilterPopup: false,
acceptingStatus: 0,
showStatusPicker: false,
+ hasApprovedOfficial: false,
statusOptions: [
{ text: '涓婄嚎', value: 1 },
{ text: '涓嬬嚎', value: 0 }
@@ -338,21 +339,24 @@
this.scrollHeight = Math.max(windowHeight - this.headerHeight, 0)
if (this.userInfo.auditStatus === 99) return;
this.acceptingStatus = this.userInfo.acceptingStatus || 0
- this.loadOrdersByTab(this.activeTab)
+ this.$u.api.centerInfo().then(res => {
+ if (res.code === 200) {
+ this.acceptingStatus = res.data.acceptingStatus
+ if (res.data.acceptingStatus === 1) {
+ this.loadOrdersByTab(this.activeTab)
+ }
+ }
+ })
+ uni.$on('jiedanSuccess', () => {
+ this.loadOrdersByTab(this.activeTab)
+ })
},
onShow() {
this.getCenterInfo()
this.getCategoryListData()
this.getActiveOrderCount()
- },
-
- onReachBottom() {
- if (this.acceptingStatus === 0) return;
- if (this.activeTab === 'hall') {
- this.hallPage++
- this.getHallOrders()
- }
+ this.getUserInfoDetail()
},
computed: {
@@ -392,6 +396,25 @@
},
methods: {
+ handleScrollToLower() {
+ if (this.acceptingStatus === 0) return;
+ this.hallPage++
+ if (this.activeTab === 'hall') {
+ console.log('hall')
+ this.getHallOrders()
+ } else if (this.activeTab === 'pickup') {
+ this.getPickupOrders()
+ } else if (this.activeTab === 'delivering') {
+ this.getDeliveringOrders()
+ }
+ },
+ getUserInfoDetail() {
+ this.$u.api.verifyDetail().then(res => {
+ if (res.code === 200) {
+ this.hasApprovedOfficial = res.data.hasApprovedOfficial === true
+ }
+ })
+ },
formatRemainTime(minutes) {
if (!minutes) return 0
if (minutes === 0) {
@@ -575,7 +598,7 @@
}
this.stats = [
{ value: res.data.score, label: '鏈嶅姟鍒�' },
- { value: res.data.todayCommission, label: '浠婃棩棰勮浣i噾' },
+ { value: ((res.data.todayCommission / 100) || 0).toFixed(2), label: '浠婃棩棰勮浣i噾' },
{ value: res.data.todayOrderCount, label: '浠婃棩鎺ュ崟' }
]
}
@@ -660,7 +683,7 @@
this.orderList = this.hallPage === 1 ? list : this.orderList.concat(list)
this.hallHasMore = list.length >= this.hallPageSize
}
- }).catch((err) => {
+ }).finally(() => {
this.hallLoading = false
})
},
@@ -1578,6 +1601,50 @@
}
}
+ &__route-badge {
+ width: 44rpx;
+ height: 44rpx;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24rpx;
+ font-weight: 600;
+ color: #ffffff;
+ margin-right: 16rpx;
+ flex-shrink: 0;
+
+ &--take {
+ background: #10B2FA;
+ }
+
+ &--send {
+ background: #FF8A00;
+ }
+ }
+
+ &__route-badge-text {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 36rpx;
+ height: 36rpx;
+ border-radius: 50%;
+ font-size: 22rpx;
+ font-weight: 600;
+ color: #ffffff;
+ margin-right: 8rpx;
+ vertical-align: middle;
+
+ &--take {
+ background: #10B2FA;
+ }
+
+ &--send {
+ background: #FF8A00;
+ }
+ }
+
&__route-texts {
flex: 1;
min-width: 0;
--
Gitblit v1.9.3