修复树表数据显示不全&加载慢问题
This commit is contained in:
		
							parent
							
								
									b56b8846d9
								
							
						
					
					
						commit
						6810243ab7
					
				| 
						 | 
					@ -58,7 +58,7 @@ export function addDateRange(params, dateRange, propName) {
 | 
				
			||||||
	var search = params;
 | 
						var search = params;
 | 
				
			||||||
	search.params = {};
 | 
						search.params = {};
 | 
				
			||||||
	if (null != dateRange && '' != dateRange) {
 | 
						if (null != dateRange && '' != dateRange) {
 | 
				
			||||||
		if (typeof(propName) === "undefined") {
 | 
							if (typeof (propName) === "undefined") {
 | 
				
			||||||
			search.params["beginTime"] = dateRange[0];
 | 
								search.params["beginTime"] = dateRange[0];
 | 
				
			||||||
			search.params["endTime"] = dateRange[1];
 | 
								search.params["endTime"] = dateRange[1];
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
| 
						 | 
					@ -129,24 +129,47 @@ export function praseStrEmpty(str) {
 | 
				
			||||||
 * @param {*} id id字段 默认 'id'
 | 
					 * @param {*} id id字段 默认 'id'
 | 
				
			||||||
 * @param {*} parentId 父节点字段 默认 'parentId'
 | 
					 * @param {*} parentId 父节点字段 默认 'parentId'
 | 
				
			||||||
 * @param {*} children 孩子节点字段 默认 'children'
 | 
					 * @param {*} children 孩子节点字段 默认 'children'
 | 
				
			||||||
 * @param {*} rootId 根Id 默认 0
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
export function handleTree(data, id, parentId, children, rootId) {
 | 
					export function handleTree(data, id, parentId, children) {
 | 
				
			||||||
	id = id || 'id'
 | 
						let config = {
 | 
				
			||||||
	parentId = parentId || 'parentId'
 | 
							id: id || 'id',
 | 
				
			||||||
	children = children || 'children'
 | 
							parentId: parentId || 'parentId',
 | 
				
			||||||
	rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
 | 
							childrenList: children || 'children'
 | 
				
			||||||
	//对源数据深度克隆
 | 
						};
 | 
				
			||||||
	const cloneData = JSON.parse(JSON.stringify(data))
 | 
					
 | 
				
			||||||
	//循环所有项
 | 
						var childrenListMap = {};
 | 
				
			||||||
	const treeData = cloneData.filter(father => {
 | 
						var nodeIds = {};
 | 
				
			||||||
		let branchArr = cloneData.filter(child => {
 | 
						var tree = [];
 | 
				
			||||||
			//返回每一项的子级数组
 | 
					
 | 
				
			||||||
			return father[id] === child[parentId]
 | 
						for (let d of data) {
 | 
				
			||||||
		});
 | 
							let parentId = d[config.parentId];
 | 
				
			||||||
		branchArr.length > 0 ? father.children = branchArr : '';
 | 
							if (childrenListMap[parentId] == null) {
 | 
				
			||||||
		//返回第一层
 | 
								childrenListMap[parentId] = [];
 | 
				
			||||||
		return father[parentId] === rootId;
 | 
							}
 | 
				
			||||||
	});
 | 
							nodeIds[d[config.id]] = d;
 | 
				
			||||||
	return treeData != '' ? treeData : data;
 | 
							childrenListMap[parentId].push(d);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (let d of data) {
 | 
				
			||||||
 | 
							let parentId = d[config.parentId];
 | 
				
			||||||
 | 
							if (nodeIds[parentId] == null) {
 | 
				
			||||||
 | 
								tree.push(d);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (let t of tree) {
 | 
				
			||||||
 | 
							adaptToChildrenList(t);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						function adaptToChildrenList(o) {
 | 
				
			||||||
 | 
							if (childrenListMap[o[config.id]] !== null) {
 | 
				
			||||||
 | 
								o[config.childrenList] = childrenListMap[o[config.id]];
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (o[config.childrenList]) {
 | 
				
			||||||
 | 
								for (let c of o[config.childrenList]) {
 | 
				
			||||||
 | 
									adaptToChildrenList(c);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return tree;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue