Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform-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
youjj
cloud-platform-ui
Commits
4c4ea099
Commit
4c4ea099
authored
May 09, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加数据权限相关代码
parent
71d69b01
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
89 additions
and
5 deletions
+89
-5
index.js
src/api/admin/group/index.js
+11
-0
index.vue
src/views/admin/user/index.vue
+78
-5
No files found.
src/api/admin/group/index.js
View file @
4c4ea099
...
@@ -101,4 +101,15 @@ export function getMenuAuthority(id) {
...
@@ -101,4 +101,15 @@ export function getMenuAuthority(id) {
});
});
}
}
/**
*
* @param id
*/
export
function
getCurrentGroups
()
{
return
fetch
({
url
:
'/api/admin/current/groups'
,
method
:
'get'
});
}
src/views/admin/user/index.vue
View file @
4c4ea099
...
@@ -49,19 +49,29 @@
...
@@ -49,19 +49,29 @@
<el-form-item
v-if=
"dialogStatus == 'create'"
label=
"密码"
placeholder=
"请输入密码"
prop=
"password"
>
<el-form-item
v-if=
"dialogStatus == 'create'"
label=
"密码"
placeholder=
"请输入密码"
prop=
"password"
>
<el-input
type=
"password"
v-model=
"form.password"
></el-input>
<el-input
type=
"password"
v-model=
"form.password"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"性别"
>
<el-select
class=
"filter-item"
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-option
v-for=
"item in sexOptions"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否开启"
prop=
"status"
>
<el-form-item
label=
"是否开启"
prop=
"status"
>
<el-radio-group
class=
"filter-item"
v-model=
"form.status"
>
<el-radio-group
class=
"filter-item"
v-model=
"form.status"
>
<el-radio
v-for=
"item in statusOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-radio>
<el-radio
v-for=
"item in statusOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属片区"
>
<el-form-item
label=
"所属片区"
prop=
"zone"
>
<el-select
class=
"filter-item"
v-model=
"form.zone"
placeholder=
"请选择"
>
<el-select
class=
"filter-item"
v-model=
"form.zone"
placeholder=
"请选择"
>
<el-option
v-for=
"(val, key, index) in getAllZone()"
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
>
</el-option>
<el-option
v-for=
"(val, key, index) in getAllZone()"
:key=
"val.code"
:label=
"val.val"
:value=
"val.code"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"性别"
>
<el-form-item
label=
"所属分公司"
prop=
"companyId"
>
<el-select
class=
"filter-item"
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-select
class=
"filter-item"
v-model=
"form.companyId"
placeholder=
"请选择分公司"
>
<el-option
v-for=
"item in sexOptions"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
<el-option
v-for=
"item in allCompanies"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"groupId"
>
<el-select
v-model=
"members"
multiple
filterable
remote
placeholder=
"请选择角色"
:remote-method=
"remoteGroupsMethod"
:loading=
"loading"
>
<el-option
v-for=
"item in myGroups"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"描述"
>
<el-form-item
label=
"描述"
>
...
@@ -78,7 +88,7 @@
...
@@ -78,7 +88,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
import
{
page
,
page
,
addObj
,
addObj
,
getObj
,
getObj
,
...
@@ -88,11 +98,20 @@ import {
...
@@ -88,11 +98,20 @@ import {
import
{
mapGetters
}
from
'vuex'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getAllCompany
}
from
'api/base_info/branch_company/'
;
import
{
import
{
getAllZone
,
getAllZone
,
getZone
getZone
}
from
'api/base_info/constant/'
;
}
from
'api/base_info/constant/'
;
import
{
fetchTree
,
getCurrentGroups
}
from
'api/admin/group/index'
;
export
default
{
export
default
{
name
:
'user'
,
name
:
'user'
,
data
()
{
data
()
{
...
@@ -102,6 +121,8 @@ export default {
...
@@ -102,6 +121,8 @@ export default {
name
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
sex
:
'男'
,
status
:
'开启'
,
status
:
'开启'
,
zone
:
undefined
,
companyId
:
undefined
,
password
:
undefined
,
password
:
undefined
,
description
:
undefined
description
:
undefined
},
},
...
@@ -149,6 +170,11 @@ export default {
...
@@ -149,6 +170,11 @@ export default {
{
{
required
:
true
required
:
true
}
}
],
zone
:
[
{
required
:
true
}
]
]
},
},
list
:
null
,
list
:
null
,
...
@@ -167,6 +193,10 @@ export default {
...
@@ -167,6 +193,10 @@ export default {
userManager_btn_edit
:
false
,
userManager_btn_edit
:
false
,
userManager_btn_del
:
false
,
userManager_btn_del
:
false
,
userManager_btn_add
:
false
,
userManager_btn_add
:
false
,
allCompanies
:
{},
myGroups
:
[],
members
:
[],
loading
:
false
,
textMap
:
{
textMap
:
{
update
:
'编辑'
,
update
:
'编辑'
,
create
:
'创建'
create
:
'创建'
...
@@ -176,6 +206,18 @@ export default {
...
@@ -176,6 +206,18 @@ export default {
},
},
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
getCurrentGroups
(
result
=>
{
this
.
myGroups
=
result
.
data
;
const
mems
=
[];
for
(
let
i
=
0
;
i
<
result
.
data
.
length
;
i
++
)
{
mems
.
push
(
result
.
data
[
i
].
id
);
}
this
.
members
=
mems
;
console
.
log
(
this
.
myGroups
);
});
this
.
userManager_btn_edit
=
this
.
elements
[
'userManager:btn_edit'
];
this
.
userManager_btn_edit
=
this
.
elements
[
'userManager:btn_edit'
];
this
.
userManager_btn_del
=
this
.
elements
[
'userManager:btn_del'
];
this
.
userManager_btn_del
=
this
.
elements
[
'userManager:btn_del'
];
this
.
userManager_btn_add
=
this
.
elements
[
'userManager:btn_add'
];
this
.
userManager_btn_add
=
this
.
elements
[
'userManager:btn_add'
];
...
@@ -186,6 +228,21 @@ export default {
...
@@ -186,6 +228,21 @@ export default {
])
])
},
},
methods
:
{
methods
:
{
remoteGroupsMethod
(
query
)
{
if
(
query
!==
''
)
{
this
.
loading
=
true
;
this
.
loading
=
false
;
fetchTree
({
name
:
query
}).
then
(
response
=>
{
this
.
myGroups
=
response
.
data
.
rows
;
// this.total = response.data.total;
this
.
loading
=
false
;
});
}
else
{
this
.
myGroups
=
[];
}
},
getList
()
{
getList
()
{
this
.
listLoading
=
true
;
this
.
listLoading
=
true
;
page
(
this
.
listQuery
)
page
(
this
.
listQuery
)
...
@@ -291,12 +348,28 @@ export default {
...
@@ -291,12 +348,28 @@ export default {
sex
:
'男'
,
sex
:
'男'
,
status
:
'开启'
,
status
:
'开启'
,
zone
:
undefined
,
zone
:
undefined
,
companyId
:
undefined
,
password
:
undefined
,
password
:
undefined
,
description
:
undefined
description
:
undefined
};
};
},
},
getAllZone
,
getAllZone
,
getZone
getZone
// initGroups() {
// getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders;
// this.mItems = response.data.members;
// const mems = [], leas = [];
// for (let i = 0; i
<
response
.
data
.
members
.
length
;
i
++
)
{
// mems.push(response.data.members[i].id);
// }
// for (let i = 0; i
<
response
.
data
.
leaders
.
length
;
i
++
)
{
// leas.push(response.data.leaders[i].id);
// }
// this.members = mems;
// this.leaders = leas;
// });
// }
}
}
}
}
</
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