index.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import Vue from 'vue'
  2. Vue.filter('PercentFormat',function (value) {
  3. if (value == null || value == undefined) {
  4. return '+0%';
  5. } else if (value < 0) {
  6. return value + '%';
  7. } else if (value == '+∞') {
  8. return value ;
  9. } else if (value == '-∞') {
  10. return value ;
  11. } else {
  12. return '+' + value + '%';
  13. }
  14. });
  15. Vue.filter('NumberFormat',function (value) {
  16. if (value == '***') {
  17. return '***';
  18. }
  19. if (isNaN(value)) {
  20. return 0;
  21. }
  22. let value1 = value.toString();
  23. if (value1.indexOf('-')>-1) {
  24. value1 = value1.split('-')[1];
  25. let num = value1.split('.');
  26. let interCount = num[0].length;
  27. if (interCount < 3) {
  28. return value;
  29. }
  30. let index = 0;
  31. let inter = '';
  32. for (let i = interCount - 3; i >= 0; i -= 3) {
  33. inter = num[0].substr(i, 3) + (inter == '' ? '' : ',') + inter;
  34. index = i;
  35. }
  36. if (index > 0) {
  37. inter = num[0].substr(0, index) + (inter == '' ? '' : ',') + inter;
  38. }
  39. return '-' + inter + (num.length == 1 ? '' : '.' + num[1]);
  40. } else {
  41. let num = value1.split('.');
  42. let interCount = num[0].length;
  43. if (interCount < 3) {
  44. return value;
  45. }
  46. let index = 0;
  47. let inter = '';
  48. for (let i = interCount - 3; i >= 0; i -= 3) {
  49. inter = num[0].substr(i, 3) + (inter == '' ? '' : ',') + inter;
  50. index = i;
  51. }
  52. if (index > 0) {
  53. inter = num[0].substr(0, index) + (inter == '' ? '' : ',') + inter;
  54. }
  55. return inter + (num.length == 1 ? '' : '.' + num[1]);
  56. }
  57. });
  58. Vue.filter('NumberFormat1',function (value) {
  59. if (value == '--') {
  60. return '--';
  61. }
  62. if (isNaN(value)) {
  63. return 0;
  64. }
  65. let num = value.toString().split('.');
  66. let interCount = num[0].length;
  67. if (interCount < 3) {
  68. return value;
  69. }
  70. let index = 0;
  71. let inter = '';
  72. for (let i = interCount - 3; i >= 0; i -= 3) {
  73. inter = num[0].substr(i, 3) + (inter == '' ? '' : ',') + inter;
  74. index = i;
  75. }
  76. if (index > 0) {
  77. inter = num[0].substr(0, index) + (inter == '' ? '' : ',') + inter;
  78. }
  79. return inter + (num.length == 1 ? '' : '.' + num[1]);
  80. });
  81. Vue.filter('PwdFormat',function (value) {
  82. if (value == null || value == undefined) {
  83. return 'Null';
  84. } else {
  85. let len = value.toString().length;
  86. let val = '';
  87. for (let i = 0; i < len; i++) {
  88. val = val + '*';
  89. }
  90. return val;
  91. }
  92. });
  93. Vue.filter('NumberDecimal',function (value) {
  94. let realVal = ''
  95. if (!isNaN(value) && value!== '') {
  96. // 截取当前数据到小数点后两位
  97. realVal = parseFloat(value).toFixed(2)
  98. } else {
  99. realVal = '0'
  100. }
  101. return realVal
  102. });
  103. Vue.filter('NumberDesensitization',function (value) {
  104. let realVal = ''
  105. if (!isNaN(value) && value!== '') {
  106. value = value.toString();
  107. realVal = value.substr(0,2) + '****' + value.substr(-2);
  108. } else {
  109. realVal = '--'
  110. }
  111. return realVal
  112. });
  113. Vue.filter('NumberDesensitization1',function (value) {
  114. let realVal = ''
  115. value = value.toString();
  116. realVal = value.substr(0,1) + '***' + value.substr(-2);
  117. return realVal
  118. });