commonUtil.js

本文介绍了几种实用的数据容量单位转换方法,包括从字节到更高级单位的转换及小数点后两位的格式化技巧。同时,还提供了一个灵活的时间格式化函数,能够根据需要输出不同的日期和时间格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//数据容量装换为gb
function conver(limit) {
	if(isNaN(limit)||limit==""||!limit||limit=="0"){return "";}
	size = (limit / (1024 * 1024 * 1024)).toFixed(2);
	var sizestr = size + "";
	var len = sizestr.indexOf("\.");
	var dec = sizestr.substr(len + 1, 2);
	if (dec == "00") {// 当小数点后为00时 去掉小数部分
		return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
	}
	return sizestr;
}
// 数据容量转换函数
function bytesToSize(bytes) {
	if (bytes === 0)
		return '0 B';
	var k = 1000, // or 1024
	sizes = [ 'B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB' ], i = Math
			.floor(Math.log(bytes) / Math.log(k));
	return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
}
// 时间格式函数 
Date.prototype.Format = function(fmt) { // author: meizz
       var xingqi = ["一","二","三 ","四","五", "六","日"];
	var o = {
		"M+" : this.getMonth() + 1, // 月份
		"d+" : this.getDate(), // 日
		"h+" : this.getHours() > 12 ? this.getHours() - 12 : this.getHours(), // 小时
		"H+" : this.getHours(),
		"m+" : this.getMinutes(), // 分
		"s+" : this.getSeconds(), // 秒
		"q+" : Math.floor((this.getMonth() + 3) / 3), // 季度
		"S+" : this.getMilliseconds(),//由于个数限制原因只能显示2位数
                "W+" : "周"+xingqi[this.getDay()-1]
	// 毫秒
	};
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
				.substr(4 - RegExp.$1.length));
	for ( var k in o)
		if (new RegExp("(" + k + ")").test(fmt))
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
					: (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
}
// 使用
// var time1 = new Date().Format("yyyy-MM-dd");
// var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
// 小数转换为百分数
function doubleTopercent(para) {
	if(para=="NaN"||para==""||!para){return "";}
	var param = parseFloat(para);
	if (param == NaN || param == undefined) {
		return "0";
	}
	if (!param) {
		return "0";
	} else {
		return (param * 100).toFixed(2);
	}
	return "0";
}
// 小数保存两位
function formatDouble(para) {
	if(para=="NaN"||!para){return "";}
	var param = parseFloat(para);
	if (isNaN(param)|| param == undefined) {
		return para;
	}
		result = (param).toFixed(2);
		if (result.substring(result.length - 2, result.length) == 0) {
			return result.substring(0, result.length - 3);
		} else {
			return result;
		}
}
// 小数保存两位
function formatNum(para) {
	if(para=="NaN"||para==""||!para){return "";}
	if (!para) {
		return para;
	}
	var param = parseFloat(para);
	if (isNaN(param)|| param == undefined) {
		return para;
	}
	result = (param).toFixed(2);
	if (result.substring(result.length - 2, result.length) == 0) {
		return result.substring(0, result.length - 3);
	} else {
		return result;
	}
}

GetListTree({id:2,name:''}).then(res=>{ if(res.States>0){ res.Data.forEach(item=>{ Data.queryDoorplateList.push({ value: item.IsPart == 1 ? item.Id + ',' + item.IsPart : item.Id, label: item.Name, disabled: proxy.$commonUtil.childrenList(item.SubDepartment, 'disbleSelect') .length > 0 || item.Id === 10061 ? true : false, children: proxy.$commonUtil.childrenList(item.SubDepartment, 'disbleSelect'), }) }) Data.userDoorplateList = Data.queryDoorplateList } })const childrenList = (value, type) => { // 明确函数返回一个数组 return value.map(({ Id, IsPart, Name, IconFiles, ParentId, ParentName, SubDepartment, VenueAddr }) => { let node switch (type) { case 'select': node = { value: Id, label: Name, children: SubDepartment ? childrenList(SubDepartment, type) : [] // 检查 SubDepartment 是否存在,如果不存在则不进行递归调用 }; break; case 'class': node = { key: Id, title: Name, iconFiles: IconFiles, parentId: ParentId, parentName: ParentName, children: SubDepartment ? childrenList(SubDepartment, type) : [] // 检查 SubDepartment 是否存在,如果不存在则不进行递归调用 }; break; case 'moreSelect': node = { value: IsPart == 1 ? Id + ',' + IsPart : Id, venueAddr: VenueAddr ? VenueAddr : '', label: Name, children: SubDepartment ? childrenList(SubDepartment, type) : [] // 检查 SubDepartment 是否存在,如果不存在则不进行递归调用 }; break; case 'disbleSelect': node = { value: IsPart == 1 ? Id + ',' + IsPart : Id, label: Name, disabled: SubDepartment.length > 0 ? true : false, children: SubDepartment ? childrenList(SubDepartment, type) : [] // 检查 SubDepartment 是否存在,如果不存在则不进行递归调用 }; break; case 'disbleSelectAndToo': node = { value: IsPart == 1 ? Id + ',' + IsPart : Id, label: Name, venueAddr: VenueAddr ? VenueAddr : '', disabled: SubDepartment.length > 0 ? true : false, children: SubDepartment ? childrenList(SubDepartment, type) : [] // 检查 SubDepartment 是否存在,如果不存在则不进行递归调用 }; break; default: // 如果 type 不匹配任何已知值,返回空对象或抛出错误 return {}; } return node; }); };为什么会报warning.js:13 Warning: Same `value` exist in the tree: 10166 warning @ warning.js:13 processEntity @ useDataEntities.js:30 traverseDataNodes.externalGetKey @ treeUtil.js:307 processNode @ treeUtil.js:242 eval @ treeUtil.js:247 processNode这个错
03-11
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值