uniapp-app/README_INVOICE_HISTORY.md
2025-08-25 14:17:06 +08:00

186 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开票历史功能
## 功能说明
在发票页面添加了"开票历史"标签页,用户可以查看历史开票记录,包括开票状态、课程数量、开票金额等信息。
## 功能特性
### 1. 标签页切换
- **待开发票**: 显示可选择的课程列表,支持批量选择和开票
- **开票历史**: 显示历史开票记录,包含详细的开票信息
### 2. 开票历史记录
- **日期显示**: 显示开票日期2021年6月11日
- **课程数量**: 显示该次开票包含的课程数量共计3个课程
- **开票状态**: 显示开票的当前状态
- **开票金额**: 显示开票的金额信息
### 3. 开票状态类型
- **已开票**: 绿色显示,表示开票成功
- **开票失败**: 红色显示,表示开票失败
- **开票中**: 蓝色显示,表示正在处理中
## 页面结构
### 1. 标签页导航
```vue
<view class="tabs">
<view class="tab-item" :class="{ active: activeTab === 'pending' }">
<text>待开发票</text>
</view>
<view class="tab-divider"></view>
<view class="tab-item" :class="{ active: activeTab === 'history' }">
<text>开票历史</text>
</view>
</view>
```
### 2. 内容区域
- **待开发票**: 显示课程列表和底部操作栏
- **开票历史**: 显示历史记录列表
### 3. 历史记录项
```vue
<view class="history-item" v-for="item in historyList">
<view class="history-left">
<text class="history-date">{{ item.date }}</text>
<text class="history-count">{{ item.courseCount }}</text>
</view>
<view class="history-right">
<text class="history-status">{{ item.statusText }}</text>
<view class="history-arrow"></view>
<text class="history-amount">{{ item.amount }}</text>
</view>
</view>
```
## 数据结构
### 1. 历史记录数据
```javascript
historyList: [
{
id: 1,
date: '2021年6月11日',
courseCount: '共计3个课程',
status: 'success',
statusText: '已开票',
amount: '¥0.00'
},
{
id: 2,
date: '2021年6月11日',
courseCount: '共计3个课程',
status: 'failed',
statusText: '开票失败',
amount: '¥0.00'
},
{
id: 3,
date: '2021年6月11日',
courseCount: '共计3个课程',
status: 'processing',
statusText: '开票中',
amount: '¥0.00'
}
]
```
### 2. 状态枚举
- `success`: 已开票(绿色)
- `failed`: 开票失败(红色)
- `processing`: 开票中(蓝色)
## 交互功能
### 1. 标签页切换
- 点击"待开发票"标签显示课程选择界面
- 点击"开票历史"标签显示历史记录界面
- 标签页之间有视觉分隔线
### 2. 历史记录查看
- 点击任意历史记录项可查看详情
- 显示相应的状态提示信息
- 支持后续扩展详情页面
### 3. 状态颜色区分
- 不同状态使用不同颜色显示
- 提供清晰的视觉反馈
- 符合用户认知习惯
## 样式设计
### 1. 历史记录项样式
- 浅灰色背景(#f8f8f8
- 圆角设计8rpx
- 卡片式布局,带有间距
- 底部边框分隔线
### 2. 状态颜色
- 成功状态:绿色(#52c41a
- 失败状态:红色(#ff4d4f
- 处理中状态:蓝色(#1890ff
- 默认状态:灰色(#666666
### 3. 布局特点
- 左右分布,信息清晰
- 响应式设计,适配不同屏幕
- 触摸友好的交互区域
## 使用方法
### 1. 查看开票历史
- 在发票页面点击"开票历史"标签
- 浏览历史开票记录
- 查看开票状态和详细信息
### 2. 切换标签页
- 点击"待开发票"返回课程选择界面
- 点击"开票历史"查看历史记录
- 标签页状态实时更新
### 3. 查看记录详情
- 点击任意历史记录项
- 系统显示相应的状态信息
- 支持后续功能扩展
## 技术实现
### 1. 条件渲染
```vue
<view v-if="activeTab === 'pending'" class="pending-content">
<!-- 待开发票内容 -->
</view>
<view v-if="activeTab === 'history'" class="history-content">
<!-- 开票历史内容 -->
</view>
```
### 2. 数据绑定
- 使用Vue的响应式数据绑定
- 支持动态数据更新
- 状态切换实时响应
### 3. 事件处理
```javascript
viewHistoryDetail(item) {
console.log('查看开票历史详情:', item)
uni.showToast({
title: `查看${item.statusText}详情`,
icon: 'none'
})
}
```
## 后续优化建议
1. **详情页面**: 可以添加开票历史详情页面
2. **状态筛选**: 可以添加按状态筛选历史记录
3. **时间筛选**: 可以添加按时间范围筛选
4. **搜索功能**: 可以添加搜索特定开票记录
5. **导出功能**: 可以添加导出开票历史记录
6. **分页加载**: 可以添加分页加载更多历史记录
7. **实时更新**: 可以添加开票状态的实时更新
8. **通知功能**: 可以添加开票完成的通知提醒