当前位置:首页 > VUE

vue工资页面实现

2026-03-10 05:32:06VUE

Vue工资页面实现

数据绑定与展示

使用Vue的响应式数据绑定功能展示工资信息。在data中定义工资相关数据,如基本工资、奖金、扣款等,通过模板语法展示。

<template>
  <div>
    <h3>工资明细</h3>
    <p>基本工资: {{ baseSalary }}</p>
    <p>奖金: {{ bonus }}</p>
    <p>扣款: {{ deduction }}</p>
    <p>实发工资: {{ actualSalary }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      baseSalary: 8000,
      bonus: 2000,
      deduction: 500
    };
  },
  computed: {
    actualSalary() {
      return this.baseSalary + this.bonus - this.deduction;
    }
  }
};
</script>

表单输入与计算

添加表单输入功能,允许用户修改工资项。使用v-model实现双向绑定,实时计算实发工资。

<template>
  <div>
    <h3>工资计算器</h3>
    <label>基本工资: <input v-model.number="baseSalary" type="number"></label>
    <label>奖金: <input v-model.number="bonus" type="number"></label>
    <label>扣款: <input v-model.number="deduction" type="number"></label>
    <p>实发工资: {{ actualSalary }}</p>
  </div>
</template>

工资列表展示

如需展示多个月份工资,可使用v-for循环渲染列表,配合表格展示更清晰。

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>月份</th>
          <th>基本工资</th>
          <th>奖金</th>
          <th>扣款</th>
          <th>实发工资</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in salaryList" :key="index">
          <td>{{ item.month }}</td>
          <td>{{ item.baseSalary }}</td>
          <td>{{ item.bonus }}</td>
          <td>{{ item.deduction }}</td>
          <td>{{ item.baseSalary + item.bonus - item.deduction }}</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      salaryList: [
        { month: '2023-01', baseSalary: 8000, bonus: 2000, deduction: 500 },
        { month: '2023-02', baseSalary: 8000, bonus: 2500, deduction: 300 }
      ]
    };
  }
};
</script>

图表展示

使用Echarts等图表库可视化展示工资变化趋势,安装echarts后,在mounted钩子中初始化图表。

<template>
  <div>
    <div ref="chart" style="width: 600px; height: 400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';
export default {
  mounted() {
    const chart = echarts.init(this.$refs.chart);
    chart.setOption({
      xAxis: {
        type: 'category',
        data: this.salaryList.map(item => item.month)
      },
      yAxis: { type: 'value' },
      series: [{
        data: this.salaryList.map(item => item.baseSalary + item.bonus - item.deduction),
        type: 'line'
      }]
    });
  }
};
</script>

数据持久化

通过axios调用API获取工资数据,或使用localStorage实现本地存储。

<script>
import axios from 'axios';
export default {
  data() {
    return {
      salaryData: []
    };
  },
  async created() {
    const response = await axios.get('/api/salary');
    this.salaryData = response.data;
  }
};
</script>

组件化开发

将工资页面拆分为多个组件,如工资概要、明细列表、图表展示等,提高代码复用性和可维护性。

vue工资页面实现

<template>
  <div>
    <SalarySummary :data="summaryData" />
    <SalaryList :items="salaryItems" />
    <SalaryChart :data="chartData" />
  </div>
</template>

以上实现方式可根据实际需求调整,结合Vuex状态管理或Pinia处理复杂状态,使用路由实现多页面导航。样式部分可使用CSS预处理器或UI框架如Element UI快速搭建界面。

标签: 工资页面
分享给朋友:

相关文章

vue页面实现日历

vue页面实现日历

Vue 页面实现日历的方法 使用第三方组件库 推荐使用成熟的日历组件库,如 v-calendar 或 fullcalendar-vue,快速实现功能丰富的日历。 安装 v-calendar: np…

vue实现预约页面

vue实现预约页面

实现预约页面的基本结构 使用Vue CLI或Vite创建一个新项目,安装必要依赖如vue-router和axios。项目结构建议包含components文件夹存放可复用组件,views文件夹存放页面级…

vue如何实现默认页面

vue如何实现默认页面

Vue 实现默认页面的方法 在 Vue 项目中,通常需要设置一个默认页面(如首页或登录页)作为用户访问时的初始页面。可以通过路由配置实现。 配置路由默认跳转 在 Vue Router 中,使用 re…

uniapp前端页面

uniapp前端页面

Uniapp 前端页面开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端部署(H5、小程序、App等)。以下是开发 Uniapp 前端页面的关键方法和注意事项。…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

vue实现页面转换

vue实现页面转换

Vue 实现页面转换的方法 Vue 提供了多种方式实现页面转换,主要包括路由切换动画和组件过渡效果。以下是几种常见的实现方法: 使用 Vue Router 和过渡动画 通过 Vue 的 <tr…