167 lines
4.5 KiB
Plaintext
167 lines
4.5 KiB
Plaintext
<!--pages/main/journal-editor/index.wxml-->
|
|
<t-navbar title="编辑记录">
|
|
<text slot="left" bindtap="cancel">取消</text>
|
|
</t-navbar>
|
|
<scroll-view
|
|
class="container"
|
|
type="custom"
|
|
scroll-y
|
|
show-scrollbar="{{false}}"
|
|
scroll-into-view="{{intoView}}"
|
|
>
|
|
<view class="content">
|
|
<view wx:if="{{isLoading}}" class="loading">
|
|
<text>加载中...</text>
|
|
</view>
|
|
<block wx:else>
|
|
<view class="section">
|
|
<textarea
|
|
class="idea"
|
|
placeholder="这一刻的想法..."
|
|
model:value="{{idea}}"
|
|
/>
|
|
</view>
|
|
<view class="section time">
|
|
<text class="label">时间:</text>
|
|
<picker class="picker" mode="date" model:value="{{date}}">
|
|
<view class="picker">
|
|
{{date}}
|
|
</view>
|
|
</picker>
|
|
<picker class="picker" mode="time" model:value="{{time}}">
|
|
<view class="picker">
|
|
{{time}}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
<view class="section location">
|
|
<text class="label">位置:</text>
|
|
<text wx:if="{{location}}" bind:tap="chooseLocation">{{location.text}}</text>
|
|
<text wx:else bind:tap="chooseLocation">选择位置..</text>
|
|
</view>
|
|
<view class="section media">
|
|
<view class="gallery">
|
|
<!-- 现有附件 -->
|
|
<block wx:for="{{mediaList}}" wx:key="attachmentId">
|
|
<view class="item">
|
|
<!-- 图片 -->
|
|
<image
|
|
wx:if="{{item.type === mediaItemTypeEnum.IMAGE}}"
|
|
src="{{item.thumbURL}}"
|
|
class="thumbnail"
|
|
mode="aspectFill"
|
|
bindtap="preview"
|
|
data-index="{{index}}"
|
|
data-new-media="{{false}}"
|
|
></image>
|
|
<!-- 视频 -->
|
|
<view wx:if="{{item.type === mediaItemTypeEnum.VIDEO}}" class="video-container">
|
|
<image
|
|
src="{{item.thumbURL}}"
|
|
class="thumbnail"
|
|
mode="aspectFill"
|
|
bindtap="preview"
|
|
data-index="{{index}}"
|
|
data-new-media="{{false}}"
|
|
></image>
|
|
<t-icon class="play-icon" name="play" />
|
|
</view>
|
|
<!-- 删除 -->
|
|
<t-icon
|
|
class="delete"
|
|
name="close"
|
|
bindtap="deleteMedia"
|
|
data-index="{{index}}"
|
|
data-new-media="{{true}}"
|
|
/>
|
|
</view>
|
|
</block>
|
|
<!-- 新选择附件 -->
|
|
<block wx:for="{{newMediaList}}" wx:key="index">
|
|
<view class="item new-item">
|
|
<!-- 图片 -->
|
|
<image
|
|
wx:if="{{item.type === mediaItemTypeEnum.IMAGE}}"
|
|
src="{{item.path}}"
|
|
class="thumbnail"
|
|
mode="aspectFill"
|
|
bindtap="preview"
|
|
data-index="{{index}}"
|
|
data-new-media="{{true}}"
|
|
></image>
|
|
<!-- 视频 -->
|
|
<view wx:if="{{item.type === mediaItemTypeEnum.VIDEO}}" class="video-container">
|
|
<image
|
|
src="{{item.thumbPath}}"
|
|
class="thumbnail"
|
|
mode="aspectFill"
|
|
bindtap="preview"
|
|
data-index="{{index}}"
|
|
data-new-media="{{true}}"
|
|
></image>
|
|
<t-icon class="play-icon" name="play" />
|
|
</view>
|
|
<!-- 新增标识 -->
|
|
<t-icon class="new-badge" name="add" />
|
|
<!-- 删除 -->
|
|
<t-icon
|
|
class="delete"
|
|
name="close"
|
|
bindtap="deleteMedia"
|
|
data-index="{{index}}"
|
|
data-new-media="{{true}}"
|
|
/>
|
|
</view>
|
|
</block>
|
|
<t-button
|
|
class="item add"
|
|
theme="primary"
|
|
plain="true"
|
|
disabled="{{isSaving}}"
|
|
bind:tap="addMedia"
|
|
>
|
|
<t-icon name="add" />
|
|
</t-button>
|
|
</view>
|
|
</view>
|
|
<progress
|
|
wx:if="{{isSaving}}"
|
|
class="progress"
|
|
percent="{{saveProgress.toFixed(2) * 100}}"
|
|
show-info
|
|
stroke-width="4"
|
|
/>
|
|
<view class="ctrl">
|
|
<t-button class="delete" theme="danger" bind:tap="deleteJournal" disabled="{{isSaving}}">删除记录</t-button>
|
|
<t-button
|
|
class="save"
|
|
theme="primary"
|
|
bind:tap="save"
|
|
disabled="{{(!idea && mediaList.length === 0 && newMediaList.length === 0) || isSaving}}"
|
|
>{{saveText}}</t-button>
|
|
</view>
|
|
</block>
|
|
</view>
|
|
</scroll-view>
|
|
<t-dialog
|
|
visible="{{deleteDialogVisible}}"
|
|
title="删除记录"
|
|
confirm-btn="{{ {content: '删除', variant: 'text', theme: 'danger'} }}"
|
|
cancel-btn="取消"
|
|
bind:confirm="confirmDelete"
|
|
bind:cancel="cancelDelete"
|
|
>
|
|
<view slot="content" class="delete-dialog">
|
|
<view class="tips">
|
|
<text>此记录的照片和视频也会同步删除,删除后无法恢复,请输入 "</text>
|
|
<text style="color: var(--theme-error)">确认删除</text>
|
|
<text>" 以继续</text>
|
|
</view>
|
|
<t-input
|
|
class="confirm-input"
|
|
model:value="{{deleteConfirmText}}"
|
|
placeholder="请输入:确认删除"
|
|
/>
|
|
</view>
|
|
</t-dialog>
|