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 | +} | ... | ... |