Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-project
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-project
Commits
5e0b6505
提交
5e0b6505
authored
3月 15, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增复制权限
上级
5ff09d8c
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
88 行增加
和
2 行删除
+88
-2
api.js
src/modules/permissions/api.js
+7
-0
ClonePermissions.vue
src/modules/permissions/components/ClonePermissions.vue
+73
-0
List.vue
src/modules/permissions/views/List.vue
+8
-2
没有找到文件。
src/modules/permissions/api.js
浏览文件 @
5e0b6505
...
@@ -34,3 +34,10 @@ export function updatePermission(data) {
...
@@ -34,3 +34,10 @@ export function updatePermission(data) {
export
function
deletePermission
(
data
)
{
export
function
deletePermission
(
data
)
{
return
httpRequest
.
delete
(
`/api/xedu/admin/v2/permission/
${
data
.
id
}
`
,
data
)
return
httpRequest
.
delete
(
`/api/xedu/admin/v2/permission/
${
data
.
id
}
`
,
data
)
}
}
/**
* 复制权限
*/
export
function
clonePermission
(
data
)
{
return
httpRequest
.
post
(
'/api/xedu/admin/v2/permission/copy'
,
data
)
}
src/modules/permissions/components/ClonePermissions.vue
0 → 100644
浏览文件 @
5e0b6505
<
template
>
<el-dialog
title=
"复制权限"
:close-on-click-modal=
"false"
v-bind=
"$attrs"
v-on=
"$listeners"
width=
"400px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-position=
"top"
>
<el-form-item
label=
"项目"
prop=
"select_project_id"
>
<el-select
v-model=
"form.select_project_id"
>
<el-option
:label=
"item.name"
:value=
"item.id"
v-for=
"item in projects"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"types"
>
<el-checkbox-group
v-model=
"form.types"
>
<el-checkbox
:label=
"1"
>
菜单权限
</el-checkbox>
<el-checkbox
:label=
"2"
>
按钮权限
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"所属系统"
prop=
"system_tags"
>
<el-checkbox-group
v-model=
"form.system_tags"
>
<el-checkbox
:label=
"1"
>
学校端
</el-checkbox>
<!--
<el-checkbox
:label=
"2"
>
教师端
</el-checkbox>
-->
<el-checkbox
:label=
"3"
>
学生端
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<template
#
footer
>
<el-button
type=
"text"
@
click=
"onCancel"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"medium"
@
click=
"onPrimary"
>
确定
</el-button>
</
template
>
</el-dialog>
</template>
<
script
>
// lodash
import
{
clonePermission
}
from
'../api.js'
export
default
{
data
()
{
return
{
form
:
{
current_project_id
:
this
.
$store
.
state
.
activeProject
.
id
,
select_project_id
:
''
,
system_tags
:
[],
types
:
[]
},
rules
:
{
select_project_id
:
[{
required
:
true
,
message
:
'请选择所属项目'
,
trigger
:
'change'
}],
types
:
[{
required
:
true
,
message
:
'请选择权限类型'
,
trigger
:
'change'
}],
system_tags
:
[{
required
:
true
,
message
:
'请选择所属系统'
,
trigger
:
'change'
}]
}
}
},
computed
:
{
projects
()
{
return
this
.
$store
.
state
.
projects
.
filter
(
item
=>
item
.
id
!==
this
.
$store
.
state
.
activeProject
.
id
)
}
},
methods
:
{
// 取消
onCancel
()
{
this
.
$emit
(
'update:visible'
,
false
)
},
// 确定
onPrimary
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
clonePermission
(
this
.
form
).
then
(
res
=>
{
this
.
$message
.
success
(
'复制成功'
)
this
.
$emit
(
'update:visible'
,
false
)
this
.
$emit
(
'success'
,
res
.
data
)
})
})
}
}
}
</
script
>
<
style
></
style
>
src/modules/permissions/views/List.vue
浏览文件 @
5e0b6505
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
<app-list
v-bind=
"tableOptions"
ref=
"list"
row-key=
"id"
>
<app-list
v-bind=
"tableOptions"
ref=
"list"
row-key=
"id"
>
<template
#
header-aside
>
<template
#
header-aside
>
<el-button
type=
"primary"
@
click=
"handleCreate()"
>
创建权限
</el-button>
<el-button
type=
"primary"
@
click=
"handleCreate()"
>
创建权限
</el-button>
<el-button
type=
"warning"
@
click=
"cloneVisible = true"
>
复制权限
</el-button>
</
template
>
</
template
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tab-pane
<el-tab-pane
...
@@ -25,6 +26,7 @@
...
@@ -25,6 +26,7 @@
@
success=
"handleSuccess"
@
success=
"handleSuccess"
v-if=
"visible"
v-if=
"visible"
></editform>
></editform>
<ClonePermissions
:visible
.
sync=
"cloneVisible"
@
success=
"handleSuccess"
v-if=
"cloneVisible"
></ClonePermissions>
</app-card>
</app-card>
</template>
</template>
...
@@ -33,7 +35,10 @@
...
@@ -33,7 +35,10 @@
import
{
getPermissionList
,
deletePermission
}
from
'../api'
import
{
getPermissionList
,
deletePermission
}
from
'../api'
export
default
{
export
default
{
components
:
{
Editform
:
()
=>
import
(
'../components/Editform.vue'
)
},
components
:
{
Editform
:
()
=>
import
(
'../components/Editform.vue'
),
ClonePermissions
:
()
=>
import
(
'../components/ClonePermissions.vue'
)
},
data
()
{
data
()
{
return
{
return
{
visible
:
false
,
visible
:
false
,
...
@@ -44,7 +49,8 @@ export default {
...
@@ -44,7 +49,8 @@ export default {
{
value
:
''
,
label
:
'全部'
},
{
value
:
''
,
label
:
'全部'
},
{
value
:
'1'
,
label
:
'菜单'
},
{
value
:
'1'
,
label
:
'菜单'
},
{
value
:
'2'
,
label
:
'按钮'
}
{
value
:
'2'
,
label
:
'按钮'
}
]
],
cloneVisible
:
false
}
}
},
},
computed
:
{
computed
:
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论