diff --git a/common/filters.js b/common/filters.js new file mode 100644 index 0000000..1ac5c61 --- /dev/null +++ b/common/filters.js @@ -0,0 +1,83 @@ +// 为空处理 return ‘-’ +const tranNull = value => { + if (value === null || value === undefined || value === '') return '-' + return value +} + + +/* + @切割字符串 + @str原字符串 + @num字符位数 +*/ +const cutString = (str, num) => { + var _str = ""; + if (str == null) { + return ""; + } + if (str.length >= num) { + var strN = str.substring(0, num); + strN += "..."; + _str = strN; + } else { + _str = str; + } + return _str; +} + +// 钱前面加“¥” +const RMB = (value) => { + if (value === '--' || value === null || value === undefined) return value + return `¥${value}` +} + +// 保留两位小数 +const toFixed2 = num => { + let f = Number(parseFloat(num)); + if (isNaN(f)) return false; + let z = Math.round(num * 100) / 100; + let s = z.toString(); + let rs = s.indexOf('.'); + if (rs < 0) { + rs = s.length; + s += '.'; + } + while (s.length <= rs + 2) { + s += '0'; + } + return s +} + +// 数字每三位加个逗号 +const toThousands =(num)=> { + var result = [], + counter = 0; + num = (num || 0).toString().split(''); + for (var i = num.length - 1; i >= 0; i--) { + counter++; + result.unshift(num[i]); + if (!(counter % 3) && i != 0) { + result.unshift(','); + } + } + return result.join(''); + } + + // 根据身份证号码判断男女 + const sexFilter = value => { + if (!value) { + return '' + } else { + let data = value.substr(16, 1) % 2 === 1 ? '男' : '女' + return data + } + } + +export default { + tranNull, + RMB, + cutString, + toFixed2, + toThousands, + sexFilter, +}