Claw 项目完整结构提交
This commit is contained in:
128
Claw/client/wechat_app/pages/task/task.wxml
Normal file
128
Claw/client/wechat_app/pages/task/task.wxml
Normal file
@@ -0,0 +1,128 @@
|
||||
<!-- 任务页面 -->
|
||||
<view class="task-container">
|
||||
<!-- 任务创建区域 -->
|
||||
<view class="task-create">
|
||||
<view class="input-group">
|
||||
<text class="label">任务标题:</text>
|
||||
<input
|
||||
class="task-input"
|
||||
placeholder="请输入任务标题"
|
||||
value="{{taskTitle}}"
|
||||
bindinput="onTitleInput"
|
||||
maxlength="100"
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view class="input-group">
|
||||
<text class="label">任务描述:</text>
|
||||
<textarea
|
||||
class="task-textarea"
|
||||
placeholder="请输入任务描述"
|
||||
value="{{taskDescription}}"
|
||||
bindinput="onDescriptionInput"
|
||||
maxlength="500"
|
||||
auto-height
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view class="input-group">
|
||||
<text class="label">任务类型:</text>
|
||||
<picker
|
||||
bindchange="onTypeChange"
|
||||
value="{{taskTypeIndex}}"
|
||||
range="{{taskTypes}}"
|
||||
range-key="{{'name'}}"
|
||||
>
|
||||
<view class="picker">
|
||||
{{taskTypes[taskTypeIndex].name}}
|
||||
<text class="picker-arrow">▼</text>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<view class="input-group">
|
||||
<text class="label">优先级:</text>
|
||||
<picker
|
||||
bindchange="onPriorityChange"
|
||||
value="{{priorityIndex}}"
|
||||
range="{{priorities}}"
|
||||
range-key="{{'name'}}"
|
||||
>
|
||||
<view class="picker">
|
||||
{{priorities[priorityIndex].name}}
|
||||
<text class="picker-arrow">▼</text>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<button class="submit-btn" bindtap="submitTask" disabled="{{!canSubmit}}">
|
||||
提交任务
|
||||
</button>
|
||||
</view>
|
||||
|
||||
<!-- 任务列表 -->
|
||||
<view class="task-list">
|
||||
<view class="list-header">
|
||||
<text class="list-title">任务列表</text>
|
||||
<view class="filter-buttons">
|
||||
<button
|
||||
class="filter-btn {{filterStatus === 'all' ? 'active' : ''}}"
|
||||
bindtap="setFilter"
|
||||
data-status="all"
|
||||
>
|
||||
全部
|
||||
</button>
|
||||
<button
|
||||
class="filter-btn {{filterStatus === 'pending' ? 'active' : ''}}"
|
||||
bindtap="setFilter"
|
||||
data-status="pending"
|
||||
>
|
||||
待处理
|
||||
</button>
|
||||
<button
|
||||
class="filter-btn {{filterStatus === 'processing' ? 'active' : ''}}"
|
||||
bindtap="setFilter"
|
||||
data-status="processing"
|
||||
>
|
||||
处理中
|
||||
</button>
|
||||
<button
|
||||
class="filter-btn {{filterStatus === 'completed' ? 'active' : ''}}"
|
||||
bindtap="setFilter"
|
||||
data-status="completed"
|
||||
>
|
||||
已完成
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<scroll-view class="task-scroll" scroll-y="{{true}}">
|
||||
<view wx:if="{{tasks.length === 0}}" class="empty-state">
|
||||
<image src="/assets/images/empty-task.png" mode="aspectFit"></image>
|
||||
<text class="empty-text">暂无任务</text>
|
||||
</view>
|
||||
|
||||
<view wx:else>
|
||||
<task-card
|
||||
wx:for="{{filteredTasks}}"
|
||||
wx:key="id"
|
||||
taskId="{{item.id}}"
|
||||
title="{{item.title}}"
|
||||
description="{{item.description}}"
|
||||
type="{{item.type}}"
|
||||
status="{{item.status}}"
|
||||
priority="{{item.priority}}"
|
||||
createdAt="{{item.createdAt}}"
|
||||
updatedAt="{{item.updatedAt}}"
|
||||
result="{{item.result}}"
|
||||
progress="{{item.progress}}"
|
||||
bind:start="onStartTask"
|
||||
bind:complete="onCompleteTask"
|
||||
bind:retry="onRetryTask"
|
||||
bind:detail="onTaskDetail"
|
||||
bind:cancel="onCancelTask"
|
||||
/>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
Reference in New Issue
Block a user