From 8b005a808d6ab8fae1480ed57bdfd68af2dafcd4 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 01 十一月 2025 23:07:49 +0800
Subject: [PATCH] feat:输入出入地址时,会自动计算距离

---
 app/pages/task/index.vue |   37 ++++++++++++++++++-------------------
 1 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/app/pages/task/index.vue b/app/pages/task/index.vue
index d5b0655..0044af2 100644
--- a/app/pages/task/index.vue
+++ b/app/pages/task/index.vue
@@ -108,12 +108,12 @@
       
       <scroll-view class="task-list-scroll" scroll-y="true">
         <view class="task-list">
-          <view class="task-item" v-for="task in filteredTaskList" :key="task.id">
+          <view class="task-item" v-for="task in filteredTaskList" :key="task.taskId">
             <view class="task-main" @click="viewTaskDetail(task)">
               <!-- 浠诲姟澶撮儴锛氭爣棰樺拰鐘舵�佹爣绛� -->
               <view class="task-header">
                 <view class="task-title">{{ getTaskTypeText(task.taskType) }} - {{ task.vehicle }}</view>
-                <view class="task-status" :class="getStatusClass(task.taskStatus)">
+                <view class="task-status" :class="task.taskStatus === 'PENDING' ? 'status-pending' : task.taskStatus === 'DEPARTING' ? 'status-departing' : task.taskStatus === 'ARRIVED' ? 'status-arrived' : task.taskStatus === 'RETURNING' ? 'status-returning' : task.taskStatus === 'COMPLETED' ? 'status-completed' : task.taskStatus === 'CANCELLED' ? 'status-cancelled' : task.taskStatus === 'IN_PROGRESS' ? 'status-in-progress' : 'status-default'">
                   {{ getStatusText(task.taskStatus) }}
                 </view>
               </view>
@@ -220,6 +220,7 @@
   import uniDatetimePicker from '@/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue'
   import { listTask, changeTaskStatus } from '@/api/task'
   import { mapState } from 'vuex'
+  import { formatDateTime } from '@/utils/common'
   
   export default {
     components: {
@@ -359,7 +360,7 @@
               vehicleList: task.assignedVehicles || [],
               startLocation: this.formatAddress(task.departureAddress || task.startLocation || '鏈缃�'),
               endLocation: this.formatAddress(task.destinationAddress || task.endLocation || '鏈缃�'),
-              startTime: task.plannedStartTime ? this.formatDateTime(task.plannedStartTime) : '鏈缃�',
+              startTime: task.plannedStartTime ? formatDateTime(task.plannedStartTime, 'YYYY-MM-DD HH:mm') : '鏈缃�',
               assignee: task.assigneeName || '鏈垎閰�'
             }
           })
@@ -367,19 +368,6 @@
           this.loading = false
           console.error('鍔犺浇浠诲姟鍒楄〃澶辫触:', error)
           this.$modal.showToast('鍔犺浇浠诲姟鍒楄〃澶辫触')
-        })
-      },
-      
-      // 鏍煎紡鍖栨棩鏈熸椂闂�
-      formatDateTime(dateTime) {
-        if (!dateTime) return ''
-        const date = new Date(dateTime)
-        return date.toLocaleString('zh-CN', {
-          year: 'numeric',
-          month: '2-digit',
-          day: '2-digit',
-          hour: '2-digit',
-          minute: '2-digit'
         })
       },
       
@@ -442,8 +430,17 @@
       
       // 鏌ョ湅浠诲姟璇︽儏
       viewTaskDetail(task) {
-        // 璺宠浆鍒颁换鍔¤鎯呴〉闈� - 淇:浣跨敤taskId鑰屼笉鏄痠d
-        this.$tab.navigateTo(`/pages/task/detail?id=${task.taskId}`);
+        // 闃插尽鎬ф鏌�
+        if (!task || !task.taskId) {
+          console.error('浠诲姟鏁版嵁鏃犳晥:', task)
+          this.$modal.showToast('浠诲姟鏁版嵁寮傚父')
+          return
+        }
+        
+        // 璺宠浆鍒颁换鍔¤鎯呴〉闈� - 浣跨敤uni.navigateTo
+        uni.navigateTo({
+          url: `/pages/task/detail?id=${task.taskId}`
+        });
       },
       
       // 澶勭悊浠诲姟鎿嶄綔
@@ -528,6 +525,7 @@
             
             changeTaskStatus(taskId, statusData).then(response => {
               that.$modal.showToast('鐘舵�佹洿鏂版垚鍔�')
+              // 鍒锋柊浠诲姟鍒楄〃
               that.loadTaskList()
             }).catch(error => {
               console.error('鏇存柊浠诲姟鐘舵�佸け璐�:', error)
@@ -545,6 +543,7 @@
               
               changeTaskStatus(taskId, statusData).then(response => {
                 that.$modal.showToast('鐘舵�佹洿鏂版垚鍔�')
+                // 鍒锋柊浠诲姟鍒楄〃
                 that.loadTaskList()
               }).catch(error => {
                 console.error('鏇存柊浠诲姟鐘舵�佸け璐�:', error)
@@ -587,7 +586,7 @@
           'MAINTENANCE': '缁翠慨淇濆吇',
           'FUEL': '鍔犳补',
           'OTHER': '鍏朵粬',
-          'EMERGENCY_TRANSFER': '鎬ユ晳杞繍',
+          'EMERGENCY_TRANSFER': '杞繍浠诲姟',
           'WELFARE': '绂忕杞�'
         }
         return typeMap[type] || '鏈煡绫诲瀷'

--
Gitblit v1.9.1