wlzboy
2025-12-29 faff7314b240922d20fdd2fbc455c61dbc297cd5
app/pagesTask/detail.vue
@@ -7,6 +7,7 @@
      <view class="title">任务详情</view>
      <view class="edit-btn" @click="handleEdit" v-if="taskDetail && !isTaskFinished">
        <uni-icons type="compose" size="20" color="#007AFF"></uni-icons>
        <text class="edit-text">修改</text>
      </view>
    </view>
    
@@ -456,8 +457,8 @@
    <view class="action-buttons" v-if="taskDetail">
      <!-- 待处理状态: 显示出发、取消、强制完成 -->
      <template v-if="taskDetail.taskStatus === 'PENDING'">
        <template v-if="isCurrentUserAssignee()">
          <button 
          v-if="isCurrentUserAssignee()"
            class="action-btn primary" 
            @click="handleDepartAction()"
          >
@@ -470,13 +471,12 @@
            取消
          </button>
          <button 
            v-if="showForceCompleteFeature() && taskDetail.taskStatus === 'PENDING'"
          v-if="isCurrentUserAssignee() && showForceCompleteFeature()"
            class="action-btn force-complete" 
            @click="showForceCompleteTimeDialog()"
          >
            强制完成
          </button>
        </template>
      </template>
      
      <!-- 出发中状态: 显示已到达、强制结束 -->
@@ -914,10 +914,8 @@
            break;
            
          case 'forceCancel':
            // 强制结束 -> 状态变为已取消
            this.$modal.confirm('确定要强制结束此任务吗?').then(() => {
              this.updateTaskStatus('CANCELLED', '任务已强制结束')
            }).catch(() => {});
            // 强制结束 -> 显示取消原因选择对话框
            this.showCancelReasonDialog();
            break;
            
          case 'return':
@@ -1877,12 +1875,18 @@
      }
      
      .edit-btn {
        width: 60rpx;
        width: 120rpx;
        height: 60rpx;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        .edit-text {
          margin-left: 8rpx;
          font-size: 28rpx;
          color: #007AFF;
        }
      }
    }