task-list.wxml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <!--pages/task-list/task-list.wxml-->
  2. <view class="container">
  3. <!-- 筛选栏 -->
  4. <view class="filter-bar">
  5. <view class="date-filter">
  6. <view
  7. class="filter-item {{dateType === 'today' ? 'active' : ''}}"
  8. data-type="today"
  9. bindtap="onDateTypeChange"
  10. >今日</view>
  11. <view
  12. class="filter-item {{dateType === 'week' ? 'active' : ''}}"
  13. data-type="week"
  14. bindtap="onDateTypeChange"
  15. >本周</view>
  16. <view
  17. class="filter-item {{dateType === 'month' ? 'active' : ''}}"
  18. data-type="month"
  19. bindtap="onDateTypeChange"
  20. >本月</view>
  21. </view>
  22. <view class="status-filter">
  23. <view
  24. class="filter-item {{statusFilter === 'all' ? 'active' : ''}}"
  25. data-status="all"
  26. bindtap="onStatusFilterChange"
  27. >全部</view>
  28. <view
  29. class="filter-item {{statusFilter === 'pending' ? 'active' : ''}}"
  30. data-status="pending"
  31. bindtap="onStatusFilterChange"
  32. >进行中</view>
  33. <view
  34. class="filter-item {{statusFilter === 'completed' ? 'active' : ''}}"
  35. data-status="completed"
  36. bindtap="onStatusFilterChange"
  37. >已完成</view>
  38. <view
  39. class="filter-item {{statusFilter === 'overdue' ? 'active' : ''}}"
  40. data-status="overdue"
  41. bindtap="onStatusFilterChange"
  42. >已逾期</view>
  43. </view>
  44. </view>
  45. <!-- 任务列表 -->
  46. <view class="task-list">
  47. <block wx:if="{{filteredTasks.length > 0}}">
  48. <view
  49. class="task-item {{item.status}}"
  50. wx:for="{{filteredTasks}}"
  51. wx:key="id"
  52. data-id="{{item.id}}"
  53. bindtap="onTaskTap"
  54. >
  55. <view class="task-status-indicator">
  56. <view class="status-dot {{item.status}}"></view>
  57. </view>
  58. <view class="task-content">
  59. <view class="task-header">
  60. <text class="task-title">{{item.title}}</text>
  61. <text class="task-points">+{{item.points}}分</text>
  62. </view>
  63. <text class="task-desc">{{item.description}}</text>
  64. <view class="task-footer">
  65. <text class="task-category">{{item.category}}</text>
  66. <text class="task-deadline">截止: {{item.deadline}}</text>
  67. <text class="task-review" wx:if="{{item.needReview}}">需要审核</text>
  68. </view>
  69. </view>
  70. <view class="task-arrow">
  71. <text class="arrow-icon">></text>
  72. </view>
  73. </view>
  74. </block>
  75. <!-- 空状态 -->
  76. <view class="empty-state" wx:else>
  77. <image class="empty-icon" src="/images/empty-task.svg" mode="aspectFit"></image>
  78. <text class="empty-text">暂无任务</text>
  79. <text class="empty-desc">点击下方按钮创建第一个任务</text>
  80. </view>
  81. </view>
  82. <!-- 加载状态 -->
  83. <view class="loading-state" wx:if="{{loading}}">
  84. <text>加载中...</text>
  85. </view>
  86. <!-- 创建任务按钮 -->
  87. <view class="create-btn" bindtap="onCreateTask">
  88. <text class="create-icon">+</text>
  89. <text class="create-text">创建任务</text>
  90. </view>
  91. </view>