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

4.7 KiB
Raw Permalink Blame History

开票历史功能

功能说明

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

功能特性

1. 标签页切换

  • 待开发票: 显示可选择的课程列表,支持批量选择和开票
  • 开票历史: 显示历史开票记录,包含详细的开票信息

2. 开票历史记录

  • 日期显示: 显示开票日期2021年6月11日
  • 课程数量: 显示该次开票包含的课程数量共计3个课程
  • 开票状态: 显示开票的当前状态
  • 开票金额: 显示开票的金额信息

3. 开票状态类型

  • 已开票: 绿色显示,表示开票成功
  • 开票失败: 红色显示,表示开票失败
  • 开票中: 蓝色显示,表示正在处理中

页面结构

1. 标签页导航

<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. 历史记录项

<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. 历史记录数据

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. 条件渲染

<view v-if="activeTab === 'pending'" class="pending-content">
  <!-- 待开发票内容 -->
</view>
<view v-if="activeTab === 'history'" class="history-content">
  <!-- 开票历史内容 -->
</view>

2. 数据绑定

  • 使用Vue的响应式数据绑定
  • 支持动态数据更新
  • 状态切换实时响应

3. 事件处理

viewHistoryDetail(item) {
  console.log('查看开票历史详情:', item)
  uni.showToast({
    title: `查看${item.statusText}详情`,
    icon: 'none'
  })
}

后续优化建议

  1. 详情页面: 可以添加开票历史详情页面
  2. 状态筛选: 可以添加按状态筛选历史记录
  3. 时间筛选: 可以添加按时间范围筛选
  4. 搜索功能: 可以添加搜索特定开票记录
  5. 导出功能: 可以添加导出开票历史记录
  6. 分页加载: 可以添加分页加载更多历史记录
  7. 实时更新: 可以添加开票状态的实时更新
  8. 通知功能: 可以添加开票完成的通知提醒