n20-common-lib 2.5.5 → 2.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -156,6 +156,13 @@ export default {
|
|
|
156
156
|
this.pageObj[this.pageKey.size] = this.pageObjC[this.pageKey.size]
|
|
157
157
|
this.pageObjC[this.pageKey.total] = this.pageObj[this.pageKey.total]
|
|
158
158
|
this.$emit('change', this.pageObjC)
|
|
159
|
+
},
|
|
160
|
+
pageObj: {
|
|
161
|
+
immediate: true,
|
|
162
|
+
deep: true,
|
|
163
|
+
handler(newValue, oldValue) {
|
|
164
|
+
this.pageObjC = this.pageObj
|
|
165
|
+
}
|
|
159
166
|
}
|
|
160
167
|
},
|
|
161
168
|
methods: {
|
|
@@ -2,45 +2,80 @@ const CHINESE_NUMERALS = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
|
-
* @param {number|string}
|
|
5
|
+
* @param {number|string} amount 需转换的金额
|
|
6
6
|
*/
|
|
7
|
-
export const convert = (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
result = '整'
|
|
7
|
+
export const convert = (money) => {
|
|
8
|
+
var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖') //汉字的数字
|
|
9
|
+
var cnIntRadice = new Array('', '拾', '佰', '仟') //基本单位
|
|
10
|
+
var cnIntUnits = new Array('', '万', '亿', '兆') //对应整数部分扩展单位
|
|
11
|
+
var cnDecUnits = new Array('角', '分', '毫', '厘') //对应小数部分单位
|
|
12
|
+
var cnInteger = '整' //整数金额时后面跟的字符
|
|
13
|
+
var cnIntLast = '元' //整数完以后的单位
|
|
14
|
+
//最大处理的数字
|
|
15
|
+
var maxNum = 999999999999999.9999
|
|
16
|
+
var integerNum //金额整数部分
|
|
17
|
+
var decimalNum //金额小数部分
|
|
18
|
+
//输出的中文金额字符串
|
|
19
|
+
var chineseStr = ''
|
|
20
|
+
var parts //分离金额后用的数组,预定义
|
|
21
|
+
if (money == '') {
|
|
22
|
+
return ''
|
|
24
23
|
}
|
|
25
|
-
num = Math.floor(num)
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
money = parseFloat(money)
|
|
26
|
+
if (money >= maxNum) {
|
|
27
|
+
//超出最大处理数字
|
|
28
|
+
return '超出最大处理数字'
|
|
29
|
+
}
|
|
30
|
+
if (money == 0) {
|
|
31
|
+
chineseStr = cnNums[0] + cnIntLast + cnInteger
|
|
32
|
+
return chineseStr
|
|
33
|
+
}
|
|
34
|
+
//四舍五入保留两位小数,转换为字符串
|
|
35
|
+
money = Math.round(money * 100).toString()
|
|
36
|
+
integerNum = money.substr(0, money.length - 2)
|
|
37
|
+
decimalNum = money.substr(money.length - 2)
|
|
38
|
+
//获取整型部分转换
|
|
39
|
+
if (parseInt(integerNum, 10) > 0) {
|
|
40
|
+
var zeroCount = 0
|
|
41
|
+
var IntLen = integerNum.length
|
|
42
|
+
for (var i = 0; i < IntLen; i++) {
|
|
43
|
+
var n = integerNum.substr(i, 1)
|
|
44
|
+
var p = IntLen - i - 1
|
|
45
|
+
var q = p / 4
|
|
46
|
+
var m = p % 4
|
|
47
|
+
if (n == '0') {
|
|
48
|
+
zeroCount++
|
|
49
|
+
} else {
|
|
50
|
+
if (zeroCount > 0) {
|
|
51
|
+
chineseStr += cnNums[0]
|
|
52
|
+
}
|
|
53
|
+
//归零
|
|
54
|
+
zeroCount = 0
|
|
55
|
+
chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
|
|
56
|
+
}
|
|
57
|
+
if (m == 0 && zeroCount < 4) {
|
|
58
|
+
chineseStr += cnIntUnits[q]
|
|
59
|
+
}
|
|
33
60
|
}
|
|
34
|
-
|
|
61
|
+
chineseStr += cnIntLast
|
|
62
|
+
}
|
|
63
|
+
//小数部分
|
|
64
|
+
if (decimalNum != '') {
|
|
65
|
+
var decLen = decimalNum.length
|
|
66
|
+
for (var i = 0; i < decLen; i++) {
|
|
67
|
+
var n = decimalNum.substr(i, 1)
|
|
68
|
+
if (n != '0') {
|
|
69
|
+
chineseStr += cnNums[Number(n)] + cnDecUnits[i]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (chineseStr == '') {
|
|
74
|
+
chineseStr += cnNums[0] + cnIntLast + cnInteger
|
|
75
|
+
} else if (decimalNum == '' || /^0*$/.test(decimalNum)) {
|
|
76
|
+
chineseStr += cnInteger
|
|
35
77
|
}
|
|
36
|
-
return
|
|
37
|
-
negativeSign +
|
|
38
|
-
result
|
|
39
|
-
.replace(/(零.)+/g, '零')
|
|
40
|
-
.replace(/零+$/, '')
|
|
41
|
-
.replace(/(零元)$/, '元')
|
|
42
|
-
.replace(/^整$/, '零元整')
|
|
43
|
-
)
|
|
78
|
+
return chineseStr
|
|
44
79
|
}
|
|
45
80
|
/**
|
|
46
81
|
* 单个数字转换
|