filters.js 1.55 KB
// 为空处理  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 = value => {
	if (!value) {
		return '0.00';
	} else {
		return (value / 100).toFixed(2);
	}

}

// 钱保留两位小数+其他
const ortherToFixed = num => {
	if (num === '0' || num === undefined || num === null || num === '' || num === NaN) {
		return '0.00';
	} else if (num === -1) {
		return '其他';
	} else {
		return (num / 100).toFixed(2);
	}
}


// 数字每三位加个逗号
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,
	ortherToFixed,
	toThousands,
	sexFilter,
}