Commit eb4f2617b950a064bb30ac2f9a166d67d4e54db2
1 parent
8d320159
add filters
Showing
1 changed file
with
83 additions
and
0 deletions
common/filters.js
0 → 100644
| 1 | +// 为空处理 return ‘-’ | ||
| 2 | +const tranNull = value => { | ||
| 3 | + if (value === null || value === undefined || value === '') return '-' | ||
| 4 | + return value | ||
| 5 | +} | ||
| 6 | + | ||
| 7 | + | ||
| 8 | +/* | ||
| 9 | + @切割字符串 | ||
| 10 | + @str原字符串 | ||
| 11 | + @num字符位数 | ||
| 12 | +*/ | ||
| 13 | +const cutString = (str, num) => { | ||
| 14 | + var _str = ""; | ||
| 15 | + if (str == null) { | ||
| 16 | + return ""; | ||
| 17 | + } | ||
| 18 | + if (str.length >= num) { | ||
| 19 | + var strN = str.substring(0, num); | ||
| 20 | + strN += "..."; | ||
| 21 | + _str = strN; | ||
| 22 | + } else { | ||
| 23 | + _str = str; | ||
| 24 | + } | ||
| 25 | + return _str; | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +// 钱前面加“¥” | ||
| 29 | +const RMB = (value) => { | ||
| 30 | + if (value === '--' || value === null || value === undefined) return value | ||
| 31 | + return `¥${value}` | ||
| 32 | +} | ||
| 33 | + | ||
| 34 | +// 保留两位小数 | ||
| 35 | +const toFixed2 = num => { | ||
| 36 | + let f = Number(parseFloat(num)); | ||
| 37 | + if (isNaN(f)) return false; | ||
| 38 | + let z = Math.round(num * 100) / 100; | ||
| 39 | + let s = z.toString(); | ||
| 40 | + let rs = s.indexOf('.'); | ||
| 41 | + if (rs < 0) { | ||
| 42 | + rs = s.length; | ||
| 43 | + s += '.'; | ||
| 44 | + } | ||
| 45 | + while (s.length <= rs + 2) { | ||
| 46 | + s += '0'; | ||
| 47 | + } | ||
| 48 | + return s | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +// 数字每三位加个逗号 | ||
| 52 | +const toThousands =(num)=> { | ||
| 53 | + var result = [], | ||
| 54 | + counter = 0; | ||
| 55 | + num = (num || 0).toString().split(''); | ||
| 56 | + for (var i = num.length - 1; i >= 0; i--) { | ||
| 57 | + counter++; | ||
| 58 | + result.unshift(num[i]); | ||
| 59 | + if (!(counter % 3) && i != 0) { | ||
| 60 | + result.unshift(','); | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | + return result.join(''); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + // 根据身份证号码判断男女 | ||
| 67 | + const sexFilter = value => { | ||
| 68 | + if (!value) { | ||
| 69 | + return '' | ||
| 70 | + } else { | ||
| 71 | + let data = value.substr(16, 1) % 2 === 1 ? '男' : '女' | ||
| 72 | + return data | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | +export default { | ||
| 77 | + tranNull, | ||
| 78 | + RMB, | ||
| 79 | + cutString, | ||
| 80 | + toFixed2, | ||
| 81 | + toThousands, | ||
| 82 | + sexFilter, | ||
| 83 | +} |