From 2576c71ce6a7d0465fcbc5ebc7507da9472c41a3 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 05 十一月 2025 23:41:12 +0800
Subject: [PATCH] feat: 创建转运任务
---
app/pages/message/index.vue | 51 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 44 insertions(+), 7 deletions(-)
diff --git a/app/pages/message/index.vue b/app/pages/message/index.vue
index e3dd348..a35c92c 100644
--- a/app/pages/message/index.vue
+++ b/app/pages/message/index.vue
@@ -10,7 +10,7 @@
<view
class="message-item"
v-for="message in sortedMessages"
- :key="message.id"
+ :key="message.messageId"
@click="viewMessageDetail(message)"
>
<view class="message-main">
@@ -19,7 +19,7 @@
<view class="unread-dot" v-if="message.isRead === '0'"></view>
</view>
<view class="message-content">{{ message.messageContent }}</view>
- <view class="message-time">{{ message.createTime }}</view>
+ <view class="message-time">{{ formatMessageTime(message.createTime) }}</view>
</view>
</view>
@@ -34,6 +34,7 @@
<script>
import { getMyMessages, markAsRead } from '@/api/message'
+ import { formatDateTime } from '@/utils/common'
export default {
data() {
@@ -48,12 +49,14 @@
sortedMessages() {
return [...this.messages].sort((a, b) => {
if (a.isRead === b.isRead) {
- // 鐩稿悓鐘舵�佹寜鏃堕棿鍊掑簭
- return new Date(b.createTime) - new Date(a.createTime);
+ // 鐩稿悓鐘舵�佹寜鏃堕棿鍊掑簭 - 浣跨敤鍏煎iOS鐨勬棩鏈熸牸寮�
+ const timeA = a.createTime ? new Date(a.createTime.replace(/-/g, '/')) : new Date(0)
+ const timeB = b.createTime ? new Date(b.createTime.replace(/-/g, '/')) : new Date(0)
+ return timeB - timeA
}
// 鏈鐨勬帓鍦ㄥ墠闈�
- return a.isRead === '0' ? -1 : 1;
- });
+ return a.isRead === '0' ? -1 : 1
+ })
}
},
onLoad() {
@@ -62,6 +65,8 @@
onShow() {
// 姣忔鏄剧ず椤甸潰鏃跺埛鏂版秷鎭�
this.loadMessages()
+ // 鏇存柊TabBar寰芥爣
+ this.updateTabBarBadge()
},
onPullDownRefresh() {
this.loadMessages().then(() => {
@@ -101,10 +106,19 @@
// 鏌ョ湅娑堟伅璇︽儏锛堣烦杞埌浠诲姟璇︽儏锛�
async viewMessageDetail(message) {
try {
+ // 鏍¢獙娑堟伅瀵硅薄
+ if (!message || !message.messageId) {
+ console.error('娑堟伅鏁版嵁寮傚父锛�', message)
+ this.$modal.showToast('娑堟伅鏁版嵁寮傚父')
+ return
+ }
+
// 鏍囪涓哄凡璇�
if (message.isRead === '0') {
await markAsRead(message.messageId)
message.isRead = '1'
+ // 鏇存柊寰芥爣
+ this.updateTabBarBadge()
}
// 璺宠浆鍒颁换鍔¤鎯呴〉闈�
@@ -116,10 +130,33 @@
} catch (error) {
console.error('鏍囪娑堟伅宸茶澶辫触锛�', error)
// 鍗充娇鏍囪澶辫触锛屼篃鍏佽璺宠浆
- if (message.taskId) {
+ if (message && message.taskId) {
this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
}
}
+ },
+
+ // 鏇存柊TabBar寰芥爣
+ updateTabBarBadge() {
+ const unreadCount = this.messages.filter(msg => msg.isRead === '0').length
+ console.log('鏈娑堟伅鏁伴噺:', unreadCount)
+
+ if (unreadCount > 0) {
+ uni.setTabBarBadge({
+ index: 3, // 娑堟伅椤甸潰鍦╰abBar涓殑绱㈠紩
+ text: unreadCount > 99 ? '99+' : unreadCount.toString()
+ })
+ } else {
+ uni.removeTabBarBadge({
+ index: 3
+ })
+ }
+ },
+
+ // 鏍煎紡鍖栨秷鎭椂闂存樉绀�
+ formatMessageTime(dateTime) {
+ if (!dateTime) return ''
+ return formatDateTime(dateTime, 'MM-DD HH:mm')
}
}
}
--
Gitblit v1.9.1