Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周远喜
mes-ui
Commits
29b52897
Commit
29b52897
authored
May 07, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员选择控件开发完成
parent
230baa98
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
100 additions
and
36 deletions
+100
-36
base.less
assets/css/base.less
+3
-0
userSelect.vue
components/page/userSelect.vue
+92
-32
test.vue
pages/test.vue
+3
-3
user.vue
pages/test/user.vue
+2
-1
No files found.
assets/css/base.less
View file @
29b52897
...
@@ -60,6 +60,9 @@ div::-webkit-scrollbar{
...
@@ -60,6 +60,9 @@ div::-webkit-scrollbar{
.fg{
.fg{
flex-grow: 1;
flex-grow: 1;
}
}
.fs{
flex-shrink: 0;
}
.fg2{
.fg2{
flex-grow: 2;
flex-grow: 2;
}
}
...
...
components/page/userSelect.vue
View file @
29b52897
...
@@ -24,22 +24,22 @@
...
@@ -24,22 +24,22 @@
</dl>
</dl>
</div>
</div>
<div
class=
"footer flex"
>
<div
class=
"footer flex"
>
<div
v-width=
"50"
class=
"f
lex fa-m
"
>
<div
v-width=
"50"
class=
"f
a-m fs
"
>
<span>
已选项
</span>
<span>
已选项
</span>
</div>
</div>
<dl
class=
"fg"
>
<div
class=
"fg"
>
<dl>
<dd
v-for=
"(li,i) in checkedItems"
>
<dd
v-for=
"(li,i) in checkedItems"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<span
class=
"fg"
>
<span
class=
"fg"
>
{{
li
.
userName
}}
</span>
{{
li
.
userName
}}
<a
@
click=
"removeItem(li)"
>
</span>
<Icon
type=
"md-close"
size=
"16"
/>
<a>
X
</a>
</a>
</div>
</div>
</dd>
</dd>
</dl>
</dl>
</div>
</div>
</div>
</div>
</div>
...
@@ -113,7 +113,7 @@ export default {
...
@@ -113,7 +113,7 @@ export default {
default
:
""
default
:
""
}
}
},
},
methods
:
{
methods
:
{
change
(
event
)
{
change
(
event
)
{
// console.log(event)
// console.log(event)
this
.
$emit
(
"on-change"
,
event
);
this
.
$emit
(
"on-change"
,
event
);
...
@@ -131,18 +131,27 @@ export default {
...
@@ -131,18 +131,27 @@ export default {
})
})
.
then
(
r
=>
{
.
then
(
r
=>
{
this
.
data
=
r
.
result
;
this
.
data
=
r
.
result
;
if
(
this
.
theme
==
"list"
){
this
.
departmentGroup
();
this
.
departmentGroup
();
}
});
});
},
},
departmentGroup
()
{
departmentGroup
()
{
var
group
=
[];
var
group
=
[];
group
=
this
.
$u
.
group
(
this
.
data
,
u
=>
{
var
users
=
this
.
$u
.
clone
(
this
.
data
);
if
(
this
.
name
&&
this
.
name
.
length
>
0
){
users
.
map
(
u
=>
{
u
.
checked
=
this
.
name
.
indexOf
(
u
.
id
)
>-
1
;
})
}
group
=
this
.
$u
.
group
(
users
,
u
=>
{
return
u
.
departmentId
;
return
u
.
departmentId
;
});
});
var
deps
=
[];
var
deps
=
[];
group
.
map
((
u
,
i
)
=>
{
group
.
map
((
u
,
i
)
=>
{
deps
.
push
({
deps
.
push
({
departmentTitle
:
u
[
0
].
departmentTitle
,
departmentTitle
:
u
[
0
].
departmentTitle
,
departmentId
:
u
[
0
].
departmentId
,
children
:
u
,
children
:
u
,
opened
:
(
i
=
0
),
opened
:
(
i
=
0
),
checked
:
false
checked
:
false
...
@@ -158,39 +167,75 @@ export default {
...
@@ -158,39 +167,75 @@ export default {
item
.
checked
=
!
item
.
checked
;
item
.
checked
=
!
item
.
checked
;
this
.
group
[
i
][
j
]
=
item
;
this
.
group
[
i
][
j
]
=
item
;
this
.
$set
(
this
.
group
,
i
,
this
.
group
[
i
]);
this
.
$set
(
this
.
group
,
i
,
this
.
group
[
i
]);
this
.
listSetValue
();
},
removeItem
(
item
)
{
this
.
group
.
map
((
u
,
i
)
=>
{
if
(
u
.
departmentId
==
item
.
departmentId
)
{
u
.
children
.
map
(
p
=>
{
if
(
p
.
id
==
item
.
id
)
{
p
.
checked
=
false
;
}
});
this
.
$set
(
this
.
group
,
i
,
u
);
}
});
this
.
listSetValue
();
},
},
checkAll
(
item
,
i
){
//list 时,设置值。
item
.
children
.
map
(
u
=>
{
listSetValue
(){
u
.
checked
=
item
.
checked
;
var
ids
=
[];
this
.
checkedItems
.
map
(
u
=>
{
ids
.
push
(
u
.
id
)
})
})
this
.
$set
(
this
.
group
,
i
,
this
.
group
[
i
]);
this
.
$emit
(
"on-change"
,
ids
);
},
checkAll
(
item
,
i
)
{
item
.
children
.
map
(
u
=>
{
u
.
checked
=
item
.
checked
;
});
this
.
$set
(
this
.
group
,
i
,
this
.
group
[
i
]);
this
.
listSetValue
();
},
},
//获取所有的选中项
//获取所有的选中项
getSelectItems
()
{
getSelectItems
()
{
var
items
=
[];
var
items
=
[];
if
(
!
this
.
multiple
)
{
if
(
this
.
theme
==
"list"
)
{
//单选时返回信息
this
.
checkedItems
.
map
(
u
=>
{
var
item1
=
this
.
dic
.
filter
(
u
=>
u
.
value
==
this
.
value
);
items
.
push
(
u
);
if
(
item1
&&
item1
[
0
])
{
});
items
.
push
(
item1
[
0
]);
}
}
else
{
}
else
{
//复选时返回
if
(
!
this
.
multiple
)
{
this
.
value
.
forEach
(
v
=>
{
//单选时返回信息
var
item
=
this
.
dic
.
filter
(
u
=>
u
.
value
==
v
);
var
item
1
=
this
.
dic
.
filter
(
u
=>
u
.
value
==
this
.
value
);
if
(
item
&&
item
[
0
])
{
if
(
item
1
&&
item1
[
0
])
{
items
.
push
(
item
[
0
]);
items
.
push
(
item
1
[
0
]);
}
}
});
}
else
{
//复选时返回
this
.
value
.
forEach
(
v
=>
{
var
item
=
this
.
dic
.
filter
(
u
=>
u
.
value
==
v
);
if
(
item
&&
item
[
0
])
{
items
.
push
(
item
[
0
]);
}
});
}
}
}
return
items
;
return
items
;
},
},
//获取所有选中项的名称
//获取所有选中项的名称
getSelectNames
()
{
getSelectNames
()
{
var
names
=
[];
var
names
=
[];
this
.
getSelectItems
().
forEach
(
v
=>
{
if
(
this
.
theme
==
"list"
)
{
names
.
push
(
v
.
label
);
this
.
checkedItems
.
map
(
u
=>
{
});
items
.
push
(
u
.
userName
);
});
}
else
{
this
.
getSelectItems
().
forEach
(
v
=>
{
names
.
push
(
v
.
label
);
});
}
return
names
;
return
names
;
}
}
},
},
...
@@ -253,6 +298,7 @@ export default {
...
@@ -253,6 +298,7 @@ export default {
font-size: 14px;
font-size: 14px;
}
}
dl {
dl {
width: 100%;
margin-bottom: 2px;
margin-bottom: 2px;
dt,
dt,
dd {
dd {
...
@@ -302,6 +348,20 @@ export default {
...
@@ -302,6 +348,20 @@ export default {
border: 2px solid transparent;
border: 2px solid transparent;
color: #515a6e;
color: #515a6e;
margin: 10px;
margin: 10px;
a {
display: inline-flex;
width: 20px;
height: 20px;
border-radius: 4px;
border: 1px solid transparent;
justify-items: center;
align-items: center;
margin-top: 5px;
}
a:hover {
background: rgb(241, 14, 14);
color: white;
}
}
}
dd:hover {
dd:hover {
// background: rgba(38, 128, 235, 1);
// background: rgba(38, 128, 235, 1);
...
@@ -324,7 +384,7 @@ export default {
...
@@ -324,7 +384,7 @@ export default {
opacity: 1;
opacity: 1;
border-radius: 4px;
border-radius: 4px;
min-height: 48px;
min-height: 48px;
flex-wrap:wrap;
flex-wrap:
wrap;
}
}
}
}
}
}
...
...
pages/test.vue
View file @
29b52897
...
@@ -4,9 +4,9 @@
...
@@ -4,9 +4,9 @@
.bg1{
.bg1{
background:#fefefe ;
background:#fefefe ;
}
}
.fg {
// &
.fg {
overflow: auto;
// //
overflow: auto;
}
//
}
}
}
.layout-copy {
.layout-copy {
text-align: center;
text-align: center;
...
...
pages/test/user.vue
View file @
29b52897
...
@@ -2,8 +2,9 @@
...
@@ -2,8 +2,9 @@
<div
style=
"padding:50px;"
>
<div
style=
"padding:50px;"
>
<UserSelect
v-model=
"user"
:multiple=
"true"
theme=
"list"
/>
<UserSelect
v-model=
"user"
:multiple=
"true"
theme=
"list"
/>
<!--
<DepartmentSelect
v-model=
"dep"
/>
<!--
<DepartmentSelect
v-model=
"dep"
/>
{{
user
}}
<Button
@
click=
"setUser"
>
Set
</Button>
{{
dep
}}
-->
<Button
@
click=
"setUser"
>
Set
</Button>
{{
dep
}}
-->
{{
user
}}
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
...
Write
Preview
Markdown
is supported
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