需求:点击 放款本金 进入 放款订单 页面,并携带当前表格的日期到即将跳转到的页面

背景:使用 element ui 的框架
需求1:货币过滤器

  filters: {famt: function(num) {if (!num) return "¥0.00";let sign = "";let cents = "";num = num.toString().replace(/\$|\,/g, "");if (isNaN(num)) num = "0";sign = num == (num = Math.abs(num));num = Math.floor(num * 100 + 0.50000000001);cents = num % 100;num = Math.floor(num / 100).toString();if (cents < 10) cents = "0" + cents;for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)num =num.substring(0, num.length - (4 * i + 3)) +"," +num.substring(num.length - (4 * i + 3));return "¥" + (sign ? "" : "-") + num + "." + cents;}}

使用时

<el-table-column label="放款本金(元)" align="center" prop="principalAmount" min-width="60"><template slot-scope="scope"><span class="btnName" @click="toLoanOrder(scope.row.currentDate)">{{ scope.row.principalAmount |famt}}</span></template>
</el-table-column>

当项目中过滤器使用较多时,可以考虑将其注册为全局的过滤器
参考 https://www.cnblogs.com/xiterjia/p/6701324.html

上面的方法是在单个组件里面注册过滤器的,下面我们可以将其变为全局的过滤器

  • 首先,我们可以建立一个filters文件夹,在文件夹里面建立一个money.js的文件
  • money.js文件夹里面写我们的过滤器函数
  • main.js里面引入我们的过滤器
  • 在页面直接使用即可

    money.js

    main.js

    在页面中直接使用

需求2:点击进入放款页面,并携带表格日期

    //跳转到放款订单页面toLoanOrder(date) {this.$router.push({ path: "/LoanOrder", query: { date } });},

可以看到,点击过来的时候携带了日期,并且在时间选择器的ui组件上展示出来了

