lambo-design-bi 0.0.166 → 0.0.168
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<LamboChartsFactory :height="height" :type="chartsType" :data-x="dataX" :data-y="dataY" :data-dim="dataDim">
|
|
2
|
+
<LamboChartsFactory v-if="dataX" :height="height" :type="chartsType" :data-x="dataX" :data-y="dataY" :data-dim="dataDim">
|
|
3
3
|
</LamboChartsFactory>
|
|
4
4
|
</template>
|
|
5
5
|
<script>
|
|
@@ -89,6 +89,7 @@ export function convertChartsData(rows, columns) {
|
|
|
89
89
|
rootArr.push(dimDataArr)
|
|
90
90
|
}
|
|
91
91
|
} else {
|
|
92
|
+
let dimDataArr = []
|
|
92
93
|
for (let i = 0; i < dataX.length; i++) {
|
|
93
94
|
let bizV = dataX[i]
|
|
94
95
|
// 遍历数据
|
|
@@ -96,11 +97,12 @@ export function convertChartsData(rows, columns) {
|
|
|
96
97
|
let rowData = rows[k]
|
|
97
98
|
if (rowData && Object.prototype.hasOwnProperty.call(rowData, xKey) &&
|
|
98
99
|
bizV === rowData[xKey]) {
|
|
99
|
-
|
|
100
|
+
dimDataArr.push(rowData[yKey])
|
|
100
101
|
break
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
}
|
|
105
|
+
rootArr.push(dimDataArr)
|
|
104
106
|
}
|
|
105
107
|
dataY = rootArr
|
|
106
108
|
}
|
|
@@ -111,7 +113,7 @@ export function convertChartsData(rows, columns) {
|
|
|
111
113
|
dataY = [...dataYSet]
|
|
112
114
|
let dataDimSet = new Set(dArr)
|
|
113
115
|
dataDim = [...dataDimSet]
|
|
114
|
-
|
|
116
|
+
console.log(`dataY:${dataY},dataDim:${dataDim}`)
|
|
115
117
|
if (dataDim && dataDim.length > 0) {
|
|
116
118
|
for (let i = 0; i < dataY.length; i++) {
|
|
117
119
|
let bizV = dataY[i]
|
|
@@ -132,6 +134,7 @@ export function convertChartsData(rows, columns) {
|
|
|
132
134
|
rootArr.push(dimDataArr)
|
|
133
135
|
}
|
|
134
136
|
} else {
|
|
137
|
+
let dimDataArr = []
|
|
135
138
|
for (let i = 0; i < dataY.length; i++) {
|
|
136
139
|
let bizV = dataY[i]
|
|
137
140
|
// 遍历数据
|
|
@@ -139,11 +142,12 @@ export function convertChartsData(rows, columns) {
|
|
|
139
142
|
let rowData = rows[k]
|
|
140
143
|
if (Object.prototype.hasOwnProperty.call(rowData, yKey) &&
|
|
141
144
|
bizV === rowData[yKey]) {
|
|
142
|
-
|
|
145
|
+
dimDataArr.push(rowData[xKey])
|
|
143
146
|
break
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
149
|
}
|
|
150
|
+
rootArr.push(dimDataArr)
|
|
147
151
|
}
|
|
148
152
|
}
|
|
149
153
|
dataX = rootArr
|
|
@@ -40,7 +40,7 @@ export default {
|
|
|
40
40
|
this.$set(this.tableSearchParams, 'inJson', this.params)
|
|
41
41
|
},
|
|
42
42
|
goDetail(routerName, pageId, row) {
|
|
43
|
-
let parentPageId = this.widget.
|
|
43
|
+
let parentPageId = this.widget.rootId || ''
|
|
44
44
|
let newQuery = Object.assign({}, this.params, row);
|
|
45
45
|
newQuery['pageId'] = pageId
|
|
46
46
|
newQuery['parentPageId'] = parentPageId
|
package/package.json
CHANGED
|
@@ -1088,10 +1088,12 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1088
1088
|
if (type === '30') {
|
|
1089
1089
|
let newArry = [];
|
|
1090
1090
|
for (let i = 0; i < dataY.length; i++) {
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1091
|
+
for (let j = 0; j < dataY[i].length; j++) {
|
|
1092
|
+
newArry.push({
|
|
1093
|
+
'name': dataX[i],
|
|
1094
|
+
'value': dataY[i][j],
|
|
1095
|
+
})
|
|
1096
|
+
}
|
|
1095
1097
|
}
|
|
1096
1098
|
opt = {
|
|
1097
1099
|
backgroundColor: '#fff',
|
|
@@ -1200,14 +1202,14 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1200
1202
|
let colorList = [];
|
|
1201
1203
|
|
|
1202
1204
|
// 将 dataY 转换为带索引的排序数组
|
|
1203
|
-
let sortedIndices = dataY.map((_, index) => index)
|
|
1204
|
-
.sort((a, b) => dataY[b] - dataY[a]); // 根据 dataX 的值降序排列
|
|
1205
|
+
let sortedIndices = dataY[0].map((_, index) => index)
|
|
1206
|
+
.sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据 dataX 的值降序排列
|
|
1205
1207
|
|
|
1206
1208
|
for (let i = 0; i < sortedIndices.length; i++) {
|
|
1207
1209
|
const index = sortedIndices[i];
|
|
1208
1210
|
colorList.push(colors[(i + 1) % colors.length]);
|
|
1209
1211
|
datas.push({
|
|
1210
|
-
value: dataY[index],
|
|
1212
|
+
value: dataY[0][index],
|
|
1211
1213
|
name: dataX[index], // 获取对应的 dataX 值
|
|
1212
1214
|
});
|
|
1213
1215
|
}
|
|
@@ -1230,9 +1232,9 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1230
1232
|
let total = 0;
|
|
1231
1233
|
let tarValue;
|
|
1232
1234
|
for (let i = 0, l = dataX.length; i < l; i++) {
|
|
1233
|
-
total += dataY[i];
|
|
1235
|
+
total += dataY[0][i];
|
|
1234
1236
|
if (dataX[i] === name) {
|
|
1235
|
-
tarValue = dataY[i];
|
|
1237
|
+
tarValue = dataY[0][i];
|
|
1236
1238
|
}
|
|
1237
1239
|
}
|
|
1238
1240
|
let p;
|
|
@@ -1284,15 +1286,15 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1284
1286
|
let colorList = [];
|
|
1285
1287
|
let radius = ['40%', '60%']; // 控制饼块粗细的半径范围
|
|
1286
1288
|
let prevAngle = 0; // 初始角度
|
|
1287
|
-
let sortedIndices = dataY.map((_, index) => index)
|
|
1288
|
-
.sort((a, b) => dataY[b] - dataY[a]); // 根据dataY的值进行降序排序并获取索引
|
|
1289
|
+
let sortedIndices = dataY[0].map((_, index) => index)
|
|
1290
|
+
.sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据dataY的值进行降序排序并获取索引
|
|
1289
1291
|
|
|
1290
1292
|
for (let i = 0; i < sortedIndices.length; i++) {
|
|
1291
1293
|
const index = sortedIndices[i];
|
|
1292
1294
|
colorList.push(colors[(i + 1) % colors.length]);
|
|
1293
|
-
total += dataY[index]; // 使用排序后的数据
|
|
1295
|
+
total += dataY[0][index]; // 使用排序后的数据
|
|
1294
1296
|
datas.push({
|
|
1295
|
-
value: dataY[index], // 使用排序后的数据
|
|
1297
|
+
value: dataY[0][index], // 使用排序后的数据
|
|
1296
1298
|
name: dataX[index], // 获取对应的dataY值
|
|
1297
1299
|
});
|
|
1298
1300
|
}
|
|
@@ -1317,9 +1319,9 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1317
1319
|
let total = 0;
|
|
1318
1320
|
let tarValue;
|
|
1319
1321
|
for (let i = 0, l = dataX.length; i < l; i++) {
|
|
1320
|
-
total += dataY[i];
|
|
1322
|
+
total += dataY[0][i];
|
|
1321
1323
|
if (dataX[i] === name) {
|
|
1322
|
-
tarValue = dataY[i];
|
|
1324
|
+
tarValue = dataY[0][i];
|
|
1323
1325
|
}
|
|
1324
1326
|
}
|
|
1325
1327
|
let p;
|
|
@@ -1389,12 +1391,12 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1389
1391
|
else if (type === '33') {
|
|
1390
1392
|
let data = []
|
|
1391
1393
|
let sum = 0
|
|
1392
|
-
for (let i = 0; i < dataY.length; i++) {
|
|
1394
|
+
for (let i = 0; i < dataY[0].length; i++) {
|
|
1393
1395
|
data.push({
|
|
1394
1396
|
name: dataX[i],
|
|
1395
|
-
value: dataY[i]
|
|
1397
|
+
value: dataY[0][i]
|
|
1396
1398
|
})
|
|
1397
|
-
sum += dataY[i]
|
|
1399
|
+
sum += dataY[0][i]
|
|
1398
1400
|
}
|
|
1399
1401
|
|
|
1400
1402
|
opt = {
|
|
@@ -1435,10 +1437,10 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1435
1437
|
if (sum === 0) {
|
|
1436
1438
|
p = 0
|
|
1437
1439
|
} else {
|
|
1438
|
-
p = (accMul(accDiv(dataY[i], sum), 100)).toFixed(2)
|
|
1440
|
+
p = (accMul(accDiv(dataY[0][i], sum), 100)).toFixed(2)
|
|
1439
1441
|
}
|
|
1440
1442
|
if (dataX[i] === name) {
|
|
1441
|
-
var tarValue = dataY[i]
|
|
1443
|
+
var tarValue = dataY[0][i]
|
|
1442
1444
|
var showName = name.length > 5 ? name.substr(0, 5) + '...' : name
|
|
1443
1445
|
var showValue = tarValue.length > 6 ? tarValue.substr(0, 6) + '...' : tarValue
|
|
1444
1446
|
return '{a|' + showName + '}' + '{b|' + p + '%}' + '{c|' + showValue + '}'
|
|
@@ -1478,10 +1480,10 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1478
1480
|
if (sum === 0) {
|
|
1479
1481
|
p = 0
|
|
1480
1482
|
} else {
|
|
1481
|
-
p = (accMul(accDiv(dataY[i], sum), 100)).toFixed(2)
|
|
1483
|
+
p = (accMul(accDiv(dataY[0][i], sum), 100)).toFixed(2)
|
|
1482
1484
|
}
|
|
1483
1485
|
if (dataX[i] === item.name) {
|
|
1484
|
-
return item.name + ':<br/>' + p + '%' + '<br/>' + dataY[i]
|
|
1486
|
+
return item.name + ':<br/>' + p + '%' + '<br/>' + dataY[0][i]
|
|
1485
1487
|
}
|
|
1486
1488
|
}
|
|
1487
1489
|
},
|
|
@@ -1511,10 +1513,10 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1511
1513
|
}
|
|
1512
1514
|
else if (type === '34') {
|
|
1513
1515
|
let newArry = [];
|
|
1514
|
-
for (let i = 0; i < dataY.length; i++) {
|
|
1516
|
+
for (let i = 0; i < dataY[0].length; i++) {
|
|
1515
1517
|
newArry.push({
|
|
1516
1518
|
'name': dataX[i],
|
|
1517
|
-
'value': dataY[i],
|
|
1519
|
+
'value': dataY[0][i],
|
|
1518
1520
|
});
|
|
1519
1521
|
}
|
|
1520
1522
|
opt = {
|
|
@@ -1642,12 +1644,12 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1642
1644
|
let total = 0;
|
|
1643
1645
|
let datas = [];
|
|
1644
1646
|
let colorList = [];
|
|
1645
|
-
for (let i = 0; i < dataY.length; i++) {
|
|
1647
|
+
for (let i = 0; i < dataY[0].length; i++) {
|
|
1646
1648
|
colorList.push(colors[(i + 1) % colors.length]);
|
|
1647
|
-
total += dataY[i];
|
|
1649
|
+
total += dataY[0][i];
|
|
1648
1650
|
var showName = dataX[i].length > 5 ? dataX[i].substr(0, 5) + '...' : dataX[i]
|
|
1649
1651
|
datas.push({
|
|
1650
|
-
value: dataY[i],
|
|
1652
|
+
value: dataY[0][i],
|
|
1651
1653
|
name: showName,
|
|
1652
1654
|
})
|
|
1653
1655
|
}
|
|
@@ -1683,12 +1685,12 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1683
1685
|
if (name !== null && name !== "" && name !== "__other") {
|
|
1684
1686
|
let total = 0;
|
|
1685
1687
|
let tarValue;
|
|
1686
|
-
for (let i = 0, l = dataY.length; i < l; i++) {
|
|
1687
|
-
total += dataY[i];
|
|
1688
|
+
for (let i = 0, l = dataY[0].length; i < l; i++) {
|
|
1689
|
+
total += dataY[0][i];
|
|
1688
1690
|
var showName = dataX[i].length > 5 ? dataX[i].substr(0, 5) + '...' : dataX[i]
|
|
1689
1691
|
|
|
1690
1692
|
if (showName === name) {
|
|
1691
|
-
tarValue = dataY[i];
|
|
1693
|
+
tarValue = dataY[0][i];
|
|
1692
1694
|
}
|
|
1693
1695
|
}
|
|
1694
1696
|
let p;
|
|
@@ -1735,15 +1737,15 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1735
1737
|
}
|
|
1736
1738
|
}
|
|
1737
1739
|
else if (type === '36') {
|
|
1738
|
-
let sum = dataY.reduce((a, b) => a + b);
|
|
1740
|
+
let sum = dataY[0].reduce((a, b) => a + b);
|
|
1739
1741
|
let pieSeries = [];
|
|
1740
1742
|
let showBackground = false;//是否显示圆环条形背景,true显示,false不显示
|
|
1741
1743
|
let barOut = 65, barIn = 62, barBroad = 4;//控制圆环条宽度 barOut - barIn = 圆环条宽度,barBroad - 圆环条宽度 = 圆环条间距
|
|
1742
|
-
if (dataY.length <= 7) {//根据数据量选择合适的宽度,7条及以下数据将放宽圆环条
|
|
1744
|
+
if (dataY[0].length <= 7) {//根据数据量选择合适的宽度,7条及以下数据将放宽圆环条
|
|
1743
1745
|
barOut = 65;
|
|
1744
1746
|
barIn = 58;
|
|
1745
1747
|
barBroad = 8;
|
|
1746
|
-
} else if (dataY.length >= 14) {
|
|
1748
|
+
} else if (dataY[0].length >= 14) {
|
|
1747
1749
|
barOut = 65;
|
|
1748
1750
|
barIn = 63;
|
|
1749
1751
|
barBroad = 3;
|
|
@@ -1761,11 +1763,11 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1761
1763
|
show: false
|
|
1762
1764
|
},
|
|
1763
1765
|
data: [{
|
|
1764
|
-
value: dataY[index] * dataX.length,
|
|
1766
|
+
value: dataY[0][index] * dataX.length,
|
|
1765
1767
|
name: name
|
|
1766
1768
|
},
|
|
1767
1769
|
{
|
|
1768
|
-
value: sum - dataY[index],
|
|
1770
|
+
value: sum - dataY[0][index],
|
|
1769
1771
|
name: name,
|
|
1770
1772
|
itemStyle: {
|
|
1771
1773
|
normal: {
|
|
@@ -1845,10 +1847,10 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1845
1847
|
formatter: function (name) {
|
|
1846
1848
|
let total = 0;
|
|
1847
1849
|
let tarValue;
|
|
1848
|
-
for (let i = 0, l = dataY.length; i < l; i++) {
|
|
1849
|
-
total += dataY[i];
|
|
1850
|
+
for (let i = 0, l = dataY[0].length; i < l; i++) {
|
|
1851
|
+
total += dataY[0][i];
|
|
1850
1852
|
if (dataX[i] === name) {
|
|
1851
|
-
tarValue = dataY[i];
|
|
1853
|
+
tarValue = dataY[0][i];
|
|
1852
1854
|
}
|
|
1853
1855
|
}
|
|
1854
1856
|
let p;
|
|
@@ -1882,15 +1884,15 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1882
1884
|
};
|
|
1883
1885
|
}
|
|
1884
1886
|
else if (type === '37') {
|
|
1885
|
-
let sum = dataY.reduce((a, b) => a + b);
|
|
1887
|
+
let sum = dataY[0].reduce((a, b) => a + b);
|
|
1886
1888
|
let pieSeries = [];
|
|
1887
1889
|
let showBackground = true;//是否显示圆环条形背景,true显示,false不显示
|
|
1888
1890
|
let barOut = 85, barIn = 82, barBroad = 4;//控制圆环条宽度 barOut - barIn = 圆环条宽度,barBroad - 圆环条宽度 = 圆环条间距
|
|
1889
|
-
if (dataY.length <= 7) {//根据数据量选择合适的宽度,7条及以下数据将放宽圆环条
|
|
1891
|
+
if (dataY[0].length <= 7) {//根据数据量选择合适的宽度,7条及以下数据将放宽圆环条
|
|
1890
1892
|
barOut = 85;
|
|
1891
1893
|
barIn = 78;
|
|
1892
1894
|
barBroad = 8;
|
|
1893
|
-
} else if (dataY.length >= 14) {
|
|
1895
|
+
} else if (dataY[0].length >= 14) {
|
|
1894
1896
|
barOut = 85;
|
|
1895
1897
|
barIn = 83;
|
|
1896
1898
|
barBroad = 3;
|
|
@@ -1909,7 +1911,7 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
1909
1911
|
show: false
|
|
1910
1912
|
},
|
|
1911
1913
|
data: [{
|
|
1912
|
-
value: dataY[index],
|
|
1914
|
+
value: dataY[0][index],
|
|
1913
1915
|
name: name
|
|
1914
1916
|
},
|
|
1915
1917
|
{
|
|
@@ -2026,10 +2028,10 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
2026
2028
|
if (name !== null && name !== "" && name !== "__other") {
|
|
2027
2029
|
let total = 0;
|
|
2028
2030
|
let tarValue;
|
|
2029
|
-
for (let i = 0, l = dataY.length; i < l; i++) {
|
|
2030
|
-
total += dataY[i];
|
|
2031
|
+
for (let i = 0, l = dataY[0].length; i < l; i++) {
|
|
2032
|
+
total += dataY[0][i];
|
|
2031
2033
|
if (dataX[i] === name) {
|
|
2032
|
-
tarValue = dataY[i];
|
|
2034
|
+
tarValue = dataY[0][i];
|
|
2033
2035
|
}
|
|
2034
2036
|
}
|
|
2035
2037
|
let p;
|
|
@@ -2074,8 +2076,8 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
2074
2076
|
}
|
|
2075
2077
|
else if (type === '40' || type === '41' || type === '42' || type === '43') {
|
|
2076
2078
|
if (type === '40') {
|
|
2077
|
-
const sortedDataX = dataY.slice().sort((a, b) => a - b);
|
|
2078
|
-
let total = dataY.reduce((a, b) => a + b);
|
|
2079
|
+
const sortedDataX = dataY[0].slice().sort((a, b) => a - b);
|
|
2080
|
+
let total = dataY[0].reduce((a, b) => a + b);
|
|
2079
2081
|
opt = {
|
|
2080
2082
|
backgroundColor: '#fff',
|
|
2081
2083
|
color: colors,
|
|
@@ -2086,7 +2088,7 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
2086
2088
|
bottom: "10%",
|
|
2087
2089
|
selectedMode: true,
|
|
2088
2090
|
data: dataX.map((name, index) => {
|
|
2089
|
-
const value = dataY[index];
|
|
2091
|
+
const value = dataY[0][index];
|
|
2090
2092
|
let p;
|
|
2091
2093
|
if (total === 0) {
|
|
2092
2094
|
p = 0
|
|
@@ -2143,19 +2145,19 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
2143
2145
|
fontSize: 20
|
|
2144
2146
|
}
|
|
2145
2147
|
},
|
|
2146
|
-
data: dataY.map((value, index) => {
|
|
2148
|
+
data: dataY[0].map((value, index) => {
|
|
2147
2149
|
const rank = sortedDataX.indexOf(value) + 1;
|
|
2148
2150
|
let p;
|
|
2149
|
-
if (dataY.reduce((a, b) => a + b) === 0) {
|
|
2151
|
+
if (dataY[0].reduce((a, b) => a + b) === 0) {
|
|
2150
2152
|
p = 0
|
|
2151
2153
|
} else {
|
|
2152
|
-
p = (accMul(accDiv(value, dataY.reduce((a, b) => a + b)), 100)).toFixed(2)
|
|
2154
|
+
p = (accMul(accDiv(value, dataY[0].reduce((a, b) => a + b)), 100)).toFixed(2)
|
|
2153
2155
|
}
|
|
2154
2156
|
let d;
|
|
2155
|
-
if (dataY.reduce((a, b) => a + b)) {
|
|
2157
|
+
if (dataY[0].reduce((a, b) => a + b)) {
|
|
2156
2158
|
d = 0
|
|
2157
2159
|
} else {
|
|
2158
|
-
d = (accMul(accDiv(value, dataY.reduce((a, b) => a + b)), 100)).toFixed(2)
|
|
2160
|
+
d = (accMul(accDiv(value, dataY[0].reduce((a, b) => a + b)), 100)).toFixed(2)
|
|
2159
2161
|
}
|
|
2160
2162
|
return {
|
|
2161
2163
|
value: rank * 60,
|
|
@@ -2214,7 +2216,7 @@ export function getECharts(type, dataX, dataY, dataDim) {
|
|
|
2214
2216
|
}
|
|
2215
2217
|
},
|
|
2216
2218
|
levels: getLevelOption(),
|
|
2217
|
-
data: generateTestData(dataX, dataY)
|
|
2219
|
+
data: generateTestData(dataX, dataY[0])
|
|
2218
2220
|
}]
|
|
2219
2221
|
}
|
|
2220
2222
|
}
|
package/util/math-util.js
CHANGED
|
@@ -1,34 +1,41 @@
|
|
|
1
1
|
//js除法计算
|
|
2
2
|
export function accDiv(arg1, arg2) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
t1 = arg1.toString().split(".")[1].length
|
|
6
|
-
} catch (e) {
|
|
7
|
-
console.error('accDiv:', e)
|
|
3
|
+
if (arg2 === 0) {
|
|
4
|
+
throw new Error('Division by zero');
|
|
8
5
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
|
|
7
|
+
let t1 = 0, t2 = 0;
|
|
8
|
+
const str1 = arg1.toString();
|
|
9
|
+
const str2 = arg2.toString();
|
|
10
|
+
|
|
11
|
+
// 处理arg1的小数位
|
|
12
|
+
if (str1.includes('.')) {
|
|
13
|
+
t1 = str1.split('.')[1].length;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 处理arg2的小数位
|
|
17
|
+
if (str2.includes('.')) {
|
|
18
|
+
t2 = str2.split('.')[1].length;
|
|
13
19
|
}
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
|
|
21
|
+
const r1 = Number(str1.replace('.', ''));
|
|
22
|
+
const r2 = Number(str2.replace('.', ''));
|
|
23
|
+
|
|
16
24
|
return (r1 / r2) * Math.pow(10, t2 - t1);
|
|
17
25
|
}
|
|
18
26
|
|
|
19
27
|
//js乘法计算
|
|
20
28
|
export function accMul(arg1, arg2) {
|
|
21
29
|
let m = 0, s1 = arg1.toString(), s2 = arg2.toString();
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
|
|
31
|
+
// 安全地获取小数位数
|
|
32
|
+
if (s1.includes('.')) {
|
|
33
|
+
m += s1.split(".")[1].length;
|
|
26
34
|
}
|
|
27
|
-
|
|
28
|
-
m += s2.split(".")[1].length
|
|
29
|
-
} catch (e) {
|
|
30
|
-
console.error('accMul:', e)
|
|
35
|
+
if (s2.includes('.')) {
|
|
36
|
+
m += s2.split(".")[1].length;
|
|
31
37
|
}
|
|
38
|
+
|
|
32
39
|
return accDiv(Number(s1.replace(".", "")) * Number(s2.replace(".", "")), Math.pow(10, m));
|
|
33
40
|
}
|
|
34
41
|
|