From c55a86895cabc3e91c2e7aa4eab099a7287e0ae6 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 21 四月 2026 14:54:16 +0800
Subject: [PATCH] 站点优化
---
rsf-admin/src/utils/common.js | 46 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/rsf-admin/src/utils/common.js b/rsf-admin/src/utils/common.js
index 309c6eb..53ff85c 100644
--- a/rsf-admin/src/utils/common.js
+++ b/rsf-admin/src/utils/common.js
@@ -1,4 +1,39 @@
+/** 鍓嶇鏁伴噺鏄剧ず锛氱粺涓�淇濈暀2浣嶅皬鏁帮紙浠呭睍绀猴紝鍚庣涓嶅彉锛� */
+export const formatQuantity = (value) => {
+ if (value == null || value === '') return '0.00';
+ const n = Number(value);
+ if (Number.isNaN(n)) return '0.00';
+ if (n < 0) return '0.00';
+ return n.toFixed(2);
+};
+
+/** 鐢ㄤ簬 react-admin NumberField 鐨勬暟閲忓睍绀� options锛�2浣嶅皬鏁帮級 */
+export const QTY_NUMBER_OPTIONS = { minimumFractionDigits: 2, maximumFractionDigits: 2 };
+
+/** 鏍¢獙鏈�澶� N 浣嶅皬鏁帮紝鐢ㄤ簬鏁伴噺绫诲瓧娈碉紱瓒呰繃鏃惰繑鍥為敊璇俊鎭苟闃绘鎻愪氦 */
+export const maxDecimalPlaces = (maxDecimals, message) => {
+ const factor = Math.pow(10, maxDecimals);
+ const msg = message || `鏈�澶�${maxDecimals}浣嶅皬鏁癭;
+ return (value) => {
+ if (value == null || value === '') return undefined;
+ const n = Number(value);
+ if (Number.isNaN(n)) return undefined;
+ const rounded = Math.round(n * factor) / factor;
+ if (Math.abs(n - rounded) > 1e-10) return msg;
+ return undefined;
+ };
+};
+
+/** 鍒ゆ柇鏁板�兼槸鍚﹁秴杩� 6 浣嶅皬鏁帮紙鐢ㄤ簬鎻愪氦鍓嶆牎楠岋級 */
+export const hasMoreThan6Decimals = (value) => {
+ if (value == null || value === '') return false;
+ const n = Number(value);
+ if (Number.isNaN(n)) return false;
+ const rounded = Math.round(n * 1e6) / 1e6;
+ return Math.abs(n - rounded) > 1e-10;
+};
+
export const extractNavMenus = (data) => {
if (!data) {
return;
@@ -6,10 +41,15 @@
const navMenus = [];
const traverse = (nodes) => {
nodes.forEach((node) => {
- if (!node.children) {
- navMenus.push(node);
+ // 鍙跺瓙锛氭棤瀛愭垨 children 涓虹┖鏁扮粍锛涗粎鏀堕泦鏈� component 鐨勮妭鐐癸紙椤甸潰璧勬簮锛�
+ const children = node.children;
+ const hasChildren = Array.isArray(children) && children.length > 0;
+ if (!hasChildren) {
+ if (node.component) {
+ navMenus.push(node);
+ }
} else {
- traverse(node.children);
+ traverse(children);
}
});
};
--
Gitblit v1.9.1