项目初始化
This commit is contained in:
王宏豪
2026-09-03 16:49:59 +08:00
commit d7fc8c8982
40 changed files with 2688 additions and 0 deletions

View 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>