utilts.js
1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import moment from 'moment'
/** 将全部二级路由转为一级路由 */
export const getAllRouter = route => {
const childRoute = []
if (!route) return childRoute
route.map(e => childRoute.push(...e.childMenus))
return childRoute
}
export const downFile = res => {
let fileName = res.headers['content-disposition'].replace(/.*?filename=/ig, '')
fileName = decodeURIComponent(fileName)
const ready = new FileReader()
ready.onload = () => {
let a = document.createElement('a')
a.href = ready.result
a.download = fileName
a.click()
}
ready.readAsDataURL(res.data)
}
/**
* 日期范围组件限定可选日期
* @param {*} current
*/
export const disabledDate = (current) => {
return current > moment().endOf('day')
}
// 防止丢失精度 除法
export function numDiv(arg1, arg2 = 100) {
if (!arg1) return 0
var r1 = (typeof arg1 === "number" ? arg1.toString() : arg1),
r2 = (typeof arg2 === "number" ? arg2.toString() : arg2),
m,
resultVal, d = arguments[2]
m = (r2.split(".")[1] ? r2.split(".")[1].length : 0) - (r1.split(".")[1] ? r1.split(".")[1].length : 0)
resultVal = Number(r1.replace(".", "")) / Number(r2.replace(".", "")) * Math.pow(10, m)
return typeof d !== "number" ? Number(resultVal) : Number(resultVal.toFixed(parseInt(d)))
}
/**
* @function: 数字使用千分位符显示
* @param: money 数字或字符串类型, 传入分
* @returns 返回元并使用分位符显示字符串
* */
export function formatMoney(number) {
if (!number) return 0
let money = numDiv(number)
let result = null
let num = Number(money).toFixed(2)
result = Number(num).toLocaleString('en-US')
if (result.indexOf('.') === -1)
return result + '.00'
else
return result.split('.')[1].length >= 2 ? result : result + '0'
}