115 lines
4.5 KiB
Plaintext
115 lines
4.5 KiB
Plaintext
<!-- 数据详细信息 -->
|
|
<view class="container">
|
|
<!-- 时间范围选择 -->
|
|
<view class="card card-filter">
|
|
<view class="mode-tabs">
|
|
<view class="mode-tab {{viewMode === 'month' ? 'mode-tab--active' : ''}}" bindtap="onSwitchMode" data-mode="month">按月</view>
|
|
<view class="mode-tab {{viewMode === 'year' ? 'mode-tab--active' : ''}}" bindtap="onSwitchMode" data-mode="year">按年</view>
|
|
<view class="mode-tab {{viewMode === 'custom' ? 'mode-tab--active' : ''}}" bindtap="onSwitchMode" data-mode="custom">自定义</view>
|
|
</view>
|
|
|
|
<view wx:if="{{viewMode === 'month'}}" class="filter-row">
|
|
<picker mode="date" fields="month" value="{{filterMonth}}" bindchange="onMonthChange">
|
|
<view class="picker-display">
|
|
<text>{{filterMonth}}</text>
|
|
<text class="picker-arrow">▼</text>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
|
|
<view wx:if="{{viewMode === 'year'}}" class="filter-row">
|
|
<picker mode="date" fields="year" value="{{filterYear}}" bindchange="onYearChange">
|
|
<view class="picker-display">
|
|
<text>{{filterYear}}</text>
|
|
<text class="picker-arrow">▼</text>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
|
|
<view wx:if="{{viewMode === 'custom'}}" class="filter-row custom-range">
|
|
<picker mode="date" fields="month" value="{{customStart}}" bindchange="onCustomStartChange">
|
|
<view class="picker-display picker-display--sm">
|
|
<text class="picker-label-sm">从</text>
|
|
<text>{{customStart}}</text>
|
|
</view>
|
|
</picker>
|
|
<text class="range-sep">至</text>
|
|
<picker mode="date" fields="month" value="{{customEnd}}" bindchange="onCustomEndChange">
|
|
<view class="picker-display picker-display--sm">
|
|
<text>{{customEnd}}</text>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 数据表格 -->
|
|
<view class="card card-table" wx:if="{{tableData.length > 0}}">
|
|
<view class="card-title">数据明细(共{{tableData.length}}条)</view>
|
|
<scroll-view scroll-x="{{true}}" enable-flex class="table-scroll">
|
|
<view class="table" style="min-width: {{items.length * 130 + 260}}rpx;">
|
|
<!-- 表头 -->
|
|
<view class="table-row table-row--head">
|
|
<view class="table-cell table-cell--date">日期</view>
|
|
<block wx:for="{{items}}" wx:key="*this">
|
|
<view class="table-cell">{{item}}</view>
|
|
</block>
|
|
<view class="table-cell table-cell--action">删除</view>
|
|
<view class="table-cell table-cell--action">修改</view>
|
|
</view>
|
|
<!-- 数据行 -->
|
|
<view class="table-row" wx:for="{{tableData}}" wx:key="rowKey">
|
|
<view class="table-cell table-cell--date">{{item.rowKey}}</view>
|
|
<block wx:for="{{items}}" wx:key="*this" wx:for-item="fi" wx:for-index="fidx">
|
|
<view class="table-cell table-cell--value">
|
|
<text wx:if="{{item.values[fidx] !== undefined}}">{{item.values[fidx]}}</text>
|
|
<text wx:else class="table-empty">-</text>
|
|
</view>
|
|
</block>
|
|
<view class="table-cell table-cell--action">
|
|
<text class="btn-del-text" bindtap="onDeleteRow" data-date="{{item.rowKey}}">删除</text>
|
|
</view>
|
|
<view class="table-cell table-cell--action">
|
|
<text class="btn-edit-text" bindtap="onEditRow" data-date="{{item.rowKey}}">修改</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
|
|
<view class="card" wx:else>
|
|
<view class="empty-hint">该时间范围内暂无数据</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- ==== 修改弹窗 ==== -->
|
|
<view wx:if="{{showEditModal}}" class="modal-wrap" catchtap="cancelEdit">
|
|
<view class="modal-box" catchtap="">
|
|
<view class="modal-title">修改记录</view>
|
|
<view class="modal-date">日期:{{editingDate}}</view>
|
|
|
|
<!-- 各项目数据 -->
|
|
<scroll-view scroll-y="{{true}}" class="modal-scroll">
|
|
<view class="modal-row" wx:for="{{items}}" wx:key="*this">
|
|
<view class="modal-row-label">
|
|
<text>{{item}}</text>
|
|
</view>
|
|
<view class="modal-row-input">
|
|
<input
|
|
class="modal-input"
|
|
type="digit"
|
|
placeholder="无数据"
|
|
value="{{editValues[item] || ''}}"
|
|
data-item="{{item}}"
|
|
bindinput="onEditValueInput"
|
|
/>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
|
|
<view class="btn-row">
|
|
<button class="btn-cancel" bindtap="cancelEdit">取消</button>
|
|
<button class="btn-save" bindtap="saveEdit">保存</button>
|
|
</view>
|
|
</view>
|
|
</view>
|