filter.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /**
  2. * 公共方法的封装
  3. */
  4. import Vue from 'vue'
  5. // 性别
  6. Vue.filter("filterSex", function(val) {
  7. if(val == 1){
  8. return '男';
  9. }else if(val == 2){
  10. return '女';
  11. }else {
  12. return '未知';
  13. }
  14. });
  15. // 链接加时间戳
  16. Vue.filter("timestamp", function(link) {
  17. return link + '?t=' + new Date().getTime();
  18. });
  19. // 保留两位小数,自动补充零
  20. Vue.filter("filterToFixed", function(val) {
  21. var value=Math.round(parseFloat(val)*100)/100;
  22. if(!value){return '0'}
  23. var xsd=value.toString().split(".");
  24. if(xsd.length==1){
  25. value=value.toString()+".00";
  26. return value;
  27. }
  28. if(xsd.length>1){
  29. if(xsd[1].length<2){
  30. value=value.toString()+"0";
  31. }
  32. return value;
  33. }
  34. })
  35. // 订单状态
  36. Vue.filter("filterOrderState", function(val) {
  37. let orderList = ['待支付', '待发货', '待收货', '待评价', '己取消', '己退款', '己完成', '退款中','退款失败']
  38. return orderList[val]
  39. });
  40. // 结账方式
  41. Vue.filter("filterPayType", function(val) {
  42. let payTypeList = ['', '微信', '余额', '积分','农商行支付'];
  43. return payTypeList[val]
  44. });
  45. // 物流状态
  46. Vue.filter("filterDilevery", function(val) {
  47. let dileveryList = ['下单', '揽件', '运输中', '派件中', '签收', '退回', '拒签']
  48. return dileveryList[val]
  49. });
  50. // 退款状态
  51. Vue.filter("filterRefundState", function(val) {
  52. let rundStateList = ['申请中', '退款成功', '退款失败', '退款中']
  53. return rundStateList[val]
  54. });
  55. // 评分文字
  56. Vue.filter("rateText", function(val) {
  57. let rateList = ['很差', '差', '一般', '很好', '非常好']
  58. return rateList[val-1]
  59. });
  60. // 支持的物流方式
  61. Vue.filter("filterLogisticsType", function(val) {
  62. let logisticsType = ['邮寄', '自提', '同城配送']
  63. return logisticsType[val]
  64. });
  65. // js手机号码中间4位变星星
  66. Vue.filter("hidePhoneNumber", function(val) {
  67. return val.replace(/^(\d{3})\d{4}(\d{4})$/, "$1****$2");
  68. });
  69. // 保质期转换
  70. Vue.filter("filterPeriod", function(day) {
  71. if (!day) return;
  72.   const unitObj = {
  73.     年: 365,
  74.     月: 30,
  75.     日: 1
  76.   };
  77.   for (const key in unitObj) {
  78.     if (day % unitObj[key] === 0) {
  79.       return `${day / unitObj[key]}${key}`;
  80.     }
  81.   }
  82. });