Ver código fonte

fix: 计算百分比精度问题

jcq 1 dia atrás
pai
commit
45875ab43c

+ 1 - 1
src/views/marketing/apps/components/form.vue

@@ -126,7 +126,7 @@ const updateDelDomains = (data: string[]) => {
 const formatNum = (value: string | number = 0) => {
   let num = Number(value);
   if(num > 0 && num < 1) {
-    return num * 100 + '%';
+    return (num * 100).toFixed(2) + '%';
   }else if (num >= 1 && num < 10000) {
     return num;
   }

+ 2 - 1
src/views/marketing/apps/index.vue

@@ -326,7 +326,8 @@ const handleDelete = async (row: any) => {
 const formatNum = (value: string | number = 0) => {
   let num = Number(value);
   if (num > 0 && num < 1) {
-    return num * 100 + '%';
+        return (num * 100).toFixed(2) + '%';
+
   } else if (num >= 1 && num < 10000) {
     return num;
   }

+ 13 - 2
src/views/marketing/config/index.vue

@@ -426,7 +426,6 @@ const onDel = async (data: any) => {
 			delOpen.value = false;
 			getConfig();
 		}
-
 		return;
 	}
 	try {
@@ -535,14 +534,26 @@ const getIpData = async () => {
 			url: '',
 			triggerNum: '',
 		};
+		
 		formData.value = {
 			...val.data,
 			triggerMode: val.data?.triggerMode.toString(),
 			triggerRule: val.data?.triggerRule.toString(),
-			triggerNum: parseFloat(val.data?.triggerNum) < 1 ? parseFloat(val.data?.triggerNum) * 100 + '%' : val.data?.triggerNum,
+			triggerNum: formatNum(val.data?.triggerNum),
 		};
 	});
 };
+// 格式化数据展示
+const formatNum = (value: string | number = 0) => {
+  let num = Number(value);
+  if (num > 0 && num < 1) {
+    return (num * 100).toFixed(2) + '%';
+  } else if (num >= 1 && num < 10000) {
+    return num;
+  }
+  return '--'
+}
+
 
 onMounted(() => {
 	//获取IP列表