task-create.wxml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <!--pages/task-create/task-create.wxml-->
  2. <view class="container">
  3. <form bindsubmit="onSubmit">
  4. <!-- 任务标题 -->
  5. <view class="form-item">
  6. <text class="form-label">任务标题 <text class="required">*</text></text>
  7. <input
  8. class="form-input"
  9. placeholder="请输入任务标题(最多20字)"
  10. maxlength="20"
  11. value="{{title}}"
  12. bindinput="onTitleInput"
  13. />
  14. </view>
  15. <!-- 任务描述 -->
  16. <view class="form-item">
  17. <text class="form-label">任务描述</text>
  18. <textarea
  19. class="form-textarea"
  20. placeholder="请输入任务描述(最多200字)"
  21. maxlength="200"
  22. value="{{description}}"
  23. bindinput="onDescriptionInput"
  24. />
  25. </view>
  26. <!-- 任务积分 -->
  27. <view class="form-item">
  28. <text class="form-label">任务积分 <text class="required">*</text></text>
  29. <view class="points-selector">
  30. <view class="points-options">
  31. <view
  32. class="points-option {{points === item ? 'active' : ''}}"
  33. wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}}"
  34. wx:key="*this"
  35. data-value="{{item}}"
  36. bindtap="onPointsChange"
  37. >{{item}}</view>
  38. </view>
  39. <text class="points-tip">选择1-10分,建议复杂任务设置更高积分</text>
  40. </view>
  41. </view>
  42. <!-- 截止时间 -->
  43. <view class="form-item">
  44. <text class="form-label">截止时间 <text class="required">*</text></text>
  45. <view class="datetime-picker">
  46. <picker mode="date" value="{{deadline}}" bindchange="onDeadlineChange">
  47. <view class="picker-value">{{deadline || '请选择日期'}}</view>
  48. </picker>
  49. <picker mode="time" value="{{deadlineTime}}" bindchange="onDeadlineTimeChange">
  50. <view class="picker-value">{{deadlineTime || '请选择时间'}}</view>
  51. </picker>
  52. </view>
  53. </view>
  54. <!-- 任务分类 -->
  55. <view class="form-item">
  56. <text class="form-label">任务分类</text>
  57. <picker mode="selector" range="{{categories}}" value="{{category}}" bindchange="onCategoryChange">
  58. <view class="picker-value">{{category}}</view>
  59. </picker>
  60. </view>
  61. <!-- 重复类型 -->
  62. <view class="form-item">
  63. <text class="form-label">重复类型</text>
  64. <view class="repeat-selector">
  65. <view
  66. class="repeat-option {{repeatType === item.value ? 'active' : ''}}"
  67. wx:for="{{repeatTypes}}"
  68. wx:key="value"
  69. data-value="{{item.value}}"
  70. bindtap="onRepeatTypeChange"
  71. >{{item.label}}</view>
  72. </view>
  73. </view>
  74. <!-- 需要审核 -->
  75. <view class="form-item">
  76. <text class="form-label">需要审核</text>
  77. <switch checked="{{needReview}}" bindchange="onNeedReviewChange" color="#FF6B6B"/>
  78. </view>
  79. <!-- 按分类审核 -->
  80. <view class="form-item sub-item" wx:if="{{needReview}}">
  81. <text class="form-label">按分类审核</text>
  82. <switch checked="{{reviewByCategory}}" bindchange="onReviewByCategoryChange" color="#FF6B6B"/>
  83. <text class="form-tip">开启后,只有指定分类的任务才需要审核</text>
  84. </view>
  85. <!-- 提交按钮 -->
  86. <view class="button-group">
  87. <button class="preview-btn" bindtap="onPreview" disabled="{{loading}}">预览</button>
  88. <button class="submit-btn" formType="submit" disabled="{{loading}}">
  89. {{loading ? '创建中...' : '创建任务'}}
  90. </button>
  91. </view>
  92. </form>
  93. </view>