wlzboy
2026-01-12 45d90d1e7ba86286e998d1ac4d2cba8e98cd059b
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() {