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