当前位置:首页 > VUE

vue实现充值记录

2026-02-19 07:33:40VUE

实现充值记录功能

在Vue中实现充值记录功能需要结合前端页面展示和后端数据交互。以下是具体实现方法:

页面结构设计

使用Vue单文件组件构建充值记录页面:

<template>
  <div class="recharge-record">
    <h3>充值记录</h3>
    <el-table :data="records" style="width: 100%">
      <el-table-column prop="orderId" label="订单号"></el-table-column>
      <el-table-column prop="amount" label="金额"></el-table-column>
      <el-table-column prop="createTime" label="充值时间"></el-table-column>
      <el-table-column prop="status" label="状态"></el-table-column>
    </el-table>
    <el-pagination
      @current-change="handlePageChange"
      :current-page="pagination.current"
      :page-size="pagination.size"
      :total="pagination.total">
    </el-pagination>
  </div>
</template>

数据获取与处理

在script部分实现数据获取逻辑:

vue实现充值记录

<script>
export default {
  data() {
    return {
      records: [],
      pagination: {
        current: 1,
        size: 10,
        total: 0
      }
    }
  },
  created() {
    this.fetchRecords()
  },
  methods: {
    async fetchRecords() {
      try {
        const res = await this.$http.get('/api/recharge/records', {
          params: {
            page: this.pagination.current,
            size: this.pagination.size
          }
        })
        this.records = res.data.list
        this.pagination.total = res.data.total
      } catch (error) {
        this.$message.error('获取充值记录失败')
      }
    },
    handlePageChange(page) {
      this.pagination.current = page
      this.fetchRecords()
    }
  }
}
</script>

样式优化

添加CSS样式美化界面:

<style scoped>
.recharge-record {
  padding: 20px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
}
.el-pagination {
  margin-top: 20px;
  text-align: right;
}
</style>

后端接口规范

后端接口应返回以下格式数据:

vue实现充值记录

{
  "code": 200,
  "data": {
    "list": [
      {
        "orderId": "20230601123456",
        "amount": 100.00,
        "createTime": "2023-06-01 12:34:56",
        "status": "已完成"
      }
    ],
    "total": 15
  }
}

状态显示优化

可使用标签显示不同状态:

<el-table-column prop="status" label="状态">
  <template slot-scope="scope">
    <el-tag :type="getStatusType(scope.row.status)">
      {{ scope.row.status }}
    </el-tag>
  </template>
</el-table-column>

对应方法:

methods: {
  getStatusType(status) {
    const map = {
      '已完成': 'success',
      '处理中': 'warning',
      '已取消': 'danger'
    }
    return map[status] || 'info'
  }
}

筛选功能实现

添加时间筛选和状态筛选:

<el-form :inline="true" :model="queryParams">
  <el-form-item label="日期范围">
    <el-date-picker
      v-model="queryParams.dateRange"
      type="daterange"
      range-separator="至"
      start-placeholder="开始日期"
      end-placeholder="结束日期">
    </el-date-picker>
  </el-form-item>
  <el-form-item label="状态">
    <el-select v-model="queryParams.status" placeholder="请选择">
      <el-option label="全部" value=""></el-option>
      <el-option label="已完成" value="1"></el-option>
      <el-option label="处理中" value="2"></el-option>
    </el-select>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="handleSearch">查询</el-button>
  </el-form-item>
</el-form>

标签: 充值vue
分享给朋友:

相关文章

vue原型实现

vue原型实现

Vue 原型实现的关键点 Vue.js 的原型系统是其响应式机制的核心部分,通过原型链实现数据的动态绑定和依赖收集。以下是实现 Vue 原型的主要技术要点。 数据响应式原理 Vue 通过 Objec…

vue实现博客

vue实现博客

Vue 实现博客的基本步骤 使用 Vue.js 实现一个博客系统可以分为前端和后端两部分。以下是基于 Vue 的前端实现方案,后端可以选择 Node.js、Django 或其他框架。 项目初始化 使…

vue实现浮标

vue实现浮标

Vue 实现浮动按钮(浮标) 使用 Vue 实现浮动按钮可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 定位和 Vue 组件 创建 Vue 组件并配合 CSS 固定定位实现浮动按钮:…

vue实现ide

vue实现ide

Vue 实现 IDE 的基本思路 使用 Vue 构建一个简易的集成开发环境(IDE)需要整合代码编辑器、文件管理、终端模拟等功能。以下是关键实现步骤和推荐工具。 核心功能模块 代码编辑器 使用…

vue实现增删

vue实现增删

Vue 实现增删功能 在 Vue 中实现增删功能通常涉及数据绑定、事件处理和列表渲染。以下是基于 Vue 2 或 Vue 3 的实现方法: 数据定义 初始化一个数组用于存储列表数据,并在 Vue 实…

vue实现CRUD

vue实现CRUD

Vue 实现 CRUD 操作 Vue 提供了响应式数据绑定和组件化开发能力,结合后端 API 可以轻松实现 CRUD(增删改查)功能。以下是基于 Vue 3 和 Axios 的完整实现方案。 安装…