Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
Jz-Php
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
PHP
Jz-Php
Commits
29f5640b
提交
29f5640b
authored
7月 22, 2020
作者:
chengye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test
上级
62690f56
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
346 行增加
和
5 行删除
+346
-5
index.html
application/em/view/invoice/index.html
+1
-3
tree.js
public/static/xadmin/lib/layui/lay/modules/tree.js
+345
-2
没有找到文件。
application/em/view/invoice/index.html
浏览文件 @
29f5640b
...
...
@@ -129,13 +129,11 @@
layer
.
msg
(
'预付费表无法进行账单合并'
,
{
time
:
3000
});
console
.
log
(
obj
.
checked
)
obj
.
checked
=
false
;
obj
.
LAY_CHECKED
=
false
;
}
});
laydate
.
render
({
elem
:
'#date_end'
,
trigger
:
'click'
,
...
...
public/static/xadmin/lib/layui/lay/modules/tree.js
浏览文件 @
29f5640b
/** layui-v2.5.4 MIT License By https://www.layui.com */
;
layui
.
define
(
"form"
,
function
(
e
){
"use strict"
;
var
i
=
layui
.
$
,
a
=
layui
.
form
,
n
=
"tree"
,
r
=
{
config
:{},
index
:
layui
[
n
]?
layui
[
n
].
index
+
1
e4
:
0
,
set
:
function
(
e
){
var
a
=
this
;
return
a
.
config
=
i
.
extend
({},
a
.
config
,
e
),
a
},
on
:
function
(
e
,
i
){
return
layui
.
onevent
.
call
(
this
,
n
,
e
,
i
)}},
l
=
function
(){
var
e
=
this
,
i
=
e
.
config
,
a
=
i
.
id
||
e
.
index
;
return
l
.
that
[
a
]
=
e
,
l
.
config
[
a
]
=
i
,{
config
:
i
,
reload
:
function
(
i
){
e
.
reload
.
call
(
e
,
i
)},
getChecked
:
function
(){
return
e
.
getChecked
.
call
(
e
)},
setChecked
:
function
(
i
){
return
e
.
setChecked
.
call
(
e
,
i
)}}},
t
=
"layui-hide"
,
d
=
"layui-disabled"
,
s
=
"layui-tree-set"
,
c
=
"layui-tree-iconClick"
,
o
=
"layui-icon-addition"
,
h
=
"layui-icon-subtraction"
,
u
=
"layui-tree-entry"
,
f
=
"layui-tree-main"
,
p
=
"layui-tree-txt"
,
y
=
"layui-tree-pack"
,
v
=
"layui-tree-spread"
,
C
=
"layui-tree-setLineShort"
,
m
=
"layui-tree-showLine"
,
k
=
"layui-tree-lineExtend"
,
g
=
function
(
e
){
var
a
=
this
;
a
.
index
=++
r
.
index
,
a
.
config
=
i
.
extend
({},
a
.
config
,
r
.
config
,
e
),
a
.
render
()};
g
.
prototype
.
config
=
{
data
:[],
showCheckbox
:
!
1
,
showLine
:
!
0
,
accordion
:
!
1
,
onlyIconControl
:
!
1
,
isJump
:
!
1
,
edit
:
!
1
,
text
:{
defaultNodeName
:
"未命名"
,
none
:
"无数据"
}},
g
.
prototype
.
reload
=
function
(
e
){
var
a
=
this
;
layui
.
each
(
e
,
function
(
e
,
i
){
i
.
constructor
===
Array
&&
delete
a
.
config
[
e
]}),
a
.
config
=
i
.
extend
(
!
0
,{},
a
.
config
,
e
),
a
.
render
()},
g
.
prototype
.
render
=
function
(){
var
e
=
this
,
a
=
e
.
config
,
n
=
i
(
'<div class="layui-tree'
+
(
a
.
showCheckbox
?
" layui-form"
:
""
)
+
(
a
.
showLine
?
" layui-tree-line"
:
""
)
+
'" lay-filter="LAY-tree-'
+
e
.
index
+
'"></div>'
);
e
.
tree
(
n
);
var
r
=
a
.
elem
=
i
(
a
.
elem
);
if
(
r
[
0
]){
if
(
a
.
showSearch
&&
n
.
prepend
(
'<input type="text" class="layui-input layui-tree-search" placeholder="请输入关键字进行过滤">'
),
e
.
key
=
a
.
id
||
e
.
index
,
e
.
elem
=
n
,
e
.
elemNone
=
i
(
'<div class="layui-tree-emptyText">'
+
a
.
text
.
none
+
"</div>"
),
r
.
html
(
e
.
elem
),
0
==
e
.
elem
.
find
(
".layui-tree-set"
).
length
)
return
e
.
elem
.
append
(
e
.
elemNone
);
a
.
drag
&&
e
.
drag
(),
a
.
showCheckbox
&&
e
.
renderForm
(
"checkbox"
),
e
.
elem
.
find
(
".layui-tree-set"
).
each
(
function
(){
var
e
=
i
(
this
);
e
.
parent
(
".layui-tree-pack"
)[
0
]
||
e
.
addClass
(
"layui-tree-setHide"
),
!
e
.
next
()[
0
]
&&
e
.
parents
(
".layui-tree-pack"
).
eq
(
1
).
hasClass
(
"layui-tree-lineExtend"
)
&&
e
.
addClass
(
C
),
e
.
next
()[
0
]
||
e
.
parents
(
".layui-tree-set"
).
eq
(
0
).
next
()[
0
]
||
e
.
addClass
(
C
)}),
e
.
events
()}},
g
.
prototype
.
renderForm
=
function
(
e
){
a
.
render
(
e
,
"LAY-tree-"
+
this
.
index
)},
g
.
prototype
.
tree
=
function
(
e
,
a
){
var
n
=
this
,
r
=
n
.
config
,
l
=
a
||
r
.
data
;
layui
.
each
(
l
,
function
(
a
,
l
){
var
c
=
l
.
children
&&
l
.
children
.
length
>
0
,
o
=
i
(
'<div class="layui-tree-pack" '
+
(
l
.
spread
?
'style="display: block;"'
:
""
)
+
'"></div>'
),
h
=
i
([
'<div data-id="'
+
l
.
id
+
'" class="layui-tree-set'
+
(
l
.
spread
?
" layui-tree-spread"
:
""
)
+
(
l
.
checked
?
" layui-tree-checkedFirst"
:
""
)
+
'">'
,
"<div "
+
(
r
.
drag
&&!
l
.
fixed
?
'draggable="true"'
:
""
)
+
' class="layui-tree-entry">'
,
'<div class="layui-tree-main">'
,
function
(){
return
r
.
showLine
?
c
?
'<span class="layui-tree-iconClick layui-tree-icon"><i class="layui-icon '
+
(
l
.
spread
?
"layui-icon-subtraction"
:
"layui-icon-addition"
)
+
'"></i></span>'
:
'<span class="layui-tree-iconClick"><i class="layui-icon layui-icon-file"></i></span>'
:
'<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow '
+
(
c
?
""
:
t
)
+
'"></i></span>'
}(),
function
(){
return
r
.
showCheckbox
?
'<input type="checkbox" name="layuiTreeCheck" lay-skin="primary" '
+
(
l
.
disabled
?
"disabled"
:
""
)
+
' value="'
+
l
.
id
+
'">'
:
""
}(),
function
(){
return
r
.
isJump
&&
l
.
href
?
'<a href="'
+
l
.
href
+
'" target="_blank" class="'
+
p
+
'">'
+
(
l
.
title
||
l
.
label
||
r
.
text
.
defaultNodeName
)
+
"</a>"
:
'<span class="'
+
p
+
(
l
.
disabled
?
" "
+
d
:
""
)
+
'">'
+
(
l
.
title
||
l
.
label
||
r
.
text
.
defaultNodeName
)
+
"</span>"
}(),
"</div>"
,
function
(){
if
(
!
r
.
edit
)
return
""
;
var
e
=
{
add
:
'<i class="layui-icon layui-icon-add-1" data-type="add"></i>'
,
update
:
'<i class="layui-icon layui-icon-edit" data-type="update"></i>'
,
del
:
'<i class="layui-icon layui-icon-delete" data-type="del"></i>'
},
i
=
[
'<div class="layui-btn-group layui-tree-btnGroup">'
];
return
r
.
edit
===!
0
&&
(
r
.
edit
=
[
"update"
,
"del"
]),
"object"
==
typeof
r
.
edit
?(
layui
.
each
(
r
.
edit
,
function
(
a
,
n
){
i
.
push
(
e
[
n
]
||
""
)}),
i
.
join
(
""
)
+
"</div>"
):
void
0
}(),
"</div></div>"
].
join
(
""
));
c
&&
(
h
.
append
(
o
),
n
.
tree
(
o
,
l
.
children
)),
e
.
append
(
h
),
h
.
prev
(
"."
+
s
)[
0
]
&&
h
.
prev
().
children
(
".layui-tree-pack"
).
addClass
(
"layui-tree-showLine"
),
c
||
h
.
parent
(
".layui-tree-pack"
).
addClass
(
"layui-tree-lineExtend"
),
n
.
spread
(
h
,
l
),
r
.
showCheckbox
&&
n
.
checkClick
(
h
,
l
),
r
.
edit
&&
n
.
operate
(
h
,
l
)})},
g
.
prototype
.
spread
=
function
(
e
,
a
){
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
t
=
l
.
children
(
"."
+
f
),
C
=
l
.
find
(
"."
+
c
),
m
=
l
.
find
(
"."
+
p
),
k
=
r
.
onlyIconControl
?
C
:
t
,
g
=
""
;
k
.
on
(
"click"
,
function
(
i
){
var
a
=
e
.
children
(
"."
+
y
),
n
=
k
.
children
(
".layui-icon"
)[
0
]?
k
.
children
(
".layui-icon"
):
k
.
find
(
".layui-tree-icon"
).
children
(
".layui-icon"
);
if
(
a
[
0
]){
if
(
e
.
hasClass
(
v
))
e
.
removeClass
(
v
),
a
.
slideUp
(
200
),
n
.
removeClass
(
h
).
addClass
(
o
);
else
if
(
e
.
addClass
(
v
),
a
.
slideDown
(
200
),
n
.
addClass
(
h
).
removeClass
(
o
),
r
.
accordion
){
var
l
=
e
.
siblings
(
"."
+
s
);
l
.
removeClass
(
v
),
l
.
children
(
"."
+
y
).
slideUp
(
200
),
l
.
find
(
".layui-tree-icon"
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
o
)}}
else
g
=
"normal"
}),
m
.
on
(
"click"
,
function
(){
var
n
=
i
(
this
);
n
.
hasClass
(
d
)
||
(
g
=
e
.
hasClass
(
v
)?
r
.
onlyIconControl
?
"open"
:
"close"
:
r
.
onlyIconControl
?
"close"
:
"open"
,
r
.
click
&&
r
.
click
({
elem
:
e
,
state
:
g
,
data
:
a
}))})},
g
.
prototype
.
setCheckbox
=
function
(
e
,
i
,
a
){
var
n
=
this
,
r
=
(
n
.
config
,
a
.
prop
(
"checked"
));
if
(
"object"
==
typeof
i
.
children
||
e
.
find
(
"."
+
y
)[
0
]){
var
l
=
e
.
find
(
"."
+
y
).
find
(
'input[name="layuiTreeCheck"]'
);
l
.
each
(
function
(){
this
.
disabled
||
(
this
.
checked
=
r
)})}
var
t
=
function
(
e
){
if
(
e
.
parents
(
"."
+
s
)[
0
]){
var
i
,
a
=
e
.
parent
(
"."
+
y
),
n
=
a
.
parent
(),
l
=
a
.
prev
().
find
(
'input[name="layuiTreeCheck"]'
);
r
?
l
.
prop
(
"checked"
,
r
):(
a
.
find
(
'input[name="layuiTreeCheck"]'
).
each
(
function
(){
this
.
checked
&&
(
i
=!
0
)}),
i
||
l
.
prop
(
"checked"
,
!
1
)),
t
(
n
)}};
t
(
e
),
n
.
renderForm
(
"checkbox"
)},
g
.
prototype
.
checkClick
=
function
(
e
,
a
){
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
t
=
l
.
children
(
"."
+
f
);
t
.
on
(
"click"
,
'input[name="layuiTreeCheck"]+'
,
function
(
l
){
layui
.
stope
(
l
);
var
t
=
i
(
this
).
prev
(),
d
=
t
.
prop
(
"checked"
);
t
.
prop
(
"disabled"
)
||
(
n
.
setCheckbox
(
e
,
a
,
t
),
r
.
oncheck
&&
r
.
oncheck
({
elem
:
e
,
checked
:
d
,
data
:
a
}))})},
g
.
prototype
.
operate
=
function
(
e
,
a
){
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
d
=
l
.
children
(
"."
+
f
);
l
.
children
(
".layui-tree-btnGroup"
).
on
(
"click"
,
".layui-icon"
,
function
(
l
){
layui
.
stope
(
l
);
var
f
=
i
(
this
).
data
(
"type"
),
g
=
e
.
children
(
"."
+
y
),
x
=
{
data
:
a
,
type
:
f
,
elem
:
e
};
if
(
"add"
==
f
){
g
[
0
]
||
(
r
.
showLine
?(
d
.
find
(
"."
+
c
).
addClass
(
"layui-tree-icon"
),
d
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
addClass
(
o
).
removeClass
(
"layui-icon-file"
)):
d
.
find
(
".layui-tree-iconArrow"
).
removeClass
(
t
),
e
.
append
(
'<div class="layui-tree-pack"></div>'
));
var
b
=
r
.
operate
&&
r
.
operate
(
x
),
w
=
{};
if
(
w
.
title
=
r
.
text
.
defaultNodeName
,
w
.
id
=
b
,
n
.
tree
(
e
.
children
(
"."
+
y
),[
w
]),
r
.
showLine
)
if
(
g
[
0
])
g
.
hasClass
(
k
)
||
g
.
addClass
(
k
),
e
.
find
(
"."
+
y
).
each
(
function
(){
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)}),
g
.
children
(
"."
+
s
).
last
().
prev
().
hasClass
(
C
)?
g
.
children
(
"."
+
s
).
last
().
prev
().
removeClass
(
C
):
g
.
children
(
"."
+
s
).
last
().
removeClass
(
C
),
!
e
.
parent
(
"."
+
y
)[
0
]
&&
e
.
next
()[
0
]
&&
g
.
children
(
"."
+
s
).
last
().
removeClass
(
C
);
else
{
var
T
=
e
.
siblings
(
"."
+
s
),
L
=
1
,
N
=
e
.
parent
(
"."
+
y
);
layui
.
each
(
T
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
L
=
0
)}),
1
==
L
?(
T
.
children
(
"."
+
y
).
addClass
(
m
),
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
e
.
children
(
"."
+
y
).
addClass
(
m
),
N
.
removeClass
(
k
),
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
)):
e
.
children
(
"."
+
y
).
children
(
"."
+
s
).
addClass
(
C
)}
if
(
!
r
.
showCheckbox
)
return
;
if
(
d
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
){
var
A
=
e
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
();
A
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
=!
0
}
n
.
renderForm
(
"checkbox"
)}
else
if
(
"update"
==
f
){
var
q
=
d
.
children
(
"."
+
p
).
html
();
d
.
children
(
"."
+
p
).
html
(
""
),
d
.
append
(
'<input type="text" class="layui-tree-editInput">'
),
d
.
children
(
".layui-tree-editInput"
).
val
(
q
).
focus
();
var
F
=
function
(
e
){
var
i
=
e
.
val
().
trim
();
i
=
i
?
i
:
r
.
text
.
defaultNodeName
,
e
.
remove
(),
d
.
children
(
"."
+
p
).
html
(
i
),
x
.
data
.
title
=
i
,
r
.
operate
&&
r
.
operate
(
x
)};
d
.
children
(
".layui-tree-editInput"
).
blur
(
function
(){
F
(
i
(
this
))}),
d
.
children
(
".layui-tree-editInput"
).
on
(
"keydown"
,
function
(
e
){
13
===
e
.
keyCode
&&
(
e
.
preventDefault
(),
F
(
i
(
this
)))})}
else
{
if
(
r
.
operate
&&
r
.
operate
(
x
),
x
.
status
=
"remove"
,
!
e
.
prev
(
"."
+
s
)[
0
]
&&!
e
.
next
(
"."
+
s
)[
0
]
&&!
e
.
parent
(
"."
+
y
)[
0
])
return
e
.
remove
(),
void
n
.
elem
.
append
(
n
.
elemNone
);
if
(
e
.
siblings
(
"."
+
s
).
children
(
"."
+
u
)[
0
]){
if
(
r
.
showCheckbox
){
var
I
=
function
(
e
){
if
(
e
.
parents
(
"."
+
s
)[
0
]){
var
a
=
e
.
siblings
(
"."
+
s
).
children
(
"."
+
u
),
r
=
e
.
parent
(
"."
+
y
).
prev
(),
l
=
r
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
],
t
=
1
,
d
=
0
;
0
==
l
.
checked
&&
(
a
.
each
(
function
(
e
,
a
){
var
n
=
i
(
a
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
];
0
!=
n
.
checked
||
n
.
disabled
||
(
t
=
0
),
n
.
disabled
||
(
d
=
1
)}),
1
==
t
&&
1
==
d
&&
(
l
.
checked
=!
0
,
n
.
renderForm
(
"checkbox"
),
I
(
r
.
parent
(
"."
+
s
))))}};
I
(
e
)}
if
(
r
.
showLine
){
var
T
=
e
.
siblings
(
"."
+
s
),
L
=
1
,
N
=
e
.
parent
(
"."
+
y
);
layui
.
each
(
T
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
L
=
0
)}),
1
==
L
?(
g
[
0
]
||
(
N
.
removeClass
(
k
),
T
.
children
(
"."
+
y
).
addClass
(
m
),
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
)),
e
.
next
()[
0
]?
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
):
e
.
prev
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
e
.
next
()[
0
]
||
e
.
parents
(
"."
+
s
)[
1
]
||
e
.
parents
(
"."
+
s
).
eq
(
0
).
next
()[
0
]
||
e
.
prev
(
"."
+
s
).
addClass
(
C
)):
!
e
.
next
()[
0
]
&&
e
.
hasClass
(
C
)
&&
e
.
prev
().
addClass
(
C
)}}
else
{
var
H
=
e
.
parent
(
"."
+
y
).
prev
();
if
(
r
.
showLine
){
H
.
find
(
"."
+
c
).
removeClass
(
"layui-tree-icon"
),
H
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
"layui-icon-file"
);
var
S
=
H
.
parents
(
"."
+
y
).
eq
(
0
);
S
.
addClass
(
k
),
S
.
children
(
"."
+
s
).
each
(
function
(){
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
)})}
else
H
.
find
(
".layui-tree-iconArrow"
).
addClass
(
t
);
e
.
parents
(
"."
+
s
).
eq
(
0
).
removeClass
(
v
),
e
.
parent
(
"."
+
y
).
remove
()}
e
.
remove
()}})},
g
.
prototype
.
drag
=
function
(){
var
e
=
this
,
a
=
e
.
config
;
e
.
elem
.
on
(
"dragstart"
,
"."
+
u
,
function
(){
var
e
=
i
(
this
).
parent
(
"."
+
s
),
n
=
e
.
parents
(
"."
+
s
)[
0
]?
e
.
parents
(
"."
+
s
).
eq
(
0
):
"未找到父节点"
;
a
.
dragstart
&&
a
.
dragstart
(
e
,
n
)}),
e
.
elem
.
on
(
"dragend"
,
"."
+
u
,
function
(
n
){
var
n
=
n
||
event
,
r
=
n
.
clientY
,
l
=
i
(
this
),
d
=
l
.
parent
(
"."
+
s
),
f
=
d
.
height
(),
p
=
d
.
offset
().
top
,
g
=
e
.
elem
.
find
(
"."
+
s
),
x
=
e
.
elem
.
height
(),
b
=
e
.
elem
.
offset
().
top
,
w
=
x
+
b
-
13
,
T
=
d
.
parents
(
"."
+
s
)[
0
],
L
=
d
.
next
()[
0
];
if
(
T
)
var
N
=
d
.
parent
(
"."
+
y
),
A
=
d
.
parents
(
"."
+
s
).
eq
(
0
),
q
=
A
.
parent
(
"."
+
y
),
F
=
A
.
offset
().
top
,
I
=
d
.
siblings
(),
H
=
A
.
children
(
"."
+
y
).
children
(
"."
+
s
).
length
;
var
S
=
function
(
n
){
if
(
T
||
L
||
e
.
elem
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
!
T
)
return
void
d
.
removeClass
(
"layui-tree-setHide"
);
if
(
1
==
H
)
a
.
showLine
?(
n
.
find
(
"."
+
c
).
removeClass
(
"layui-tree-icon"
),
n
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
"layui-icon-file"
),
q
.
addClass
(
k
),
q
.
children
(
"."
+
s
).
children
(
"."
+
y
).
each
(
function
(){
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)})):
n
.
find
(
".layui-tree-iconArrow"
).
addClass
(
t
),
n
.
children
(
"."
+
y
).
remove
(),
n
.
removeClass
(
v
);
else
{
if
(
a
.
showLine
){
var
r
=
1
;
layui
.
each
(
I
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
r
=
0
)}),
1
==
r
?(
d
.
children
(
"."
+
y
)[
0
]
||
(
N
.
removeClass
(
k
),
I
.
children
(
"."
+
y
).
addClass
(
m
),
I
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
)),
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
L
||
n
.
parents
(
"."
+
s
)[
0
]
||
n
.
next
()[
0
]
||
N
.
children
(
"."
+
s
).
last
().
addClass
(
C
)):
!
L
&&
d
.
hasClass
(
C
)
&&
N
.
children
(
"."
+
s
).
last
().
addClass
(
C
)}
if
(
a
.
showCheckbox
){
var
l
=
function
(
a
){
if
(
a
){
if
(
!
a
.
parents
(
"."
+
s
)[
0
])
return
}
else
if
(
!
n
[
0
])
return
;
var
r
=
a
?
a
.
siblings
().
children
(
"."
+
u
):
I
.
children
(
"."
+
u
),
t
=
a
?
a
.
parent
(
"."
+
y
).
prev
():
N
.
prev
(),
d
=
t
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
],
c
=
1
,
o
=
0
;
0
==
d
.
checked
&&
(
r
.
each
(
function
(
e
,
a
){
var
n
=
i
(
a
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
];
0
!=
n
.
checked
||
n
.
disabled
||
(
c
=
0
),
n
.
disabled
||
(
o
=
1
)}),
1
==
c
&&
1
==
o
&&
(
d
.
checked
=!
0
,
e
.
renderForm
(
"checkbox"
),
l
(
t
.
parent
(
"."
+
s
)
||
n
)))};
l
()}}};
g
.
each
(
function
(){
if
(
0
!=
i
(
this
).
height
()){
if
(
r
>
p
&&
r
<
p
+
f
)
return
void
(
a
.
dragend
&&
a
.
dragend
(
"drag error"
));
if
(
1
==
H
&&
r
>
F
&&
r
<
p
+
f
)
return
void
(
a
.
dragend
&&
a
.
dragend
(
"drag error"
));
var
n
=
i
(
this
).
offset
().
top
;
if
(
r
>
n
&&
r
<
n
+
15
){
if
(
i
(
this
).
children
(
"."
+
y
)[
0
]
||
(
a
.
showLine
?(
i
(
this
).
find
(
"."
+
c
).
eq
(
0
).
addClass
(
"layui-tree-icon"
),
i
(
this
).
find
(
"."
+
c
).
eq
(
0
).
children
(
".layui-icon"
).
addClass
(
o
).
removeClass
(
"layui-icon-file"
)):
i
(
this
).
find
(
".layui-tree-iconArrow"
).
removeClass
(
t
),
i
(
this
).
append
(
'<div class="layui-tree-pack"></div>'
)),
i
(
this
).
children
(
"."
+
y
).
append
(
d
),
S
(
A
),
a
.
showLine
){
var
l
=
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
);
if
(
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
1
==
l
.
length
){
var
h
=
i
(
this
).
siblings
(
"."
+
s
),
v
=
1
,
g
=
i
(
this
).
parent
(
"."
+
y
);
layui
.
each
(
h
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
v
=
0
)}),
1
==
v
?(
h
.
children
(
"."
+
y
).
addClass
(
m
),
h
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
i
(
this
).
children
(
"."
+
y
).
addClass
(
m
),
g
.
removeClass
(
k
),
g
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
).
removeClass
(
"layui-tree-setHide"
)):
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
).
addClass
(
C
).
removeClass
(
"layui-tree-setHide"
)}
else
d
.
prev
(
"."
+
s
).
hasClass
(
C
)?(
d
.
prev
(
"."
+
s
).
removeClass
(
C
),
d
.
addClass
(
C
)):(
d
.
removeClass
(
"layui-tree-setLineShort layui-tree-setHide"
),
d
.
children
(
"."
+
y
)[
0
]?
d
.
prev
(
"."
+
s
).
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
):
d
.
siblings
(
"."
+
s
).
find
(
"."
+
y
).
each
(
function
(){
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)})),
i
(
this
).
next
()[
0
]
||
d
.
addClass
(
C
)}
if
(
a
.
showCheckbox
&&
i
(
this
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
){
var
x
=
d
.
children
(
"."
+
u
);
x
.
find
(
'input[name="layuiTreeCheck"]+'
).
click
()}
return
a
.
dragend
&&
a
.
dragend
(
"drag success"
,
d
,
i
(
this
)),
!
1
}
if
(
r
<
n
){
if
(
i
(
this
).
before
(
d
),
S
(
A
),
a
.
showLine
){
var
b
=
d
.
children
(
"."
+
y
),
T
=
i
(
this
).
parents
(
"."
+
s
).
eq
(
0
),
L
=
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
();
if
(
b
[
0
]){
d
.
removeClass
(
C
),
b
.
children
(
"."
+
s
).
last
().
removeClass
(
C
);
var
h
=
d
.
siblings
(
"."
+
s
),
v
=
1
;
layui
.
each
(
h
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
v
=
0
)}),
1
==
v
?
T
[
0
]
&&
(
h
.
children
(
"."
+
y
).
addClass
(
m
),
h
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
L
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
).
removeClass
(
m
)):
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
!
T
.
parent
(
"."
+
y
)[
0
]
&&
T
.
next
()[
0
]
&&
L
.
removeClass
(
C
)}
else
T
.
hasClass
(
k
)
||
T
.
addClass
(
k
),
T
.
find
(
"."
+
y
).
each
(
function
(){
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)});
T
[
0
]
||
(
d
.
addClass
(
"layui-tree-setHide"
),
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
))}
if
(
T
[
0
]
&&
a
.
showCheckbox
&&
T
.
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
){
var
x
=
d
.
children
(
"."
+
u
);
x
.
find
(
'input[name="layuiTreeCheck"]+'
).
click
()}
return
a
.
dragend
&&
a
.
dragend
(
"拖拽成功,插入目标节点上方"
,
d
,
i
(
this
)),
!
1
}
if
(
r
>
w
)
return
e
.
elem
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
addClass
(
m
),
e
.
elem
.
append
(
d
),
S
(
A
),
d
.
prev
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
),
d
.
addClass
(
"layui-tree-setHide"
),
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
a
.
dragend
&&
a
.
dragend
(
"拖拽成功,插入最外层节点"
,
d
,
e
.
elem
),
!
1
}})})},
g
.
prototype
.
events
=
function
(){
var
e
=
this
,
a
=
e
.
config
,
n
=
e
.
elem
.
find
(
".layui-tree-checkedFirst"
);
layui
.
each
(
n
,
function
(
e
,
a
){
i
(
a
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]+'
).
trigger
(
"click"
)}),
e
.
elem
.
find
(
".layui-tree-search"
).
on
(
"keyup"
,
function
(){
var
n
=
i
(
this
),
r
=
n
.
val
(),
l
=
n
.
nextAll
(),
d
=
[];
l
.
find
(
"."
+
p
).
each
(
function
(){
var
e
=
i
(
this
).
parents
(
"."
+
u
);
if
(
i
(
this
).
html
().
indexOf
(
r
)
!=-
1
){
d
.
push
(
i
(
this
).
parent
());
var
a
=
function
(
e
){
e
.
addClass
(
"layui-tree-searchShow"
),
e
.
parent
(
"."
+
y
)[
0
]
&&
a
(
e
.
parent
(
"."
+
y
).
parent
(
"."
+
s
))};
a
(
e
.
parent
(
"."
+
s
))}}),
l
.
find
(
"."
+
u
).
each
(
function
(){
var
e
=
i
(
this
).
parent
(
"."
+
s
);
e
.
hasClass
(
"layui-tree-searchShow"
)
||
e
.
addClass
(
t
)}),
0
==
l
.
find
(
".layui-tree-searchShow"
).
length
&&
e
.
elem
.
append
(
e
.
elemNone
),
a
.
onsearch
&&
a
.
onsearch
({
elem
:
d
})}),
e
.
elem
.
find
(
".layui-tree-search"
).
on
(
"keydown"
,
function
(){
i
(
this
).
nextAll
().
find
(
"."
+
u
).
each
(
function
(){
var
e
=
i
(
this
).
parent
(
"."
+
s
);
e
.
removeClass
(
"layui-tree-searchShow "
+
t
)}),
i
(
".layui-tree-emptyText"
)[
0
]
&&
i
(
".layui-tree-emptyText"
).
remove
()})},
g
.
prototype
.
getChecked
=
function
(){
var
e
=
this
,
a
=
e
.
config
,
n
=
[],
r
=
[];
e
.
elem
.
find
(
".layui-form-checked"
).
each
(
function
(){
n
.
push
(
i
(
this
).
prev
()[
0
].
value
)});
var
l
=
function
(
e
,
a
){
layui
.
each
(
e
,
function
(
e
,
r
){
layui
.
each
(
n
,
function
(
e
,
n
){
if
(
r
.
id
==
n
){
var
t
=
i
.
extend
({},
r
);
return
delete
t
.
children
,
a
.
push
(
t
),
r
.
children
&&
(
t
.
children
=
[],
l
(
r
.
children
,
t
.
children
)),
!
0
}})})};
return
l
(
i
.
extend
({},
a
.
data
),
r
),
r
},
g
.
prototype
.
setChecked
=
function
(
e
){
var
a
=
this
;
a
.
config
;
a
.
elem
.
find
(
"."
+
s
).
each
(
function
(
a
,
n
){
var
r
=
i
(
this
).
data
(
"id"
),
l
=
i
(
n
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
),
t
=
l
.
next
();
if
(
"number"
==
typeof
e
){
if
(
r
==
e
)
return
l
[
0
].
checked
||
t
.
click
(),
!
1
}
else
i
.
inArray
(
r
,
e
)
!=-
1
&&
(
l
[
0
].
checked
||
t
.
click
())})},
l
.
that
=
{},
l
.
config
=
{},
r
.
reload
=
function
(
e
,
i
){
var
a
=
l
.
that
[
e
];
return
a
.
reload
(
i
),
l
.
call
(
a
)},
r
.
getChecked
=
function
(
e
){
var
i
=
l
.
that
[
e
];
return
i
.
getChecked
()},
r
.
setChecked
=
function
(
e
,
i
){
var
a
=
l
.
that
[
e
];
return
a
.
setChecked
(
i
)},
r
.
render
=
function
(
e
){
var
i
=
new
g
(
e
);
return
l
.
call
(
i
)},
e
(
n
,
r
)});
\ No newline at end of file
;
layui
.
define
(
"form"
,
function
(
e
)
{
"use strict"
;
var
i
=
layui
.
$
,
a
=
layui
.
form
,
n
=
"tree"
,
r
=
{
config
:
{},
index
:
layui
[
n
]
?
layui
[
n
].
index
+
1
e4
:
0
,
set
:
function
(
e
)
{
var
a
=
this
;
return
a
.
config
=
i
.
extend
({},
a
.
config
,
e
),
a
},
on
:
function
(
e
,
i
)
{
return
layui
.
onevent
.
call
(
this
,
n
,
e
,
i
)
}
},
l
=
function
()
{
var
e
=
this
,
i
=
e
.
config
,
a
=
i
.
id
||
e
.
index
;
return
l
.
that
[
a
]
=
e
,
l
.
config
[
a
]
=
i
,
{
config
:
i
,
reload
:
function
(
i
)
{
e
.
reload
.
call
(
e
,
i
)
},
getChecked
:
function
()
{
return
e
.
getChecked
.
call
(
e
)
},
setChecked
:
function
(
i
)
{
return
e
.
setChecked
.
call
(
e
,
i
)
}
}
},
t
=
"layui-hide"
,
d
=
"layui-disabled"
,
s
=
"layui-tree-set"
,
c
=
"layui-tree-iconClick"
,
o
=
"layui-icon-addition"
,
h
=
"layui-icon-subtraction"
,
u
=
"layui-tree-entry"
,
f
=
"layui-tree-main"
,
p
=
"layui-tree-txt"
,
y
=
"layui-tree-pack"
,
v
=
"layui-tree-spread"
,
C
=
"layui-tree-setLineShort"
,
m
=
"layui-tree-showLine"
,
k
=
"layui-tree-lineExtend"
,
g
=
function
(
e
)
{
var
a
=
this
;
a
.
index
=
++
r
.
index
,
a
.
config
=
i
.
extend
({},
a
.
config
,
r
.
config
,
e
),
a
.
render
()
};
g
.
prototype
.
config
=
{
data
:
[],
showCheckbox
:
!
1
,
showLine
:
!
0
,
accordion
:
!
1
,
onlyIconControl
:
!
1
,
isJump
:
!
1
,
edit
:
!
1
,
text
:
{
defaultNodeName
:
"未命名"
,
none
:
"无数据"
}
},
g
.
prototype
.
reload
=
function
(
e
)
{
var
a
=
this
;
layui
.
each
(
e
,
function
(
e
,
i
)
{
i
.
constructor
===
Array
&&
delete
a
.
config
[
e
]
}),
a
.
config
=
i
.
extend
(
!
0
,
{},
a
.
config
,
e
),
a
.
render
()
},
g
.
prototype
.
render
=
function
()
{
var
e
=
this
,
a
=
e
.
config
,
n
=
i
(
'<div class="layui-tree'
+
(
a
.
showCheckbox
?
" layui-form"
:
""
)
+
(
a
.
showLine
?
" layui-tree-line"
:
""
)
+
'" lay-filter="LAY-tree-'
+
e
.
index
+
'"></div>'
);
e
.
tree
(
n
);
var
r
=
a
.
elem
=
i
(
a
.
elem
);
if
(
r
[
0
])
{
if
(
a
.
showSearch
&&
n
.
prepend
(
'<input type="text" class="layui-input layui-tree-search" placeholder="请输入关键字进行过滤">'
),
e
.
key
=
a
.
id
||
e
.
index
,
e
.
elem
=
n
,
e
.
elemNone
=
i
(
'<div class="layui-tree-emptyText">'
+
a
.
text
.
none
+
"</div>"
),
r
.
html
(
e
.
elem
),
0
==
e
.
elem
.
find
(
".layui-tree-set"
).
length
)
return
e
.
elem
.
append
(
e
.
elemNone
);
a
.
drag
&&
e
.
drag
(),
a
.
showCheckbox
&&
e
.
renderForm
(
"checkbox"
),
e
.
elem
.
find
(
".layui-tree-set"
).
each
(
function
()
{
var
e
=
i
(
this
);
e
.
parent
(
".layui-tree-pack"
)[
0
]
||
e
.
addClass
(
"layui-tree-setHide"
),
!
e
.
next
()[
0
]
&&
e
.
parents
(
".layui-tree-pack"
).
eq
(
1
).
hasClass
(
"layui-tree-lineExtend"
)
&&
e
.
addClass
(
C
),
e
.
next
()[
0
]
||
e
.
parents
(
".layui-tree-set"
).
eq
(
0
).
next
()[
0
]
||
e
.
addClass
(
C
)
}),
e
.
events
()
}
},
g
.
prototype
.
renderForm
=
function
(
e
)
{
a
.
render
(
e
,
"LAY-tree-"
+
this
.
index
)
},
g
.
prototype
.
tree
=
function
(
e
,
a
)
{
var
n
=
this
,
r
=
n
.
config
,
l
=
a
||
r
.
data
;
layui
.
each
(
l
,
function
(
a
,
l
)
{
var
c
=
l
.
children
&&
l
.
children
.
length
>
0
,
o
=
i
(
'<div class="layui-tree-pack" '
+
(
l
.
spread
?
'style="display: block;"'
:
""
)
+
'"></div>'
),
h
=
i
([
'<div data-id="'
+
l
.
id
+
'" class="layui-tree-set'
+
(
l
.
spread
?
" layui-tree-spread"
:
""
)
+
(
l
.
checked
?
" layui-tree-checkedFirst"
:
""
)
+
'">'
,
"<div "
+
(
r
.
drag
&&
!
l
.
fixed
?
'draggable="true"'
:
""
)
+
' class="layui-tree-entry">'
,
'<div class="layui-tree-main">'
,
function
()
{
return
r
.
showLine
?
c
?
'<span class="layui-tree-iconClick layui-tree-icon"><i class="layui-icon '
+
(
l
.
spread
?
"layui-icon-subtraction"
:
"layui-icon-addition"
)
+
'"></i></span>'
:
'<span class="layui-tree-iconClick"><i class="layui-icon layui-icon-file"></i></span>'
:
'<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow '
+
(
c
?
""
:
t
)
+
'"></i></span>'
}(),
function
()
{
return
r
.
showCheckbox
?
'<input type="checkbox" name="layuiTreeCheck" lay-skin="primary" '
+
(
l
.
disabled
?
"disabled"
:
""
)
+
' value="'
+
l
.
id
+
'">'
:
""
}(),
function
()
{
return
r
.
isJump
&&
l
.
href
?
'<a href="'
+
l
.
href
+
'" target="_blank" class="'
+
p
+
'">'
+
(
l
.
title
||
l
.
label
||
r
.
text
.
defaultNodeName
)
+
"</a>"
:
'<span class="'
+
p
+
(
l
.
disabled
?
" "
+
d
:
""
)
+
'">'
+
(
l
.
title
||
l
.
label
||
r
.
text
.
defaultNodeName
)
+
"</span>"
}(),
"</div>"
,
function
()
{
if
(
!
r
.
edit
)
return
""
;
var
e
=
{
add
:
'<i class="layui-icon layui-icon-add-1" data-type="add"></i>'
,
update
:
'<i class="layui-icon layui-icon-edit" data-type="update"></i>'
,
del
:
'<i class="layui-icon layui-icon-delete" data-type="del"></i>'
},
i
=
[
'<div class="layui-btn-group layui-tree-btnGroup">'
];
return
r
.
edit
===
!
0
&&
(
r
.
edit
=
[
"update"
,
"del"
]),
"object"
==
typeof
r
.
edit
?
(
layui
.
each
(
r
.
edit
,
function
(
a
,
n
)
{
i
.
push
(
e
[
n
]
||
""
)
}),
i
.
join
(
""
)
+
"</div>"
)
:
void
0
}(),
"</div></div>"
].
join
(
""
));
c
&&
(
h
.
append
(
o
),
n
.
tree
(
o
,
l
.
children
)),
e
.
append
(
h
),
h
.
prev
(
"."
+
s
)[
0
]
&&
h
.
prev
().
children
(
".layui-tree-pack"
).
addClass
(
"layui-tree-showLine"
),
c
||
h
.
parent
(
".layui-tree-pack"
).
addClass
(
"layui-tree-lineExtend"
),
n
.
spread
(
h
,
l
),
r
.
showCheckbox
&&
n
.
checkClick
(
h
,
l
),
r
.
edit
&&
n
.
operate
(
h
,
l
)
})
},
g
.
prototype
.
spread
=
function
(
e
,
a
)
{
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
t
=
l
.
children
(
"."
+
f
),
C
=
l
.
find
(
"."
+
c
),
m
=
l
.
find
(
"."
+
p
),
k
=
r
.
onlyIconControl
?
C
:
t
,
g
=
""
;
k
.
on
(
"click"
,
function
(
i
)
{
var
a
=
e
.
children
(
"."
+
y
),
n
=
k
.
children
(
".layui-icon"
)[
0
]
?
k
.
children
(
".layui-icon"
)
:
k
.
find
(
".layui-tree-icon"
).
children
(
".layui-icon"
);
if
(
a
[
0
])
{
if
(
e
.
hasClass
(
v
))
e
.
removeClass
(
v
),
a
.
slideUp
(
200
),
n
.
removeClass
(
h
).
addClass
(
o
);
else
if
(
e
.
addClass
(
v
),
a
.
slideDown
(
200
),
n
.
addClass
(
h
).
removeClass
(
o
),
r
.
accordion
)
{
var
l
=
e
.
siblings
(
"."
+
s
);
l
.
removeClass
(
v
),
l
.
children
(
"."
+
y
).
slideUp
(
200
),
l
.
find
(
".layui-tree-icon"
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
o
)
}
}
else
g
=
"normal"
}),
m
.
on
(
"click"
,
function
()
{
var
n
=
i
(
this
);
n
.
hasClass
(
d
)
||
(
g
=
e
.
hasClass
(
v
)
?
r
.
onlyIconControl
?
"open"
:
"close"
:
r
.
onlyIconControl
?
"close"
:
"open"
,
r
.
click
&&
r
.
click
({
elem
:
e
,
state
:
g
,
data
:
a
}))
})
},
g
.
prototype
.
setCheckbox
=
function
(
e
,
i
,
a
)
{
var
n
=
this
,
r
=
(
n
.
config
,
a
.
prop
(
"checked"
));
if
(
"object"
==
typeof
i
.
children
||
e
.
find
(
"."
+
y
)[
0
])
{
var
l
=
e
.
find
(
"."
+
y
).
find
(
'input[name="layuiTreeCheck"]'
);
l
.
each
(
function
()
{
this
.
disabled
||
(
this
.
checked
=
r
)
})
}
var
t
=
function
(
e
)
{
if
(
e
.
parents
(
"."
+
s
)[
0
])
{
var
i
,
a
=
e
.
parent
(
"."
+
y
),
n
=
a
.
parent
(),
l
=
a
.
prev
().
find
(
'input[name="layuiTreeCheck"]'
);
r
?
l
.
prop
(
"checked"
,
r
)
:
(
a
.
find
(
'input[name="layuiTreeCheck"]'
).
each
(
function
()
{
this
.
checked
&&
(
i
=
!
0
)
}),
i
||
l
.
prop
(
"checked"
,
!
1
)),
t
(
n
)
}
};
t
(
e
),
n
.
renderForm
(
"checkbox"
)
},
g
.
prototype
.
checkClick
=
function
(
e
,
a
)
{
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
t
=
l
.
children
(
"."
+
f
);
t
.
on
(
"click"
,
'input[name="layuiTreeCheck"]+'
,
function
(
l
)
{
layui
.
stope
(
l
);
var
t
=
i
(
this
).
prev
(),
d
=
t
.
prop
(
"checked"
);
t
.
prop
(
"disabled"
)
||
(
n
.
setCheckbox
(
e
,
a
,
t
),
r
.
oncheck
&&
r
.
oncheck
({
elem
:
e
,
checked
:
d
,
data
:
a
}))
})
},
g
.
prototype
.
operate
=
function
(
e
,
a
)
{
var
n
=
this
,
r
=
n
.
config
,
l
=
e
.
children
(
"."
+
u
),
d
=
l
.
children
(
"."
+
f
);
l
.
children
(
".layui-tree-btnGroup"
).
on
(
"click"
,
".layui-icon"
,
function
(
l
)
{
layui
.
stope
(
l
);
var
f
=
i
(
this
).
data
(
"type"
),
g
=
e
.
children
(
"."
+
y
),
x
=
{
data
:
a
,
type
:
f
,
elem
:
e
};
if
(
"add"
==
f
)
{
g
[
0
]
||
(
r
.
showLine
?
(
d
.
find
(
"."
+
c
).
addClass
(
"layui-tree-icon"
),
d
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
addClass
(
o
).
removeClass
(
"layui-icon-file"
))
:
d
.
find
(
".layui-tree-iconArrow"
).
removeClass
(
t
),
e
.
append
(
'<div class="layui-tree-pack"></div>'
));
var
b
=
r
.
operate
&&
r
.
operate
(
x
),
w
=
{};
if
(
w
.
title
=
r
.
text
.
defaultNodeName
,
w
.
id
=
b
,
n
.
tree
(
e
.
children
(
"."
+
y
),
[
w
]),
r
.
showLine
)
if
(
g
[
0
])
g
.
hasClass
(
k
)
||
g
.
addClass
(
k
),
e
.
find
(
"."
+
y
).
each
(
function
()
{
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
}),
g
.
children
(
"."
+
s
).
last
().
prev
().
hasClass
(
C
)
?
g
.
children
(
"."
+
s
).
last
().
prev
().
removeClass
(
C
)
:
g
.
children
(
"."
+
s
).
last
().
removeClass
(
C
),
!
e
.
parent
(
"."
+
y
)[
0
]
&&
e
.
next
()[
0
]
&&
g
.
children
(
"."
+
s
).
last
().
removeClass
(
C
);
else
{
var
T
=
e
.
siblings
(
"."
+
s
),
L
=
1
,
N
=
e
.
parent
(
"."
+
y
);
layui
.
each
(
T
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
L
=
0
)
}),
1
==
L
?
(
T
.
children
(
"."
+
y
).
addClass
(
m
),
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
e
.
children
(
"."
+
y
).
addClass
(
m
),
N
.
removeClass
(
k
),
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
))
:
e
.
children
(
"."
+
y
).
children
(
"."
+
s
).
addClass
(
C
)
}
if
(
!
r
.
showCheckbox
)
return
;
if
(
d
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
)
{
var
A
=
e
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
();
A
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
=
!
0
}
n
.
renderForm
(
"checkbox"
)
}
else
if
(
"update"
==
f
)
{
var
q
=
d
.
children
(
"."
+
p
).
html
();
d
.
children
(
"."
+
p
).
html
(
""
),
d
.
append
(
'<input type="text" class="layui-tree-editInput">'
),
d
.
children
(
".layui-tree-editInput"
).
val
(
q
).
focus
();
var
F
=
function
(
e
)
{
var
i
=
e
.
val
().
trim
();
i
=
i
?
i
:
r
.
text
.
defaultNodeName
,
e
.
remove
(),
d
.
children
(
"."
+
p
).
html
(
i
),
x
.
data
.
title
=
i
,
r
.
operate
&&
r
.
operate
(
x
)
};
d
.
children
(
".layui-tree-editInput"
).
blur
(
function
()
{
F
(
i
(
this
))
}),
d
.
children
(
".layui-tree-editInput"
).
on
(
"keydown"
,
function
(
e
)
{
13
===
e
.
keyCode
&&
(
e
.
preventDefault
(),
F
(
i
(
this
)))
})
}
else
{
if
(
r
.
operate
&&
r
.
operate
(
x
),
x
.
status
=
"remove"
,
!
e
.
prev
(
"."
+
s
)[
0
]
&&
!
e
.
next
(
"."
+
s
)[
0
]
&&
!
e
.
parent
(
"."
+
y
)[
0
])
return
e
.
remove
(),
void
n
.
elem
.
append
(
n
.
elemNone
);
if
(
e
.
siblings
(
"."
+
s
).
children
(
"."
+
u
)[
0
])
{
if
(
r
.
showCheckbox
)
{
var
I
=
function
(
e
)
{
if
(
e
.
parents
(
"."
+
s
)[
0
])
{
var
a
=
e
.
siblings
(
"."
+
s
).
children
(
"."
+
u
),
r
=
e
.
parent
(
"."
+
y
).
prev
(),
l
=
r
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
],
t
=
1
,
d
=
0
;
0
==
l
.
checked
&&
(
a
.
each
(
function
(
e
,
a
)
{
var
n
=
i
(
a
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
];
0
!=
n
.
checked
||
n
.
disabled
||
(
t
=
0
),
n
.
disabled
||
(
d
=
1
)
}),
1
==
t
&&
1
==
d
&&
(
l
.
checked
=
!
0
,
n
.
renderForm
(
"checkbox"
),
I
(
r
.
parent
(
"."
+
s
))))
}
};
I
(
e
)
}
if
(
r
.
showLine
)
{
var
T
=
e
.
siblings
(
"."
+
s
),
L
=
1
,
N
=
e
.
parent
(
"."
+
y
);
layui
.
each
(
T
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
L
=
0
)
}),
1
==
L
?
(
g
[
0
]
||
(
N
.
removeClass
(
k
),
T
.
children
(
"."
+
y
).
addClass
(
m
),
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
)),
e
.
next
()[
0
]
?
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
:
e
.
prev
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
e
.
next
()[
0
]
||
e
.
parents
(
"."
+
s
)[
1
]
||
e
.
parents
(
"."
+
s
).
eq
(
0
).
next
()[
0
]
||
e
.
prev
(
"."
+
s
).
addClass
(
C
))
:
!
e
.
next
()[
0
]
&&
e
.
hasClass
(
C
)
&&
e
.
prev
().
addClass
(
C
)
}
}
else
{
var
H
=
e
.
parent
(
"."
+
y
).
prev
();
if
(
r
.
showLine
)
{
H
.
find
(
"."
+
c
).
removeClass
(
"layui-tree-icon"
),
H
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
"layui-icon-file"
);
var
S
=
H
.
parents
(
"."
+
y
).
eq
(
0
);
S
.
addClass
(
k
),
S
.
children
(
"."
+
s
).
each
(
function
()
{
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
})
}
else
H
.
find
(
".layui-tree-iconArrow"
).
addClass
(
t
);
e
.
parents
(
"."
+
s
).
eq
(
0
).
removeClass
(
v
),
e
.
parent
(
"."
+
y
).
remove
()
}
e
.
remove
()
}
})
},
g
.
prototype
.
drag
=
function
()
{
var
e
=
this
,
a
=
e
.
config
;
e
.
elem
.
on
(
"dragstart"
,
"."
+
u
,
function
()
{
var
e
=
i
(
this
).
parent
(
"."
+
s
),
n
=
e
.
parents
(
"."
+
s
)[
0
]
?
e
.
parents
(
"."
+
s
).
eq
(
0
)
:
"未找到父节点"
;
a
.
dragstart
&&
a
.
dragstart
(
e
,
n
)
}),
e
.
elem
.
on
(
"dragend"
,
"."
+
u
,
function
(
n
)
{
var
n
=
n
||
event
,
r
=
n
.
clientY
,
l
=
i
(
this
),
d
=
l
.
parent
(
"."
+
s
),
f
=
d
.
height
(),
p
=
d
.
offset
().
top
,
g
=
e
.
elem
.
find
(
"."
+
s
),
x
=
e
.
elem
.
height
(),
b
=
e
.
elem
.
offset
().
top
,
w
=
x
+
b
-
13
,
T
=
d
.
parents
(
"."
+
s
)[
0
],
L
=
d
.
next
()[
0
];
if
(
T
)
var
N
=
d
.
parent
(
"."
+
y
),
A
=
d
.
parents
(
"."
+
s
).
eq
(
0
),
q
=
A
.
parent
(
"."
+
y
),
F
=
A
.
offset
().
top
,
I
=
d
.
siblings
(),
H
=
A
.
children
(
"."
+
y
).
children
(
"."
+
s
).
length
;
var
S
=
function
(
n
)
{
if
(
T
||
L
||
e
.
elem
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
!
T
)
return
void
d
.
removeClass
(
"layui-tree-setHide"
);
if
(
1
==
H
)
a
.
showLine
?
(
n
.
find
(
"."
+
c
).
removeClass
(
"layui-tree-icon"
),
n
.
find
(
"."
+
c
).
children
(
".layui-icon"
).
removeClass
(
h
).
addClass
(
"layui-icon-file"
),
q
.
addClass
(
k
),
q
.
children
(
"."
+
s
).
children
(
"."
+
y
).
each
(
function
()
{
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
}))
:
n
.
find
(
".layui-tree-iconArrow"
).
addClass
(
t
),
n
.
children
(
"."
+
y
).
remove
(),
n
.
removeClass
(
v
);
else
{
if
(
a
.
showLine
)
{
var
r
=
1
;
layui
.
each
(
I
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
r
=
0
)
}),
1
==
r
?
(
d
.
children
(
"."
+
y
)[
0
]
||
(
N
.
removeClass
(
k
),
I
.
children
(
"."
+
y
).
addClass
(
m
),
I
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
)),
N
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
L
||
n
.
parents
(
"."
+
s
)[
0
]
||
n
.
next
()[
0
]
||
N
.
children
(
"."
+
s
).
last
().
addClass
(
C
))
:
!
L
&&
d
.
hasClass
(
C
)
&&
N
.
children
(
"."
+
s
).
last
().
addClass
(
C
)
}
if
(
a
.
showCheckbox
)
{
var
l
=
function
(
a
)
{
if
(
a
)
{
if
(
!
a
.
parents
(
"."
+
s
)[
0
])
return
}
else
if
(
!
n
[
0
])
return
;
var
r
=
a
?
a
.
siblings
().
children
(
"."
+
u
)
:
I
.
children
(
"."
+
u
),
t
=
a
?
a
.
parent
(
"."
+
y
).
prev
()
:
N
.
prev
(),
d
=
t
.
find
(
'input[name="layuiTreeCheck"]'
)[
0
],
c
=
1
,
o
=
0
;
0
==
d
.
checked
&&
(
r
.
each
(
function
(
e
,
a
)
{
var
n
=
i
(
a
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
];
0
!=
n
.
checked
||
n
.
disabled
||
(
c
=
0
),
n
.
disabled
||
(
o
=
1
)
}),
1
==
c
&&
1
==
o
&&
(
d
.
checked
=
!
0
,
e
.
renderForm
(
"checkbox"
),
l
(
t
.
parent
(
"."
+
s
)
||
n
)))
};
l
()
}
}
};
g
.
each
(
function
()
{
if
(
0
!=
i
(
this
).
height
())
{
if
(
r
>
p
&&
r
<
p
+
f
)
return
void
(
a
.
dragend
&&
a
.
dragend
(
"drag error"
));
if
(
1
==
H
&&
r
>
F
&&
r
<
p
+
f
)
return
void
(
a
.
dragend
&&
a
.
dragend
(
"drag error"
));
var
n
=
i
(
this
).
offset
().
top
;
if
(
r
>
n
&&
r
<
n
+
15
)
{
if
(
i
(
this
).
children
(
"."
+
y
)[
0
]
||
(
a
.
showLine
?
(
i
(
this
).
find
(
"."
+
c
).
eq
(
0
).
addClass
(
"layui-tree-icon"
),
i
(
this
).
find
(
"."
+
c
).
eq
(
0
).
children
(
".layui-icon"
).
addClass
(
o
).
removeClass
(
"layui-icon-file"
))
:
i
(
this
).
find
(
".layui-tree-iconArrow"
).
removeClass
(
t
),
i
(
this
).
append
(
'<div class="layui-tree-pack"></div>'
)),
i
(
this
).
children
(
"."
+
y
).
append
(
d
),
S
(
A
),
a
.
showLine
)
{
var
l
=
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
);
if
(
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
1
==
l
.
length
)
{
var
h
=
i
(
this
).
siblings
(
"."
+
s
),
v
=
1
,
g
=
i
(
this
).
parent
(
"."
+
y
);
layui
.
each
(
h
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
v
=
0
)
}),
1
==
v
?
(
h
.
children
(
"."
+
y
).
addClass
(
m
),
h
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
i
(
this
).
children
(
"."
+
y
).
addClass
(
m
),
g
.
removeClass
(
k
),
g
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
).
removeClass
(
"layui-tree-setHide"
))
:
i
(
this
).
children
(
"."
+
y
).
children
(
"."
+
s
).
addClass
(
C
).
removeClass
(
"layui-tree-setHide"
)
}
else
d
.
prev
(
"."
+
s
).
hasClass
(
C
)
?
(
d
.
prev
(
"."
+
s
).
removeClass
(
C
),
d
.
addClass
(
C
))
:
(
d
.
removeClass
(
"layui-tree-setLineShort layui-tree-setHide"
),
d
.
children
(
"."
+
y
)[
0
]
?
d
.
prev
(
"."
+
s
).
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
)
:
d
.
siblings
(
"."
+
s
).
find
(
"."
+
y
).
each
(
function
()
{
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
})),
i
(
this
).
next
()[
0
]
||
d
.
addClass
(
C
)
}
if
(
a
.
showCheckbox
&&
i
(
this
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
)
{
var
x
=
d
.
children
(
"."
+
u
);
x
.
find
(
'input[name="layuiTreeCheck"]+'
).
click
()
}
return
a
.
dragend
&&
a
.
dragend
(
"drag success"
,
d
,
i
(
this
)),
!
1
}
if
(
r
<
n
)
{
if
(
i
(
this
).
before
(
d
),
S
(
A
),
a
.
showLine
)
{
var
b
=
d
.
children
(
"."
+
y
),
T
=
i
(
this
).
parents
(
"."
+
s
).
eq
(
0
),
L
=
T
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
();
if
(
b
[
0
])
{
d
.
removeClass
(
C
),
b
.
children
(
"."
+
s
).
last
().
removeClass
(
C
);
var
h
=
d
.
siblings
(
"."
+
s
),
v
=
1
;
layui
.
each
(
h
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
y
)[
0
]
||
(
v
=
0
)
}),
1
==
v
?
T
[
0
]
&&
(
h
.
children
(
"."
+
y
).
addClass
(
m
),
h
.
children
(
"."
+
y
).
children
(
"."
+
s
).
removeClass
(
C
),
L
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
).
removeClass
(
m
))
:
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
!
T
.
parent
(
"."
+
y
)[
0
]
&&
T
.
next
()[
0
]
&&
L
.
removeClass
(
C
)
}
else
T
.
hasClass
(
k
)
||
T
.
addClass
(
k
),
T
.
find
(
"."
+
y
).
each
(
function
()
{
i
(
this
).
children
(
"."
+
s
).
last
().
addClass
(
C
)
});
T
[
0
]
||
(
d
.
addClass
(
"layui-tree-setHide"
),
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
))
}
if
(
T
[
0
]
&&
a
.
showCheckbox
&&
T
.
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
)[
0
].
checked
)
{
var
x
=
d
.
children
(
"."
+
u
);
x
.
find
(
'input[name="layuiTreeCheck"]+'
).
click
()
}
return
a
.
dragend
&&
a
.
dragend
(
"拖拽成功,插入目标节点上方"
,
d
,
i
(
this
)),
!
1
}
if
(
r
>
w
)
return
e
.
elem
.
children
(
"."
+
s
).
last
().
children
(
"."
+
y
).
addClass
(
m
),
e
.
elem
.
append
(
d
),
S
(
A
),
d
.
prev
().
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
removeClass
(
C
),
d
.
addClass
(
"layui-tree-setHide"
),
d
.
children
(
"."
+
y
).
children
(
"."
+
s
).
last
().
addClass
(
C
),
a
.
dragend
&&
a
.
dragend
(
"拖拽成功,插入最外层节点"
,
d
,
e
.
elem
),
!
1
}
})
})
},
g
.
prototype
.
events
=
function
()
{
var
e
=
this
,
a
=
e
.
config
,
n
=
e
.
elem
.
find
(
".layui-tree-checkedFirst"
);
layui
.
each
(
n
,
function
(
e
,
a
)
{
i
(
a
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]+'
).
trigger
(
"click"
)
}),
e
.
elem
.
find
(
".layui-tree-search"
).
on
(
"keyup"
,
function
()
{
var
n
=
i
(
this
),
r
=
n
.
val
(),
l
=
n
.
nextAll
(),
d
=
[];
l
.
find
(
"."
+
p
).
each
(
function
()
{
var
e
=
i
(
this
).
parents
(
"."
+
u
);
if
(
i
(
this
).
html
().
indexOf
(
r
)
!=
-
1
)
{
d
.
push
(
i
(
this
).
parent
());
var
a
=
function
(
e
)
{
e
.
addClass
(
"layui-tree-searchShow"
),
e
.
parent
(
"."
+
y
)[
0
]
&&
a
(
e
.
parent
(
"."
+
y
).
parent
(
"."
+
s
))
};
a
(
e
.
parent
(
"."
+
s
))
}
}),
l
.
find
(
"."
+
u
).
each
(
function
()
{
var
e
=
i
(
this
).
parent
(
"."
+
s
);
e
.
hasClass
(
"layui-tree-searchShow"
)
||
e
.
addClass
(
t
)
}),
0
==
l
.
find
(
".layui-tree-searchShow"
).
length
&&
e
.
elem
.
append
(
e
.
elemNone
),
a
.
onsearch
&&
a
.
onsearch
({
elem
:
d
})
}),
e
.
elem
.
find
(
".layui-tree-search"
).
on
(
"keydown"
,
function
()
{
i
(
this
).
nextAll
().
find
(
"."
+
u
).
each
(
function
()
{
var
e
=
i
(
this
).
parent
(
"."
+
s
);
e
.
removeClass
(
"layui-tree-searchShow "
+
t
)
}),
i
(
".layui-tree-emptyText"
)[
0
]
&&
i
(
".layui-tree-emptyText"
).
remove
()
})
},
g
.
prototype
.
getChecked
=
function
()
{
var
e
=
this
,
a
=
e
.
config
,
n
=
[],
r
=
[];
e
.
elem
.
find
(
".layui-form-checked"
).
each
(
function
()
{
n
.
push
(
i
(
this
).
prev
()[
0
].
value
)
});
var
l
=
function
(
e
,
a
)
{
layui
.
each
(
e
,
function
(
e
,
r
)
{
layui
.
each
(
n
,
function
(
e
,
n
)
{
if
(
r
.
id
==
n
)
{
var
t
=
i
.
extend
({},
r
);
return
delete
t
.
children
,
a
.
push
(
t
),
r
.
children
&&
(
t
.
children
=
[],
l
(
r
.
children
,
t
.
children
)),
!
0
}
})
})
};
return
l
(
i
.
extend
({},
a
.
data
),
r
),
r
},
g
.
prototype
.
setChecked
=
function
(
e
)
{
var
a
=
this
;
a
.
config
;
a
.
elem
.
find
(
"."
+
s
).
each
(
function
(
a
,
n
)
{
var
r
=
i
(
this
).
data
(
"id"
),
l
=
i
(
n
).
children
(
"."
+
u
).
find
(
'input[name="layuiTreeCheck"]'
),
t
=
l
.
next
();
if
(
"number"
==
typeof
e
)
{
if
(
r
==
e
)
return
l
[
0
].
checked
||
t
.
click
(),
!
1
}
else
i
.
inArray
(
r
,
e
)
!=
-
1
&&
(
l
[
0
].
checked
||
t
.
click
())
})
},
l
.
that
=
{},
l
.
config
=
{},
r
.
reload
=
function
(
e
,
i
)
{
var
a
=
l
.
that
[
e
];
return
a
.
reload
(
i
),
l
.
call
(
a
)
},
r
.
getChecked
=
function
(
e
)
{
var
i
=
l
.
that
[
e
];
return
i
.
getChecked
()
},
r
.
setChecked
=
function
(
e
,
i
)
{
var
a
=
l
.
that
[
e
];
return
a
.
setChecked
(
i
)
},
r
.
render
=
function
(
e
)
{
var
i
=
new
g
(
e
);
return
l
.
call
(
i
)
},
e
(
n
,
r
)
});
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论