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
0fee44df
Commit
0fee44df
authored
Oct 27, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
团队管理
parent
a4d2c6db
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
255 additions
and
227 deletions
+255
-227
base.less
assets/css/base.less
+13
-36
dtSpan.vue
components/page/dtSpan.vue
+1
-1
opration.vue
components/page/opration.vue
+9
-6
userGroup.vue
components/page/userGroup.vue
+84
-0
index.vue
pages/project/group/index.vue
+1
-5
detail.vue
pages/project/groupUser/detail.vue
+73
-62
index1.vue
pages/project/groupUser/index1.vue
+62
-111
add.vue
pages/project/plan/add.vue
+1
-1
edit.vue
pages/project/plan/edit.vue
+1
-1
index.vue
pages/project/plan/index.vue
+2
-1
detail.vue
pages/project/project/detail.vue
+6
-3
iview.js
plugins/iview.js
+2
-0
No files found.
assets/css/base.less
View file @
0fee44df
...
...
@@ -1085,7 +1085,6 @@ html [type=button] {
}
i {
font-size: 16px;
padding: 4px;
border-radius: 3px;
}
...
...
@@ -1094,7 +1093,6 @@ html [type=button] {
background: #1890FF;
color: #fff;
}
background: transparent;
}
...
...
@@ -1105,66 +1103,45 @@ html [type=button] {
a.add {
color: #249E91;
}
// a.add:hover {
// // color: #27AB9D;
// }
a.edit {
// color: #32B187;
color: rgb(6, 147, 212)
}
// a.edit:hover {
// color: #35BD90
// }
a.remove,
a.delete {
color: #FF7A8B;
i:hover {
background:
#FF7A8B
;
background:
orange
;
color: #fff;
}
}
a.delete {
color: #FF7A8B;
}
a.empower {
color: #FFBD59;
}
a.disable {
color: #CAD1D9;
}
a.icon {
display: inline-block;
width: 2
8
px;
height: 2
8
px;
line-height: 2
8
px;
width: 2
2
px;
height: 2
2
px;
line-height: 2
2
px;
margin: 0px 0 0 0;
border-radius: 50%;
color: #515A6E;
background: #F5F6FA;
.ivu-icon {
font-weight: bold;
font-size: 18px;
font-size: 20px;
}
}
a.disable {
color: #CAD1D9;
cursor: help;
i:hover {
background:#CAD1D9;
}
}
// a.icon:hover {
// background: #27AB9D;
// color: #fff;
// }
// a.icon:active {
// background: #229185;
// color: #fff;
// }
}
...
...
components/page/dtSpan.vue
View file @
0fee44df
...
...
@@ -11,7 +11,7 @@ export default {
name
:
'dtSpan'
,
data
()
{
return
{
date
:
"
33333
"
date
:
""
}
},
props
:
{
...
...
components/page/opration.vue
View file @
0fee44df
...
...
@@ -39,7 +39,7 @@ export default {
color
:
{
type
:
String
,
},
disalbe
d
:
{
disalbe
:
{
// 0 启用 1 禁用 2权限不足
type
:
Number
,
default
:
0
,
...
...
@@ -66,12 +66,15 @@ export default {
}
else
if
(
this
.
oprate
)
{
this
.
css
=
this
.
oprate
;
}
else
if
(
this
.
type
==
"icon"
)
{
this
.
css
=
"icon"
;
this
.
css
=
"icon"
;
}
if
(
this
.
disalbe
){
this
.
css
=
"disable"
}
},
methods
:
{
handler
()
{
if
(
this
.
disalbe
d
==
0
)
{
if
(
this
.
disalbe
==
0
)
{
if
(
this
.
oprate
==
"delete"
||
this
.
oprate
==
"remove"
)
{
this
.
$Modal
.
confirm
({
title
:
this
.
title
,
...
...
@@ -83,10 +86,10 @@ export default {
}
else
{
this
.
$emit
(
"click"
,
event
);
}
}
else
if
(
this
.
disa
bled
==
1
){
this
.
$Message
.
info
(
"不能操作"
)
}
else
if
(
this
.
disa
lbe
==
1
){
this
.
$Message
.
warning
(
"不能操作"
)
}
else
{
this
.
$Message
.
info
(
"没有权限"
)
this
.
$Message
.
warning
(
"没有权限"
)
}
},
},
...
...
components/page/userGroup.vue
0 → 100644
View file @
0fee44df
<
template
>
<div>
<Select
:placeholder=
"placeholder"
v-model=
"name"
@
on-change=
"change"
:multiple=
"multiple"
clearable
filterable
transfer
>
<Option
v-for=
"item in users"
:value=
"item.userId"
:key=
"item.userId"
:disabled=
"item.status==1"
>
<div
class=
"user"
>
<State
v-show=
"item.authority"
code=
"project.group.authority"
:value=
"item.authority"
class=
"mr10"
/>
{{
item
.
note
}}
<User
:value=
"item.userId"
/></span><Tag>
{{
item
.
role
}}
</Tag>
</div>
</Option>
</Select>
</div>
</
template
>
<
script
>
export
default
{
model
:
{
prop
:
"value"
,
event
:
"on-change"
,
},
data
()
{
return
{
name
:
this
.
value
,
users
:
this
.
data
,
};
},
created
()
{
this
.
load
();
},
props
:
{
value
:
[
String
,
Number
,
Array
],
placeholder
:
{
type
:
String
,
default
:
"请选择人员"
,
},
multiple
:{
type
:
Boolean
,
default
:
false
,
},
projectId
:{
type
:
String
}
},
methods
:
{
load
()
{
var
params
=
{
// codition:[{fieldName: "groupId", fieldValue: "b9d6fa9e-e033-4a3e-9925-c1f4437d970c", conditionalType: "Equal"}]
codition
:[{
fieldName
:
"projectId"
,
fieldValue
:
this
.
projectId
,
conditionalType
:
"Equal"
}]
}
this
.
$api
.
post
(
`
${
material
}
/projectplan/list`
,
params
).
then
(
r
=>
{
this
.
users
=
r
.
result
;
})
},
change
(
event
)
{
let
name
=
""
;
this
.
data
.
forEach
((
e
)
=>
{
if
(
e
.
id
==
event
)
{
name
=
e
.
label
;
}
});
this
.
$emit
(
"on-change"
,
event
,
name
);
},
// 加载人员
},
};
</
script
>
<
style
lang=
"less"
>
@import "../../assets/css/custom.less";
.userGroup {
}
</
style
>
pages/project/group/index.vue
View file @
0fee44df
...
...
@@ -93,7 +93,6 @@ export default {
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
}
},
'查看'
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h
(
'op'
,
{
attrs
:
{
oprate
:
'edit'
...
...
@@ -111,13 +110,10 @@ export default {
}
},
'删除'
),
h
(
'op'
,
{
attrs
:
{
oprate
:
'edit'
},
on
:
{
click
:
()
=>
this
.
openGroupUser
(
params
.
row
)
}
},
'
项目团队
'
),
},
'
成员
'
),
])
}
},
...
...
pages/project/groupUser/detail.vue
View file @
0fee44df
<
template
>
<div
class=
"detail"
>
<div
class=
"detail"
>
<Row>
<Filed
:span=
"12"
:name=
"l('userId')"
>
<User
:value=
"entity.userId"
></User>
</Filed>
<Filed
:span=
"12"
:name=
"l('role')"
>
{{
entity
.
role
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('note')"
>
{{
entity
.
note
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
>
<User
:value=
"entity.creatorUserId"
></User>
</Filed>
<Filed
:span=
"12"
:name=
"l('userId')"
>
<User
:value=
"entity.userId"
></User>
</Filed>
<Filed
:span=
"12"
:name=
"l('role')"
>
<State
code=
"project.group.role"
:value=
"entity.role"
/>
</Filed>
<Filed
:span=
"12"
:name=
"l('authority')"
>
<State
code=
"project.group.authority"
:value=
"entity.authority"
/>
</Filed>
<!--
<Filed
:span=
"12"
name=
"姓名"
>
{{
entity
.
note
}}
</Filed>
-->
<Filed
:span=
"12"
:name=
"l('status')"
>
<State
code=
"project.group.status"
:value=
"entity.status"
/></Filed>
<Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
>
<User
:value=
"entity.creatorUserId"
></User>
</Filed>
</Row>
</div>
</div>
</
template
>
<
script
>
import
Api
from
'./api'
import
Api
from
"./api"
;
export
default
{
name
:
'Add'
,
data
()
{
return
{
entity
:
{},
rules
:
{
name
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
code
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
}
}
name
:
"Add"
,
data
()
{
return
{
entity
:
{},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
,
},
],
code
:
[
{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
,
},
],
},
};
},
props
:
{
eid
:
String
,
},
mounted
()
{
if
(
this
.
eid
!=
""
&&
this
.
eid
!=
null
)
{
this
.
load
(
this
.
eid
);
}
},
methods
:
{
load
(
v
)
{
Api
.
get
({
id
:
v
,
}).
then
((
r
)
=>
{
this
.
entity
=
r
.
result
;
this
.
$emit
(
"on-load"
);
});
},
props
:
{
eid
:
String
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
mounted
()
{
if
(
this
.
eid
!=
''
&&
this
.
eid
!=
null
)
{
this
.
load
(
this
.
eid
);
}
l
(
key
)
{
key
=
"project_group_user"
+
"."
+
key
;
return
this
.
$t
(
key
);
},
methods
:
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
$emit
(
'on-load'
)
})
},
handleClose
()
{
this
.
$emit
(
'on-close'
)
},
l
(
key
)
{
key
=
"project_group_user"
+
"."
+
key
;
return
this
.
$t
(
key
)
}
},
watch
:
{
eid
(
v
)
{
if
(
v
!=
""
&&
v
!=
null
)
{
this
.
load
(
v
);
}
},
watch
:
{
eid
(
v
)
{
if
(
v
!=
''
&&
v
!=
null
)
{
this
.
load
(
v
);
}
}
}
}
},
};
</
script
>
pages/project/groupUser/index1.vue
View file @
0fee44df
This diff is collapsed.
Click to expand it.
pages/project/plan/add.vue
View file @
0fee44df
...
...
@@ -95,7 +95,7 @@
></Col>
<Col
:span=
"12"
><FormItem
:label=
"l('executor')"
prop=
"executor"
>
<User
Select
v-model=
"entity.executor"
multiple
></UserSelect
>
<User
Group
v-model=
"entity.executor"
multiple
:projectId=
"v.projectId"
></UserGroup
>
</FormItem>
</Col
>
...
...
pages/project/plan/edit.vue
View file @
0fee44df
...
...
@@ -95,7 +95,7 @@
></Col>
<Col
:span=
"12"
><FormItem
:label=
"l('executor')"
prop=
"executor"
>
<User
Select
v-model=
"entity.executor"
multiple
></UserSelect
>
<User
Group
v-model=
"entity.executor"
multiple
:projectId=
"entity.projectId"
></UserGroup
>
</FormItem>
</Col
>
...
...
pages/project/plan/index.vue
View file @
0fee44df
...
...
@@ -100,6 +100,7 @@ export default {
type
:
"icon"
,
title
:
"派发"
,
oprate
:
"edit"
,
disalbe
:
1
,
},
on
:
{
click
:
()
=>
this
.
copy
(
params
.
row
.
id
)
},
},
...
...
@@ -117,7 +118,7 @@ export default {
h
(
"op"
,
{
attrs
:
{
icon
:
"md-
ey
e"
,
attrs
:
{
icon
:
"md-
creat
e"
,
type
:
"icon"
,
title
:
"编辑"
,
oprate
:
"edit"
,
},
...
...
pages/project/project/detail.vue
View file @
0fee44df
...
...
@@ -33,13 +33,11 @@
<span>
|
</span>
</li>
<li>
<a
@
click=
"task"
>
<Icon
type=
"md-create"
/>
成员
</a>
<a
@
click=
"group"
>
<Icon
type=
"md-create"
/>
成员
</a>
<span>
|
</span>
</li>
<li>
<a
@
click=
"task"
>
<Icon
type=
"md-create"
/>
动态
</a>
<span>
|
</span>
</li>
</ul>
...
...
@@ -105,6 +103,11 @@ export default {
// this.curId = this.eid;
this
.
title
=
"项目任务"
;
// this.detail = () => import("./add");
},
group
()
{
// this.curId = this.eid;
this
.
title
=
"成员管理"
;
this
.
detail
=
()
=>
import
(
"../groupUser/index1"
);
},
l
(
key
)
{
key
=
"project_main"
+
"."
+
key
;
...
...
plugins/iview.js
View file @
0fee44df
...
...
@@ -26,6 +26,7 @@ import Tools from '@/components/page/tool.vue'
import
State
from
'@/components/page/state.vue'
import
Dictionary
from
'@/components/page/dictionary.vue'
import
UserSelect
from
'@/components/page/userSelect.vue'
import
UserGroup
from
'@/components/page/userGroup.vue'
import
Materiel
from
'@/components/page/materiel.vue'
import
RoleSelect
from
'@/components/page/roleSelect.vue'
import
UserExamSelect
from
'@/components/page/userExamSelect.vue'
...
...
@@ -129,6 +130,7 @@ Vue.component("WorkShopSelect", WorkShopSelect)
Vue
.
component
(
"WorkShopName"
,
WorkShopName
)
Vue
.
component
(
"workShopDefault"
,
workShopDefault
)
Vue
.
component
(
"WorkShop"
,
WorkShop
)
Vue
.
component
(
"UserGroup"
,
UserGroup
)
Vue
.
component
(
"EquipSelect"
,
EquipSelect
)
Vue
.
component
(
"EquipTypeSelect"
,
EquipTypeSelect
)
Vue
.
component
(
"ResourceSelect"
,
ResourceSelect
)
...
...
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