From 6e3dff485788426e94b7fad0edb1717e3f0c9f40 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 14 十一月 2024 11:24:06 +0800
Subject: [PATCH] selfAdapt

---
 src/utils/util.ts |   91 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 70 insertions(+), 21 deletions(-)

diff --git a/src/utils/util.ts b/src/utils/util.ts
index b6e5e75..830c686 100644
--- a/src/utils/util.ts
+++ b/src/utils/util.ts
@@ -1,11 +1,11 @@
 import { ElMessage, ElMessageBox } from 'element-plus';
 import JSONbig from 'json-bigint';
+
 import { storeToRefs } from 'pinia';
 import { unref, type Ref } from 'vue';
 import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
 import { useThemeConfig } from '/@/stores/themeConfig';
 import request from '/@/utils/request';
-
 /**
  * @description 褰撶鍒� JSON 涓瓨鍦ㄨ繃闀跨殑鏁板瓧鏃讹紝浣跨敤 JSONbigString 瑙f瀽锛屾暟瀛椾細杞负瀛楃涓插鐞�
  * 鐢ㄦ硶锛欽SONbigString.parse(jsonStr)锛�
@@ -168,9 +168,9 @@
 export const convertListToTree = (
 	data: any[],
 	defaultProps = {
-		ID: 'ID',
-		Children: 'Children',
-		ParentID: 'ParentID',
+		ID: 'id',
+		Children: 'children',
+		ParentID: 'parent',
 	}
 ) => {
 	if (!data || data?.length === 0) return [];
@@ -210,11 +210,10 @@
 	callback: (value: T, index?, array?, parent?) => any,
 	parent: any = null,
 	markParent = false,
-	childrenKey = 'Children'
+	childrenKey = 'children'
 ) => {
 	if (!treeData || treeData.length === 0) return;
 	if (!parent) parent = treeData;
-
 	for (let index = 0; index < treeData.length; index++) {
 		const value = treeData[index] as any;
 		if (markParent) {
@@ -233,7 +232,7 @@
 
 		if (value[childrenKey] && value[childrenKey].length !== 0) {
 			// 閫掑綊璺冲嚭
-			const callResult = travelTree(value[childrenKey], callback, value, markParent);
+			const callResult = travelTree(value[childrenKey], callback, value, markParent, childrenKey);
 			if (callResult) {
 				return true;
 			}
@@ -258,7 +257,7 @@
  * @param tableData
  * @returns
  */
-export const flatten = (tableData: any[], removeChild?: boolean, children = 'Children'): any[] => {
+export const flatten = (tableData: any[], removeChild?: boolean, children = 'children'): any[] => {
 	const flattenedData: any[] = [];
 
 	for (const item of tableData) {
@@ -436,17 +435,13 @@
 		}
 		const res = await deleteApi(
 			{
-				ID: row.id,
+				id: row.id,
 				...rawExtraParams,
 			},
 			req
 		);
-		if (res.Data) {
-			ElMessage.success(`鍒犻櫎${label}鎴愬姛`);
-			callback(row.id);
-		} else {
-			ElMessage.error(`鍒犻櫎${label}澶辫触`);
-		}
+		ElMessage.success(`鍒犻櫎${label}鎴愬姛`);
+		callback(row.id);
 	});
 };
 
@@ -468,12 +463,14 @@
  * 鏈�杩� n 澶╃殑 startDate銆乪ndDate
  * @param dates
  */
-export const getRecentDateRange = (dates: number) => {
+export const getRecentDateRange = (dates: number, includesCurrent = true) => {
+	dates = includesCurrent ? dates - 1 : dates;
 	// 鑾峰彇褰撳墠鏃ユ湡
 	const endDate = new Date();
 	const startDate = new Date();
 	startDate.setTime(startDate.getTime() - 3600 * 1000 * 24 * dates);
 	startDate.setHours(0, 0, 0, 0);
+	endDate.setHours(23,59,59,59)
 	return [startDate, endDate];
 };
 
@@ -579,7 +576,23 @@
 		}, wait);
 	};
 };
-
+/**
+ * 鏂囦欢澶у皬瀛楄妭杞崲涓篨XX
+ * @param size 瀛楄妭澶у皬
+ * @returns {string|*}
+ */
+export const convertFileSize = (size) => {
+	if (!size && size !== 0) return '';
+	if (size < pow1024(1)) return size + ' B';
+	if (size < pow1024(2)) return (size / pow1024(1)).toFixed(2) + ' KB';
+	if (size < pow1024(3)) return (size / pow1024(2)).toFixed(2) + ' MB';
+	if (size < pow1024(4)) return (size / pow1024(3)).toFixed(2) + ' GB';
+	return (size / pow1024(4)).toFixed(2) + ' TB';
+};
+// 姹傛骞�
+function pow1024(num) {
+	return Math.pow(1024, num);
+}
 /**
  *
  * @param {*} func 鑺傛祦鍑芥暟
@@ -688,11 +701,47 @@
 
 /**
  * 淇濈暀鎸囧畾绮惧害灏忔暟浣嶏紝涓斾笉琛ラ浂
- * @param num 
- * @param precision 
- * @returns 
+ * @param num
+ * @param precision
+ * @returns
  */
 export const toMyFixed = (num, precision) => {
 	if (num == null) return '';
-	return num.toFixed(precision).replace(/\.?0+$/, '');
+	if (!precision) return num + '';
+	const factor = Math.pow(10, precision);
+	return Math.round(Number(num) * factor) / factor + '';
 };
+
+type GetTextWidthOption = {
+	size?: string;
+	family?: string;
+};
+
+export function getTextWidth(text: string, option: GetTextWidthOption) {
+	if (!text) return 0;
+	const { size = '14px', family = 'Microsoft YaHei' } = option;
+	const spanEle = document.createElement('span');
+	document.body.appendChild(spanEle);
+
+	spanEle.style.font = 'times new roman';
+	spanEle.style.fontSize = size;
+	spanEle.style.height = 'auto';
+	spanEle.style.width = 'auto';
+	spanEle.style.position = 'absolute';
+	spanEle.style.whiteSpace = 'no-wrap';
+	spanEle.innerHTML = text;
+
+	const width = spanEle.clientWidth;
+
+	document.body.removeChild(spanEle);
+	return width;
+}
+
+export function decodeFormData(formDataString) {
+	const params = new URLSearchParams(formDataString);
+	const decodedData = {};
+	for (const [key, value] of params) {
+		decodedData[key] = decodeURIComponent(value);
+	}
+	return decodedData;
+}

--
Gitblit v1.9.3