当前位置:首页 > 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部分实现数据获取逻辑:

<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>

后端接口规范

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

{
  "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'
  }
}

筛选功能实现

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

vue实现充值记录

<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 公共列表组件 公共列表组件通常用于展示重复结构的数据,例如商品列表、用户列表等。以下是一个典型的实现方式: 基础实现 创建可复用的列表组件 List.vue: <templat…

vue datepicker 实现

vue datepicker 实现

实现 Vue Datepicker 的基本方法 在 Vue 项目中实现日期选择功能,可以使用第三方库如 vue-datepicker 或 v-calendar。以下是两种常见实现方式: 安装 vue…

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动渲…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue 实现音乐

vue 实现音乐

Vue 实现音乐播放功能 在 Vue 中实现音乐播放功能,可以通过 HTML5 的 <audio> 元素或第三方库如 howler.js 来实现。以下是两种方法的详细步骤: 使用 HTM…

vue框架实现

vue框架实现

Vue 框架实现方法 Vue 是一个渐进式 JavaScript 框架,适用于构建用户界面。以下是一些核心实现方法,涵盖基本使用、组件化、状态管理和优化技巧。 基本项目搭建 使用 Vue CLI…