Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
6810243a
Commit
6810243a
authored
Apr 09, 2021
by
RuoYi
Browse files
修复树表数据显示不全&加载慢问题
parent
b56b8846
Changes
1
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/utils/ruoyi.js
View file @
6810243a
...
@@ -58,7 +58,7 @@ export function addDateRange(params, dateRange, propName) {
...
@@ -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) {
...
@@ -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
;
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment