import { Message } from 'element-ui'
import moment from './moment'
import settings from '@/settings'
// 请求url
const baseURL = settings.baseUrl
// 通用下载方法
export function download(fileName) {
window.location.href = baseURL + '/common/download?fileName=' + encodeURI(fileName) + '&delete=' + true
}
// 转换字符串,undefined,null等转化为""
export function praseStrEmpty(str) {
return !str || str === 'undefined' || str === 'null' ? '' : str
}
// 首字母大写
export function titleCase(str) {
return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
}
// 横线- 转驼峰
export function camelCase(str) {
return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase())
}
// 数字字符串
export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
}
/**
* @description: 日期格式化
* @param {*} time 时间
* @param {string} fmt 格式
* @return {string}
*/
export function formatDate(time = new Date(), fmt = 'YYYY-MM-DD') {
return moment(time).format(fmt)
}
/**
* @description: 指定日期前/后几天
* @param {*} date 指定日期
* @param {number} day 距离当前几天
* @return {string}
*/
export function getNextDate(date, day) {
var dd = new Date(date)
dd.setDate(dd.getDate() + day)
var y = dd.getFullYear()
var m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1
var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
return y + '-' + m + '-' + d
}
/**
* @description: 获取日期格式对象
* @param {string} strDate 字符串日期
* @return {string}
*/
export function getObjDate(strDate) {
var date = eval(
'new Date(' +
strDate
.replace(/\d+(?=-[^-]+$)/, function(a) {
return parseInt(a, 10) - 1
})
.match(/\d+/g) +
')'
)
return date
}
/**
* @description: 返回周几
* @param {*} date 日期
* @return {string}
*/
export function getWeek(date) {
let week = moment(date).day()
switch (week) {
case 1:
return '周一'
case 2:
return '周二'
case 3:
return '周三'
case 4:
return '周四'
case 5:
return '周五'
case 6:
return '周六'
case 0:
return '周日'
}
}
/**
* @description: 相对时间
* @param {*} time 时间
* @return {string}
*/
export function fromNow(time = new Date()) {
let result = null
let oldTime = new Date(time).getTime()
let mistiming = Math.round(new Date()) - oldTime
let arrr = ['年', '个月', '星期', '天', '小时', '分钟', '秒']
let arrn = [31536000, 2592000, 604800, 86400, 3600, 60, 1]
for (let i = 6; i >= 0; i--) {
let inm = Math.floor(mistiming / 1000 / arrn[i])
if (inm != 0) {
result = inm + arrr[i] + '前'
}
}
return result
}
/**
* @description: 表单重置
* @param {string} refName ref名称
* @return {*}
*/
export function resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields()
}
}
/**
* @description: 添加日期范围
* @param {object} params 传参对象
* @param {array} dateRange 日期范围
* @param {string} fmt 格式化方式
* @param {array} propName 日期字段
* @return {object}
*/
export function addDateRange(params, dateRange, fmt = 'YYYY-MM-DD', propName) {
if (dateRange !== null && da
前端工具包utils封装方法大全
最新推荐文章于 2023-07-04 17:07:16 发布
本文介绍了前端开发中Utils工具包的封装,重点讲解了过滤器filter的使用,包括如何设置表格内负数显示为红色字体,以及获取数组数据的方法,为前端开发提供便利。
摘要由CSDN通过智能技术生成