| | |
| | | <view class="section-title">基本信息</view> |
| | | <view class="info-item"> |
| | | <view class="label">任务编号</view> |
| | | <view class="value">{{ taskDetail.taskCode }}</view> |
| | | <view class="value"> |
| | | {{ taskDetail.showTaskCode }} |
| | | <text v-if="taskDetail.isHeadPush === '1'" class="head-push-tag">总</text> |
| | | </view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="label">任务类型</view> |
| | |
| | | <view |
| | | class="assignee-item" |
| | | v-for="(assignee, index) in taskDetail.assignees" |
| | | :key="'assignee-' + (assignee.userId || assignee.userName || index)" |
| | | :key="getAssigneeKey(assignee, index)" |
| | | > |
| | | <view class="assignee-index">{{ index + 1 }}</view> |
| | | <view class="assignee-info"> |
| | |
| | | <view |
| | | class="payment-record-item" |
| | | v-for="(payment, index) in paymentInfo.paidPayments" |
| | | :key="'payment-' + (payment.id || index)" |
| | | :key="getPaymentKey(payment, index)" |
| | | > |
| | | <view class="payment-header"> |
| | | <view |
| | |
| | | |
| | | // 返回上一页 |
| | | goBack() { |
| | | uni.navigateBack() |
| | | // 检查是否有页面可以返回 |
| | | uni.navigateBack({ |
| | | delta: 1, |
| | | fail: () => { |
| | | // 如果无法返回,则跳转到任务列表页面 |
| | | uni.switchTab({ |
| | | url: '/pages/task/index' |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // 处理编辑按钮 |
| | |
| | | // 出发前保证就绪(保留向后兼容) |
| | | async ensureReadyThenDepart() { |
| | | this.handleDepartAction() |
| | | } |
| | | }, |
| | | |
| | | // 获取执行人员的key值 |
| | | getAssigneeKey(assignee, index) { |
| | | // 确保返回有效的字符串key |
| | | if (!assignee) return 'assignee-' + index; |
| | | // 优先使用userId,其次是userName,最后使用index |
| | | const key = assignee.userId || assignee.userName || index; |
| | | return 'assignee-' + (key !== null && key !== undefined ? key : index); |
| | | }, |
| | | |
| | | // 获取支付记录的key值 |
| | | getPaymentKey(payment, index) { |
| | | // 确保返回有效的字符串key |
| | | if (!payment) return 'payment-' + index; |
| | | // 优先使用id,其次使用index |
| | | const key = payment.id || index; |
| | | return 'payment-' + (key !== null && key !== undefined ? key : index); |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | } |
| | | } |
| | | |
| | | // 总部推送标记样式 |
| | | .head-push-tag { |
| | | color: #ff0000; |
| | | font-size: 24rpx; |
| | | font-weight: bold; |
| | | margin-left: 10rpx; |
| | | padding: 2rpx 8rpx; |
| | | border: 1rpx solid #ff0000; |
| | | border-radius: 4rpx; |
| | | } |
| | | |
| | | .detail-content { |
| | | padding: 20rpx; |
| | | height: calc(100vh - 220rpx); // 减去header(100rpx)和按钮区域(120rpx)的高度 |