init
项目初始化
This commit is contained in:
95
pages/plan-submit/plan-submit.wxml
Normal file
95
pages/plan-submit/plan-submit.wxml
Normal file
@@ -0,0 +1,95 @@
|
||||
<view class="page">
|
||||
|
||||
|
||||
<view class="head">
|
||||
<view class="head-title">{{typeLabel}}<text wx:if="{{groupName}}"> · {{groupName}}</text> · {{periodKey}}</view>
|
||||
<view class="head-sub" wx:if="{{message}}">{{message}}</view>
|
||||
</view>
|
||||
|
||||
<scroll-view class="form-scroll" scroll-y>
|
||||
<block wx:if="{{loading}}">
|
||||
<view class="card skeleton-card">
|
||||
<view class="sk sk-line w-90"></view>
|
||||
<view class="sk sk-line w-80"></view>
|
||||
<view class="sk sk-line w-100"></view>
|
||||
<view class="sk-block"></view>
|
||||
<view class="sk-block"></view>
|
||||
</view>
|
||||
<view class="card skeleton-card">
|
||||
<view class="sk sk-line w-60"></view>
|
||||
<view class="sk-block"></view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:elif="{{loadError}}">
|
||||
<view class="error-card">
|
||||
<view class="error-icon">!</view>
|
||||
<view class="error-text">{{loadError}}</view>
|
||||
<button class="btn-retry btn-primary" hover-class="btn-hover" bindtap="onRetry">重新加载</button>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:else>
|
||||
<view class="readonly-tip" wx:if="{{!canSubmit}}">{{message || '当前周期不可提交,仅可查看'}}</view>
|
||||
|
||||
<view class="card">
|
||||
<textarea
|
||||
class="content {{canSubmit ? '' : 'readonly'}}"
|
||||
placeholder="写下计划内容"
|
||||
value="{{content}}"
|
||||
bindinput="onContentInput"
|
||||
maxlength="1000"
|
||||
disabled="{{!canSubmit}}"
|
||||
></textarea>
|
||||
<view class="char-count">{{content.length}}/1000</view>
|
||||
|
||||
<view class="upload-section">
|
||||
<button
|
||||
class="upload-btn"
|
||||
bindtap="chooseImages"
|
||||
hover-class="btn-hover"
|
||||
disabled="{{canSubmit === false || uploading || attachments.length >= 4}}"
|
||||
>+ {{uploading ? '上传中...' : '添加图片(' + attachments.length + '/4)'}}</button>
|
||||
<view class="thumb-grid" wx:if="{{attachments.length}}">
|
||||
<view class="thumb-item" wx:for="{{attachments}}" wx:key="*this">
|
||||
<image class="thumb" src="{{attachmentThumbs[index]}}" mode="aspectFill" data-index="{{index}}" bindtap="previewImage"></image>
|
||||
<view class="thumb-del" data-index="{{index}}" catchtap="removeImage">×</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<button
|
||||
class="btn-primary btn-save"
|
||||
bindtap="submit"
|
||||
hover-class="btn-hover"
|
||||
loading="{{submitting}}"
|
||||
disabled="{{submitting || !canSubmit}}"
|
||||
>{{!canSubmit ? '不可提交' : (checked ? '保存修改' : '保存计划')}}</button>
|
||||
<view class="save-hint" wx:if="{{canSubmit && checked}}">保存将覆盖本周期已提交的计划</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{planType !== 'weekly'}}">
|
||||
<view class="section-title">历史计划</view>
|
||||
<view class="card history-card" wx:for="{{history}}" wx:key="id" wx:for-item="his">
|
||||
<view class="history-head">{{his.period_key}} · <text class="{{his.status === '未完成' ? 'pending' : ''}}">{{his.status}}</text></view>
|
||||
<view class="content-text" wx:if="{{his.content}}">{{his.content}}</view>
|
||||
<view class="history-thumbs" wx:if="{{his.thumbSrcs.length}}">
|
||||
<image
|
||||
wx:for="{{his.thumbSrcs}}"
|
||||
wx:for-item="thumbSrc"
|
||||
wx:for-index="imgIndex"
|
||||
wx:key="*this"
|
||||
class="history-thumb"
|
||||
src="{{thumbSrc}}"
|
||||
mode="aspectFill"
|
||||
data-id="{{his.id}}"
|
||||
data-index="{{imgIndex}}"
|
||||
bindtap="previewHistoryImage"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="empty" wx:if="{{history.length === 0}}">暂无历史计划</view>
|
||||
</block>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
Reference in New Issue
Block a user