接下来,就是放款订单页面的代码了,一般我们在进入一个页面的时候,都会向后台发送一个请求,来请求最新的数据,这个时候我么就需要把传递过来的日期作为参数向后台发送过去

       getList() {var param={pageIndex: this.currentPage,pageSize: this.size};// 判断数据是否从数据页面过来的if(this.$route.query.date){var timeStr = this.$route.query.date;this.date = [timeStr + " 00:00:00", timeStr + " 23:59:59"];}//判断状态this.getTime();if(this.date1){param.startTime=this.date1;}if(this.date2){param.endTime=this.date2;}post('/manager/v1/loan/getLendingOrderList',param).then((response) => {this.landOrderList = response.data.data?response.data.data:[];this.total = response.data.totalCount;this.size = response.data.pageSize;})},

this.getTime()函数之前,我们获取到的日期是这样的

我们需要将其转换为标准的日期格式,和lelemet ui 的时间格式相同,于是就用到了下面这个日期转换函数

        getTime() {let starttime = '';let endtime = '';let time = this.date;if(time){if(!time[0] == '') {starttime = this.moment(time[0]).utc().format('YYYY-MM-DD[T]HH:mm:ss[Z]');}if(!time[1] == '') {endtime = this.moment(time[1]).utc().format('YYYY-MM-DD[T]HH:mm:ss[Z]');}if(starttime == "Invalid date"){starttime="";};if(endtime == "Invalid date"){endtime="";};}this.date1 = starttimethis.date2 = endtime},

而当我们点击页面的搜索框的时候,可以重写一个这样的请求,在一开始的时候就调用这个时间转换器

      search(formInline){this.getTime()let para = {pageIndex: this.currentPage,pageSize: this.size}if(!this.date1 == '') {para.startTime = this.date1}if(!this.date2 == '') {para.endTime = this.date2}post('/manager/v1/loan/getLendingOrderList',para).then((response) => {this.landOrderList = response.data.data?response.data.data:[];this.total = response.data.totalCount;this.size = response.data.pageSize;})},

vue货币过滤器以及路由参数的使用相关推荐

  1. vue+filter过滤器(多参数)传参 - 代码篇

    vue+filter过滤器(多参数)传参 - 代码篇 传1个参数 //html {{a1 | filterAa}} //js filters:{filterAa(a1){// a1是传入的参数} } ...

  2. 055——VUE中vue-router之路由参数的随意设置与伪静态链接地址处理:

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  3. Vue两个取路由参数的方法

    a.通过在路由上添加key/value串使用this.$route.query来取参数,例如: /router1?id=123 /router1?id=456 通过this.$route.query. ...

  4. 若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

    前言 因为是在vue源码的基础上进行修改,所以,就没有复制代码在文章上,采取的是截图对比源码和我修改的代码片段.要麻烦你们自己手敲了. 先来看看效果: 场景:在费用配置列表中,点击每一项的配置,都会在 ...

  5. vue 路由参数变化,页面不刷新,provide /inject 完美解决方案

    此方法使用的是v-if来控制router-view的显示或隐藏,v-if从false变为true时,vue会重新渲染router-view区域,所以当参数变化时,只需让v-if 从true => ...

  6. vue 动态修改路由参数

    转载自  vue 动态修改路由参数 import merge from 'webpack-merge':修改原有参数 this.$router.push({query:merge(this.$rout ...

  7. vue路由参数改变,组件数据没重新更新问题

    最近一段时间在用vue做项目,遇到一个很纠结的问题,本来是两个页面样式结构相似,就是数据不同,所以在router里面配置了一个id参数,发现vue路由参数改变,组件数据没重新更新,查了一下官方文档,发 ...

  8. 【vue】Vue路由获取路由参数

    vue路由设置路由参数有2种方式: 1.通过query配置: <router-link :to="{ name:'login',query:{id:1} }">登录&l ...

  9. Vue 跳转相同路由携带不同参数,而页面不刷新

    由于组件是复用的,若要对路由参数的变化作出响应的话,就需要在此组件上使用 watch(监测变化) $route 对象 created() {this.listQuery.code = this.$ro ...

最新文章

  1. 2020年五大云计算预测
  2. 计算机维修工国家职业标准,计算机维修工国家职业标准.pdf
  3. 从业务视角看交互设计师的价值
  4. 天玥运维安全网关默认密码_Soul网关发布全新架构V2.2.0,让高性能网关变得如此简单
  5. OpenCASCADE:使用扩展数据交换 XDE之颜色和图层
  6. python 过滤相似图片_求教 python 网站爬虫过滤出图片 url 的问题
  7. 百度地图之添加覆盖物
  8. java矩阵类_151-矩阵类
  9. Tomcat类加载器为何违背双亲委派模型
  10. 2017.9.25 社交网络 思考记录
  11. VirtualBox基础使用
  12. word转PDF(使用liberOffice插件)
  13. 简单的网页在线咨询代码
  14. python人机对战_人机对战初体验:Python实现四子棋游戏
  15. 如何批量设置 Word 文档的只读密码?
  16. 各省市大学 全国各个省市重点民办本专科大学
  17. 用互联网大脑模型分析滴滴的战略意图和战术失误
  18. VGA PCB布局布线要点
  19. Android CoordinatorLayout自定义Behavior实现依赖滚动布局
  20. 【成长篇】选择一定很重要

热门文章

  1. 单链表的逆转:(头尾互换)
  2. GBase 8s部署SDS集群
  3. 世界首富用 AI 开除混吃混喝的“兄弟”
  4. 6-23 sdust-Java-可实现多种排序的Book类 (20 分)
  5. 工程伦理--4.2 划界法
  6. 数学建模:回归分析——regress 函数
  7. OneDrive登录问题
  8. 基于百度AI平台的植物识别系统 新手适用!!
  9. 大数据、物联网、云计算
  10. 快应用是什么软件?快应用有什么用?