# 开票历史功能

## 功能说明

在发票页面添加了"开票历史"标签页，用户可以查看历史开票记录，包括开票状态、课程数量、开票金额等信息。

## 功能特性

### 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. **通知功能**: 可以添加开票完成的通知提醒
