filter.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import Vue from 'vue'
  2. //保留两位小数
  3. Vue.filter('keepTwoNum',function(val){
  4. let value = Number(val)
  5. return value.toFixed(2)
  6. });
  7. //格式化数字三位加一逗号
  8. Vue.filter('NumFormat', function(value) {
  9. if(!value) return '';
  10. /*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1 */
  11. /*后来改成了 Number(value)|0,但是输入超过十一位就为负数了 */
  12. var intPart = Number(value) - Number(value)%1; //获取整数部分
  13. var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断
  14. return intPartFormat;
  15. });
  16. //链接加时间戳
  17. Vue.filter("timestamp", function(link) {
  18. return link + '?t=' + new Date().getTime();
  19. });
  20. //截取第一张照片且判断是否有图片,没有图片输入默认图片
  21. Vue.filter("firstImg",function(arr,sizeType,imgType){
  22. //图片类型判断
  23. if(arr){
  24. if(arr instanceof Array){
  25. img = arr[0]
  26. }else{
  27. img = arr.split(',')[0]
  28. }
  29. }else if(!arr){
  30. //如果没有图片则随机输出一张
  31. // if(imgType === 'farmer'){
  32. // const farmerList = ['carbon2/farmer/1.png','carbon2/farmer/2.png']
  33. // img = farmerList[Math.floor(Math.random() * farmerList.length)];
  34. // }
  35. // img = '/static/img/inbuild.png'
  36. }
  37. // return config.imgUrl + img;
  38. return img;
  39. });
  40. //七牛云压缩图片
  41. Vue.filter("miniImg",function(img,quality){
  42. return img+'?imageMogr2/quality/'+quality
  43. });
  44. //车辆类型
  45. Vue.filter("filterCarType",function(item){
  46. // console.log(item)
  47. item = Number(item);
  48. switch (item){
  49. case 0:
  50. return '小车'
  51. break;
  52. case 1:
  53. return '大车'
  54. break;
  55. case 2:
  56. return '超大型车'
  57. break;
  58. case 3:
  59. return '摩托车'
  60. break;
  61. case 4:
  62. return '非机动车'
  63. break;
  64. case 5:
  65. return '其他'
  66. break;
  67. default:
  68. return '其他'
  69. break;
  70. }
  71. });
  72. // 订单状态
  73. Vue.filter("filterOrderStatus",function(status){
  74. status = Number(status);
  75. switch (status){
  76. case 1:
  77. return '停放中'
  78. break;
  79. case 2:
  80. return '出场中'
  81. break;
  82. case 3:
  83. return '欠费'
  84. break;
  85. case 4:
  86. return '完成'
  87. break;
  88. default:
  89. return '未知'
  90. break;
  91. }
  92. });
  93. // 支付状态
  94. Vue.filter("filterPayStatus",function(status){
  95. status = Number(status);
  96. switch (status){
  97. case 0:
  98. return '未支付'
  99. break;
  100. case 1:
  101. return '已支付'
  102. break;
  103. case 2:
  104. return '支付中'
  105. break;
  106. case 3:
  107. return '支付失败'
  108. break;
  109. default:
  110. return '未知'
  111. break;
  112. }
  113. });