|
@@ -219,6 +219,96 @@ export function dateFormatter (date, fmt = 'yyyy-MM-dd HH:mm:ss') {
|
|
|
return fmt
|
|
|
}
|
|
|
|
|
|
+// 金额类型转换
|
|
|
+export function moneyUnit(m, type = 'string', lv = 0) {
|
|
|
+ const mUnit = {
|
|
|
+ levelArr: ['元', '万', '亿', '万亿'],
|
|
|
+ test(num, type, lv) {
|
|
|
+ if (num === 0) {
|
|
|
+ if (type === 'string') {
|
|
|
+ return '0元'
|
|
|
+ }
|
|
|
+ if (type === 'lv') {
|
|
|
+ return this.levelArr[lv]
|
|
|
+ }
|
|
|
+ if (type === 'number') {
|
|
|
+ return 0
|
|
|
+ }
|
|
|
+ if (type === 'index') {
|
|
|
+ return lv
|
|
|
+ }
|
|
|
+ if (type === 'transfer') {
|
|
|
+ return 0
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ let result = num / Math.pow(10000, lv)
|
|
|
+
|
|
|
+ if (result >= 10000 && lv < 2) {
|
|
|
+ return this.test(num, type, lv + 1)
|
|
|
+ } else {
|
|
|
+ if (type === 'string') {
|
|
|
+ return (
|
|
|
+ String(Math.floor((result * 100).toPrecision(12)) / 100).replace(
|
|
|
+ '.00',
|
|
|
+ ''
|
|
|
+ ) + this.levelArr[lv]
|
|
|
+ )
|
|
|
+ }
|
|
|
+ if (type === 'fixUnit') {
|
|
|
+ if (this.levelArr[lv] === '亿') {
|
|
|
+ return (
|
|
|
+ String(Math.floor((result * 100).toPrecision(12)) / 100).replace(
|
|
|
+ '.00',
|
|
|
+ ''
|
|
|
+ ) *
|
|
|
+ 10000 +
|
|
|
+ this.levelArr[lv - 1]
|
|
|
+ )
|
|
|
+ } else {
|
|
|
+ return (
|
|
|
+ String(Math.floor((result * 100).toPrecision(12)) / 100).replace(
|
|
|
+ '.00',
|
|
|
+ ''
|
|
|
+ ) + this.levelArr[lv]
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (type === 'lv') {
|
|
|
+ return this.levelArr[lv]
|
|
|
+ }
|
|
|
+ if (type === 'number') {
|
|
|
+ return String(
|
|
|
+ Math.floor((result * 100).toPrecision(12)) / 100
|
|
|
+ ).replace('.00', '')
|
|
|
+ }
|
|
|
+ if (type === 'index') {
|
|
|
+ return lv
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 需要传入固定的lv(此时lv为 levelArr 中的一个)
|
|
|
+ transfer(num, lvString) {
|
|
|
+ const index = this.levelArr.indexOf(lvString)
|
|
|
+ if (index === -1 || index === 0) {
|
|
|
+ return num
|
|
|
+ } else {
|
|
|
+ return (num / Math.pow(10000, index)).toFixed(2) + lvString
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (m === undefined || m === null) {
|
|
|
+ return ''
|
|
|
+ } else {
|
|
|
+ if (type === 'transfer') {
|
|
|
+ return mUnit.transfer(m, lv)
|
|
|
+ } else {
|
|
|
+ return mUnit.test(m, type, lv)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
// 时间戳转换 多少秒、多少分、多少小时前、多少天前 超出10天显示年月日
|
|
|
// 传入一个时间戳
|
|
|
export function dateFromNow (timestamp) {
|