task-detail.wxml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!--pages/task-detail/task-detail.wxml-->
  2. <view class="container">
  3. <!-- 加载状态 -->
  4. <view class="loading" wx:if="{{loading}}">
  5. <text>加载中...</text>
  6. </view>
  7. <!-- 任务详情 -->
  8. <view class="task-detail" wx:else>
  9. <!-- 任务头部 -->
  10. <view class="task-header">
  11. <view class="status-badge {{task.status}}">
  12. <text>{{task.status === 'pending' ? '进行中' : task.status === 'completed' ? '已完成' : '已逾期'}}</text>
  13. </view>
  14. <text class="task-title">{{task.title}}</text>
  15. <view class="task-meta">
  16. <text class="task-points">+{{task.points}}分</text>
  17. <text class="task-category">{{task.category}}</text>
  18. </view>
  19. </view>
  20. <!-- 任务信息 -->
  21. <view class="task-info">
  22. <view class="info-item">
  23. <text class="info-label">任务描述</text>
  24. <text class="info-value">{{task.description}}</text>
  25. </view>
  26. <view class="info-item">
  27. <text class="info-label">截止时间</text>
  28. <text class="info-value">{{task.deadline}}</text>
  29. </view>
  30. <view class="info-item">
  31. <text class="info-label">剩余时间</text>
  32. <text class="info-value time-urgent">{{remainingTime}}</text>
  33. </view>
  34. <view class="info-item">
  35. <text class="info-label">发布者</text>
  36. <text class="info-value">{{task.creatorName}}</text>
  37. </view>
  38. <view class="info-item">
  39. <text class="info-label">执行者</text>
  40. <text class="info-value">{{task.childName}}</text>
  41. </view>
  42. <view class="info-item">
  43. <text class="info-label">需要审核</text>
  44. <text class="info-value">{{task.needReview ? '是' : '否'}}</text>
  45. </view>
  46. <view class="info-item" wx:if="{{task.completedAt}}">
  47. <text class="info-label">完成时间</text>
  48. <text class="info-value">{{task.completedAt}}</text>
  49. </view>
  50. <view class="info-item" wx:if="{{task.reviewedAt}}">
  51. <text class="info-label">审核时间</text>
  52. <text class="info-value">{{task.reviewedAt}}</text>
  53. </view>
  54. </view>
  55. <!-- 完成区域 -->
  56. <view class="complete-section" wx:if="{{canComplete}}">
  57. <text class="section-title">完成证明</text>
  58. <view class="proof-upload">
  59. <view class="proof-item" bindtap="onChoosePhoto">
  60. <view class="proof-icon" wx:if="{{!photoUrl}}">📷</view>
  61. <image class="proof-image" wx:else src="{{photoUrl}}" mode="aspectFill"></image>
  62. <text class="proof-text">上传照片</text>
  63. </view>
  64. <view class="proof-item" bindtap="onChooseVoice">
  65. <view class="proof-icon" wx:if="{{!voiceUrl}}">🎤</view>
  66. <view class="proof-icon" wx:else>✅</view>
  67. <text class="proof-text">上传语音</text>
  68. </view>
  69. </view>
  70. <button class="complete-btn" bindtap="onCompleteTask">完成任务</button>
  71. </view>
  72. <!-- 审核区域 -->
  73. <view class="review-section" wx:if="{{canReview}}">
  74. <text class="section-title">任务审核</text>
  75. <view class="review-buttons">
  76. <button class="review-btn pass" bindtap="onReviewPass">通过</button>
  77. <button class="review-btn reject" bindtap="onReviewReject">拒绝</button>
  78. </view>
  79. </view>
  80. <!-- 任务状态提示 -->
  81. <view class="status-tip" wx:if="{{task.status === 'completed' && !task.needReview}}">
  82. <text class="tip-icon">✅</text>
  83. <text class="tip-text">任务已完成,无需审核</text>
  84. </view>
  85. <view class="status-tip" wx:if="{{task.status === 'completed' && task.needReview && !canReview}}">
  86. <text class="tip-icon">⏳</text>
  87. <text class="tip-text">任务已完成,等待审核</text>
  88. </view>
  89. </view>
  90. </view>