From 45d90d1e7ba86286e998d1ac4d2cba8e98cd059b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 12 一月 2026 20:52:30 +0800
Subject: [PATCH] feat: 优化内存

---
 app/pagesTask/detail.vue |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/app/pagesTask/detail.vue b/app/pagesTask/detail.vue
index 3f64594..fa8e0c4 100644
--- a/app/pagesTask/detail.vue
+++ b/app/pagesTask/detail.vue
@@ -456,9 +456,9 @@
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <view class="action-buttons" v-if="taskDetail">
       <!-- 寰呭鐞嗙姸鎬�: 鏄剧ず鍑哄彂銆佸彇娑堛�佸己鍒跺畬鎴� -->
-      <template v-if="taskDetail.taskStatus === 'PENDING'">
+      <template v-if="taskDetail.taskStatus === 'PENDING' ">
         <button 
-          v-if="isCurrentUserAssignee()"
+          v-if="canOperateTask()"
           class="action-btn primary" 
           @click="handleDepartAction()"
         >
@@ -471,7 +471,7 @@
           鍙栨秷
         </button>
         <button 
-          v-if="isCurrentUserAssignee() && showForceCompleteFeature()"
+          v-if="canOperateTask() && showForceCompleteFeature()"
           class="action-btn force-complete" 
           @click="showForceCompleteTimeDialog()"
         >
@@ -481,7 +481,7 @@
       
       <!-- 鍑哄彂涓姸鎬�: 鏄剧ず宸插埌杈俱�佸己鍒剁粨鏉� -->
       <template v-else-if="taskDetail.taskStatus === 'DEPARTING'">
-        <template v-if="isCurrentUserAssignee()">
+        <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
             @click="handleTaskAction('arrive')"
@@ -499,7 +499,7 @@
       
       <!-- 宸插埌杈剧姸鎬�: 鏄剧ず宸茶繑绋� -->
       <template v-else-if="taskDetail.taskStatus === 'ARRIVED'">
-        <template v-if="isCurrentUserAssignee()">
+        <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
             @click="handleTaskAction('return')"
@@ -511,13 +511,32 @@
       
       <!-- 杩旂▼涓姸鎬�: 鏄剧ず宸插畬鎴� -->
       <template v-else-if="taskDetail.taskStatus === 'RETURNING'">
-        <template v-if="isCurrentUserAssignee()">
+        <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
             @click="handleTaskAction('complete')"
           >
             宸插畬鎴�
           </button>
+        </template>
+      </template>
+      
+      <!-- 澶勭悊涓姸鎬�: 鏄剧ず寮哄埗瀹屾垚銆佸彇娑� -->
+      <template v-else-if="taskDetail.taskStatus === 'IN_PROGRESS'">
+        <template v-if="canOperateTask()">
+           <button 
+            class="action-btn primary" 
+            @click="handleTaskAction('arrive')"
+          >
+            宸插埌杈�
+          </button>
+          <button 
+            v-if="showForceCompleteFeature()"
+            class="action-btn force-complete" 
+            @click="showForceCompleteTimeDialog()"
+          >
+            寮哄埗瀹屾垚
+          </button>         
         </template>
       </template>
       
@@ -1502,6 +1521,19 @@
         const list = (this.taskDetail && Array.isArray(this.taskDetail.assignees)) ? this.taskDetail.assignees : []
         return list.some(a => a && (a.userId === userId || a.oaUserId === userId))
       },
+      
+      // 鏄惁褰撳墠鐢ㄦ埛鍙互鎿嶄綔浠诲姟锛堟墽琛屼汉鎴栫鐞嗗憳锛�
+      canOperateTask() {
+        // 妫�鏌ユ槸鍚︽槸绠$悊鍛橈紙canViewAllConsult === '1'锛�
+        
+        const canViewAllConsult = this.$store && this.$store.state && this.$store.state.user && this.$store.state.user.canViewAllConsult
+        console.log("褰撳墠鐢ㄦ埛鏄惁鏄鐞嗗憳:", canViewAllConsult)
+        if (canViewAllConsult === '1') {
+          return true
+        }
+        // 妫�鏌ユ槸鍚︽槸浠诲姟鎵ц浜�
+        return this.isCurrentUserAssignee()
+      },
 
       // 鏄惁澶氫汉鎵ц
       isMultipleAssignees() {

--
Gitblit v1.9.1