three-trees-ui 1.0.46 → 1.0.47
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/lib/three-trees-ui.common.js +128 -2
- package/lib/three-trees-ui.umd.js +128 -2
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/directive/formulas.js +132 -1
|
@@ -2395,7 +2395,7 @@ const Formulas = {
|
|
|
2395
2395
|
}
|
|
2396
2396
|
args.forEach(item => {
|
|
2397
2397
|
item = Formulas.parseNumber(item);
|
|
2398
|
-
num
|
|
2398
|
+
num = Formulas.floatAdd(num, item);
|
|
2399
2399
|
});
|
|
2400
2400
|
return num;
|
|
2401
2401
|
},
|
|
@@ -2775,6 +2775,132 @@ const Formulas = {
|
|
|
2775
2775
|
}
|
|
2776
2776
|
return new Date(Date.parse(str.replace(/-/g, '/')));
|
|
2777
2777
|
},
|
|
2778
|
+
//格式化
|
|
2779
|
+
toNonExponential(num) {
|
|
2780
|
+
if (num == null) {
|
|
2781
|
+
return num;
|
|
2782
|
+
}
|
|
2783
|
+
if (typeof num == 'number') {
|
|
2784
|
+
var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);
|
|
2785
|
+
return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));
|
|
2786
|
+
} else {
|
|
2787
|
+
return num;
|
|
2788
|
+
}
|
|
2789
|
+
},
|
|
2790
|
+
// 加
|
|
2791
|
+
floatAdd(arg1, arg2) {
|
|
2792
|
+
arg1 = Number(arg1) || 0;
|
|
2793
|
+
arg2 = Number(arg2) || 0;
|
|
2794
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2795
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2796
|
+
var r1, r2, m;
|
|
2797
|
+
try {
|
|
2798
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2799
|
+
} catch (e) {
|
|
2800
|
+
r1 = 0;
|
|
2801
|
+
}
|
|
2802
|
+
try {
|
|
2803
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2804
|
+
} catch (e) {
|
|
2805
|
+
r2 = 0;
|
|
2806
|
+
}
|
|
2807
|
+
m = Math.pow(10, Math.max(r1, r2));
|
|
2808
|
+
return (Formulas.floatMultiply(arg1, m) + Formulas.floatMultiply(arg2, m)) / m;
|
|
2809
|
+
},
|
|
2810
|
+
// 减
|
|
2811
|
+
floatSub(arg1, arg2) {
|
|
2812
|
+
arg1 = Number(arg1) || 0;
|
|
2813
|
+
arg2 = Number(arg2) || 0;
|
|
2814
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2815
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2816
|
+
var r1, r2, m, n;
|
|
2817
|
+
try {
|
|
2818
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2819
|
+
} catch (e) {
|
|
2820
|
+
r1 = 0;
|
|
2821
|
+
}
|
|
2822
|
+
try {
|
|
2823
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2824
|
+
} catch (e) {
|
|
2825
|
+
r2 = 0;
|
|
2826
|
+
}
|
|
2827
|
+
m = Math.pow(10, Math.max(r1, r2));
|
|
2828
|
+
// 动态控制精度长度
|
|
2829
|
+
n = r1 >= r2 ? r1 : r2;
|
|
2830
|
+
return ((Formulas.floatMultiply(arg1, m) - Formulas.floatMultiply(arg2, m)) / m).toFixed(n);
|
|
2831
|
+
},
|
|
2832
|
+
//乘
|
|
2833
|
+
floatMultiply(arg1, arg2) {
|
|
2834
|
+
arg1 = Number(arg1);
|
|
2835
|
+
arg2 = Number(arg2);
|
|
2836
|
+
if (!arg1 && arg1 !== 0 || !arg2 && arg2 !== 0) {
|
|
2837
|
+
return null;
|
|
2838
|
+
}
|
|
2839
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2840
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2841
|
+
var n1, n2;
|
|
2842
|
+
var r1, r2; // 小数位数
|
|
2843
|
+
try {
|
|
2844
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2845
|
+
} catch (e) {
|
|
2846
|
+
r1 = 0;
|
|
2847
|
+
}
|
|
2848
|
+
try {
|
|
2849
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2850
|
+
} catch (e) {
|
|
2851
|
+
r2 = 0;
|
|
2852
|
+
}
|
|
2853
|
+
n1 = Number(arg1.toString().replace('.', ''));
|
|
2854
|
+
n2 = Number(arg2.toString().replace('.', ''));
|
|
2855
|
+
return n1 * n2 / Math.pow(10, r1 + r2);
|
|
2856
|
+
},
|
|
2857
|
+
//除
|
|
2858
|
+
floatDivide(arg1, arg2) {
|
|
2859
|
+
arg1 = Number(arg1);
|
|
2860
|
+
arg2 = Number(arg2);
|
|
2861
|
+
if (!arg2) {
|
|
2862
|
+
return null;
|
|
2863
|
+
}
|
|
2864
|
+
if (!arg1 && arg1 !== 0) {
|
|
2865
|
+
return null;
|
|
2866
|
+
} else if (arg1 === 0) {
|
|
2867
|
+
return 0;
|
|
2868
|
+
}
|
|
2869
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2870
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2871
|
+
var n1, n2;
|
|
2872
|
+
var r1, r2; // 小数位数
|
|
2873
|
+
try {
|
|
2874
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2875
|
+
} catch (e) {
|
|
2876
|
+
r1 = 0;
|
|
2877
|
+
}
|
|
2878
|
+
try {
|
|
2879
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2880
|
+
} catch (e) {
|
|
2881
|
+
r2 = 0;
|
|
2882
|
+
}
|
|
2883
|
+
n1 = Number(arg1.toString().replace('.', ''));
|
|
2884
|
+
n2 = Number(arg2.toString().replace('.', ''));
|
|
2885
|
+
return Formulas.floatMultiply(n1 / n2, Math.pow(10, r2 - r1));
|
|
2886
|
+
},
|
|
2887
|
+
//余
|
|
2888
|
+
floatMod(arg1, arg2) {
|
|
2889
|
+
arg1 = Number(arg1);
|
|
2890
|
+
arg2 = Number(arg2);
|
|
2891
|
+
if (!arg2) {
|
|
2892
|
+
return null;
|
|
2893
|
+
}
|
|
2894
|
+
if (!arg1 && arg1 !== 0) {
|
|
2895
|
+
return null;
|
|
2896
|
+
} else if (arg1 === 0) {
|
|
2897
|
+
return 0;
|
|
2898
|
+
}
|
|
2899
|
+
let intNum = arg1 / arg2;
|
|
2900
|
+
intNum = intNum < 0 ? Math.ceil(arg1 / arg2) : Math.floor(arg1 / arg2); // -1.02 取整为 -1; 1.02取整为1
|
|
2901
|
+
let intVal = Formulas.floatMultiply(intNum, arg2);
|
|
2902
|
+
return Formulas.floatSub(arg1, intVal);
|
|
2903
|
+
},
|
|
2778
2904
|
getArrayByPath(obj) {
|
|
2779
2905
|
let array = [];
|
|
2780
2906
|
if (!obj.data) return array;
|
|
@@ -4666,7 +4792,7 @@ if (typeof window !== 'undefined' && window.Vue) {
|
|
|
4666
4792
|
/***/ "9224":
|
|
4667
4793
|
/***/ (function(module) {
|
|
4668
4794
|
|
|
4669
|
-
module.exports = JSON.parse("{\"a\":\"1.0.
|
|
4795
|
+
module.exports = JSON.parse("{\"a\":\"1.0.47\"}");
|
|
4670
4796
|
|
|
4671
4797
|
/***/ }),
|
|
4672
4798
|
|
|
@@ -2404,7 +2404,7 @@ const Formulas = {
|
|
|
2404
2404
|
}
|
|
2405
2405
|
args.forEach(item => {
|
|
2406
2406
|
item = Formulas.parseNumber(item);
|
|
2407
|
-
num
|
|
2407
|
+
num = Formulas.floatAdd(num, item);
|
|
2408
2408
|
});
|
|
2409
2409
|
return num;
|
|
2410
2410
|
},
|
|
@@ -2784,6 +2784,132 @@ const Formulas = {
|
|
|
2784
2784
|
}
|
|
2785
2785
|
return new Date(Date.parse(str.replace(/-/g, '/')));
|
|
2786
2786
|
},
|
|
2787
|
+
//格式化
|
|
2788
|
+
toNonExponential(num) {
|
|
2789
|
+
if (num == null) {
|
|
2790
|
+
return num;
|
|
2791
|
+
}
|
|
2792
|
+
if (typeof num == 'number') {
|
|
2793
|
+
var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);
|
|
2794
|
+
return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));
|
|
2795
|
+
} else {
|
|
2796
|
+
return num;
|
|
2797
|
+
}
|
|
2798
|
+
},
|
|
2799
|
+
// 加
|
|
2800
|
+
floatAdd(arg1, arg2) {
|
|
2801
|
+
arg1 = Number(arg1) || 0;
|
|
2802
|
+
arg2 = Number(arg2) || 0;
|
|
2803
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2804
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2805
|
+
var r1, r2, m;
|
|
2806
|
+
try {
|
|
2807
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2808
|
+
} catch (e) {
|
|
2809
|
+
r1 = 0;
|
|
2810
|
+
}
|
|
2811
|
+
try {
|
|
2812
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2813
|
+
} catch (e) {
|
|
2814
|
+
r2 = 0;
|
|
2815
|
+
}
|
|
2816
|
+
m = Math.pow(10, Math.max(r1, r2));
|
|
2817
|
+
return (Formulas.floatMultiply(arg1, m) + Formulas.floatMultiply(arg2, m)) / m;
|
|
2818
|
+
},
|
|
2819
|
+
// 减
|
|
2820
|
+
floatSub(arg1, arg2) {
|
|
2821
|
+
arg1 = Number(arg1) || 0;
|
|
2822
|
+
arg2 = Number(arg2) || 0;
|
|
2823
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2824
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2825
|
+
var r1, r2, m, n;
|
|
2826
|
+
try {
|
|
2827
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2828
|
+
} catch (e) {
|
|
2829
|
+
r1 = 0;
|
|
2830
|
+
}
|
|
2831
|
+
try {
|
|
2832
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2833
|
+
} catch (e) {
|
|
2834
|
+
r2 = 0;
|
|
2835
|
+
}
|
|
2836
|
+
m = Math.pow(10, Math.max(r1, r2));
|
|
2837
|
+
// 动态控制精度长度
|
|
2838
|
+
n = r1 >= r2 ? r1 : r2;
|
|
2839
|
+
return ((Formulas.floatMultiply(arg1, m) - Formulas.floatMultiply(arg2, m)) / m).toFixed(n);
|
|
2840
|
+
},
|
|
2841
|
+
//乘
|
|
2842
|
+
floatMultiply(arg1, arg2) {
|
|
2843
|
+
arg1 = Number(arg1);
|
|
2844
|
+
arg2 = Number(arg2);
|
|
2845
|
+
if (!arg1 && arg1 !== 0 || !arg2 && arg2 !== 0) {
|
|
2846
|
+
return null;
|
|
2847
|
+
}
|
|
2848
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2849
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2850
|
+
var n1, n2;
|
|
2851
|
+
var r1, r2; // 小数位数
|
|
2852
|
+
try {
|
|
2853
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2854
|
+
} catch (e) {
|
|
2855
|
+
r1 = 0;
|
|
2856
|
+
}
|
|
2857
|
+
try {
|
|
2858
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2859
|
+
} catch (e) {
|
|
2860
|
+
r2 = 0;
|
|
2861
|
+
}
|
|
2862
|
+
n1 = Number(arg1.toString().replace('.', ''));
|
|
2863
|
+
n2 = Number(arg2.toString().replace('.', ''));
|
|
2864
|
+
return n1 * n2 / Math.pow(10, r1 + r2);
|
|
2865
|
+
},
|
|
2866
|
+
//除
|
|
2867
|
+
floatDivide(arg1, arg2) {
|
|
2868
|
+
arg1 = Number(arg1);
|
|
2869
|
+
arg2 = Number(arg2);
|
|
2870
|
+
if (!arg2) {
|
|
2871
|
+
return null;
|
|
2872
|
+
}
|
|
2873
|
+
if (!arg1 && arg1 !== 0) {
|
|
2874
|
+
return null;
|
|
2875
|
+
} else if (arg1 === 0) {
|
|
2876
|
+
return 0;
|
|
2877
|
+
}
|
|
2878
|
+
arg1 = Formulas.toNonExponential(arg1);
|
|
2879
|
+
arg2 = Formulas.toNonExponential(arg2);
|
|
2880
|
+
var n1, n2;
|
|
2881
|
+
var r1, r2; // 小数位数
|
|
2882
|
+
try {
|
|
2883
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
2884
|
+
} catch (e) {
|
|
2885
|
+
r1 = 0;
|
|
2886
|
+
}
|
|
2887
|
+
try {
|
|
2888
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
2889
|
+
} catch (e) {
|
|
2890
|
+
r2 = 0;
|
|
2891
|
+
}
|
|
2892
|
+
n1 = Number(arg1.toString().replace('.', ''));
|
|
2893
|
+
n2 = Number(arg2.toString().replace('.', ''));
|
|
2894
|
+
return Formulas.floatMultiply(n1 / n2, Math.pow(10, r2 - r1));
|
|
2895
|
+
},
|
|
2896
|
+
//余
|
|
2897
|
+
floatMod(arg1, arg2) {
|
|
2898
|
+
arg1 = Number(arg1);
|
|
2899
|
+
arg2 = Number(arg2);
|
|
2900
|
+
if (!arg2) {
|
|
2901
|
+
return null;
|
|
2902
|
+
}
|
|
2903
|
+
if (!arg1 && arg1 !== 0) {
|
|
2904
|
+
return null;
|
|
2905
|
+
} else if (arg1 === 0) {
|
|
2906
|
+
return 0;
|
|
2907
|
+
}
|
|
2908
|
+
let intNum = arg1 / arg2;
|
|
2909
|
+
intNum = intNum < 0 ? Math.ceil(arg1 / arg2) : Math.floor(arg1 / arg2); // -1.02 取整为 -1; 1.02取整为1
|
|
2910
|
+
let intVal = Formulas.floatMultiply(intNum, arg2);
|
|
2911
|
+
return Formulas.floatSub(arg1, intVal);
|
|
2912
|
+
},
|
|
2787
2913
|
getArrayByPath(obj) {
|
|
2788
2914
|
let array = [];
|
|
2789
2915
|
if (!obj.data) return array;
|
|
@@ -4675,7 +4801,7 @@ if (typeof window !== 'undefined' && window.Vue) {
|
|
|
4675
4801
|
/***/ "9224":
|
|
4676
4802
|
/***/ (function(module) {
|
|
4677
4803
|
|
|
4678
|
-
module.exports = JSON.parse("{\"a\":\"1.0.
|
|
4804
|
+
module.exports = JSON.parse("{\"a\":\"1.0.47\"}");
|
|
4679
4805
|
|
|
4680
4806
|
/***/ }),
|
|
4681
4807
|
|