Commit eb4f2617b950a064bb30ac2f9a166d67d4e54db2

Authored by chenbiao
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 +}