This commit is contained in:
Viet An
2026-06-18 09:10:36 +07:00
parent b7c82e944d
commit 87397be8bf
18 changed files with 78 additions and 90 deletions

View File

@@ -115,8 +115,8 @@ export default defineNuxtPlugin(() => {
return !isNaN(val);
};
const numtoString = function (val, config = undefined) {
if (empty(val)) return "0";
const formatNum = function (val, config = undefined) {
if (empty(val)) return "-";
val = val.toString().replace(/,/g, "");
if (isNaN(val)) return;
@@ -137,7 +137,7 @@ export default defineNuxtPlugin(() => {
return Number(val).toLocaleString(type, typeof decimal === "number" ? options : undefined) + unit;
};
const formatNumber = function (val) {
const parseNum = function (val) {
if (empty(val)) return;
val = val.toString().replace(/[,\.]/g, "");
if (val.indexOf("%") > 0) {
@@ -148,7 +148,7 @@ export default defineNuxtPlugin(() => {
};
const formatUnit = function (val, unit, decimal, string, mindecimal) {
val = formatNumber(val);
val = parseNum(val);
if (val === undefined) return;
let percentage = unit === 0.01 || unit === "0.01" ? "%" : "";
val = unit ? val / Number(unit) : val;
@@ -167,7 +167,7 @@ export default defineNuxtPlugin(() => {
let valid = 0;
tags.forEach((v) => {
let myRegExp = new RegExp(v, "g");
let res = this.$formatNumber(row[v]);
let res = this.$parseNum(row[v]);
if (res) valid = 1;
val = val.replace(myRegExp, `(${res || 0})`);
});
@@ -190,7 +190,7 @@ export default defineNuxtPlugin(() => {
const calculateFunc = function (row, cols, func, decimal, unit) {
let value;
let arr1 = cols.map((v) => this.$formatNumber(row[v]));
let arr1 = cols.map((v) => this.$parseNum(row[v]));
let arr = arr1.filter((v) => v);
if (arr.length === 0) return { success: false, value: undefined };
if (func === "max") value = Math.max(...arr);
@@ -322,8 +322,8 @@ export default defineNuxtPlugin(() => {
const key = sortKeys[index];
if (key) {
const direction = sortObject[key];
let val1 = format[key] === "number" ? (empty(a[key]) ? 0 : this.$formatNumber(a[key])) : a[key];
let val2 = format[key] === "number" ? (empty(b[key]) ? 0 : this.$formatNumber(b[key])) : b[key];
let val1 = format[key] === "number" ? (empty(a[key]) ? 0 : this.$parseNum(a[key])) : a[key];
let val2 = format[key] === "number" ? (empty(b[key]) ? 0 : this.$parseNum(b[key])) : b[key];
sorted = keySort(val1, val2, direction);
index++;
}
@@ -447,8 +447,8 @@ export default defineNuxtPlugin(() => {
remove,
stripHtml,
isNumber,
numtoString,
formatNumber,
formatNum,
parseNum,
formatUnit,
calc,
calculate,