Vue util工具

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', pro
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值