1、element-plus(el-table)修改table的行样式
export function elTableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 != 0) {
return 'default-row'
}
}
2、时间戳转换格式
export function parseTimeFilter(dateTime, dateType) {
if (dateTime == '' || dateTime == undefined || dateTime == 0) {
return '';
}
let date = new Date(parseInt(dateTime) * 1000);
let Year = date.getFullYear();
let Moth = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
let Day = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
let Hour = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours());
let Minute = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());
let Sechond = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
if (dateType === 'YYYY/MM/DD') {
return Year + '/' + Moth + '/' + Day
} else if (dateType === 'YYYY-MM-DD') {
return Year + '-' + Moth + '-' + Day
} else if (dateType === 'YYYY/MM/DD HH:MM:SS') {
return Year + '/' + Moth + '/' + Day + ' ' + Hour + ':' + Minute + ':' + Sechond;
} else if (dateType === 'YYYYMMDDHHMMSS') {
return Year + '' + Moth + '' + Day + '' + Hour + '' + Minute + '' + Sechond;
}
return Year + '-' + Moth + '-' + Day + ' ' + Hour + ':' + Minute + ':' + Sechond;
}
3、对象中过滤掉空的对象或没用到的对象
export function filtrationObject(options, optionsArr) {
for (let key in options) {
if (optionsArr.indexOf(key) === -1 || options[key] === '') {
delete options[key];
}
}
return options;
}
export function filtrationObjectNull(options) {
for (let key in options) {
if (options[key] === '' || options[key] === null) {
delete options[key];
}
}
return options;
}
4、金额正则校验
export function amountRegularCheck(val) {
let money = val.toString();
money = money.replace(/[^\d.]+/, '');
money = money.replace(/^\./g, '');
money = money.replace(/\.{2,}/g, '.');
money = money.replace(/(\.)(\d*)(\1*)/g, "$1$2");
money = money.replace(/^(-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
money = money.replace(/^0+/, '0');
if (Number(money) >= 1) {
money = money.replace(/^0+/, '');
}
return money;
}
5、随机生成字符串
const NUMS = '0123456789';
const NUMSANDLETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
export function randomStr(n, isPureNum = false) {
let possible = isPureNum ? NUMS : NUMSANDLETTERS;
let ret = '';
for (let i = 0; i < n; i++) {
ret += possible.charAt(Math.floor(Math.random() * possible.length));
}
return ret;
}
6、获取路由中的path
export function getUrlPath() {
let href = location.href;
let start = href.indexOf('/#') + 2;
let end = href.indexOf('?');
if (end === -1) {
end = href.length;
}
return href.slice(start, end);
}
7、下载文件通用函数
export function downloadFile(filename, content) {
const blob = new Blob([content]);
const file = filename;
if ('download' in document.createElement('a')) {
const elink = document.createElement('a');
elink.download = filename;
elink.style.display = 'none';
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href);
document.body.removeChild(elink);
} else {
navigator.msSaveBlob(blob, file);
}
}
8、判断小数是几位
export function getType(obj) {
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}
export function isType(obj, type) {
if (this.getType(type) !== 'string') {
throw new Error('type param must be string in util.js');
}
return this.getType(obj) === type;
}
export function isNumber(val) {
return this.isType(val, 'number');
}
export function countDecimals(n) {
if (!this.isNumber(n)) {
n = parseFloat(n);
}
if (Math.floor(n) === n.valueOf()) {
return 0;
}
return n.toString().split('.')[1].length;
}