|
|
@@ -2,7 +2,7 @@
|
|
|
<div class="ele-body">
|
|
|
<el-card shadow="never">
|
|
|
<!-- 搜索表单 -->
|
|
|
- <role-search @search="reload"/>
|
|
|
+ <role-search @search="reload" />
|
|
|
<!-- 数据表格 -->
|
|
|
<ele-pro-table
|
|
|
ref="table"
|
|
|
@@ -47,7 +47,7 @@
|
|
|
</el-switch>
|
|
|
</template>
|
|
|
<template v-slot:secretLevel="{ row }">
|
|
|
- {{ getSecretLevel(row.secretLevel) }}
|
|
|
+ {{ getSecretLevel(row.secretLevel) }}
|
|
|
</template>
|
|
|
<!-- 操作列 -->
|
|
|
<template v-slot:action="{ row }">
|
|
|
@@ -78,13 +78,27 @@
|
|
|
>
|
|
|
数据权限
|
|
|
</el-link>
|
|
|
+ <!-- v-if="$hasPermission('sys:role:update')" -->
|
|
|
+ <el-link
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-document-copy"
|
|
|
+ @click="copyRole(row)"
|
|
|
+ >
|
|
|
+ 复制
|
|
|
+ </el-link>
|
|
|
<el-popconfirm
|
|
|
class="ele-action"
|
|
|
title="确定要删除此角色吗?"
|
|
|
@confirm="remove(row)"
|
|
|
>
|
|
|
<template v-slot:reference>
|
|
|
- <el-link type="danger" v-if="$hasPermission('sys:role:delete')" :underline="false" icon="el-icon-delete">
|
|
|
+ <el-link
|
|
|
+ type="danger"
|
|
|
+ v-if="$hasPermission('sys:role:delete')"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ >
|
|
|
删除
|
|
|
</el-link>
|
|
|
</template>
|
|
|
@@ -93,12 +107,16 @@
|
|
|
</ele-pro-table>
|
|
|
</el-card>
|
|
|
<!-- 编辑弹窗 -->
|
|
|
- <role-edit :data="current" :visible.sync="showEdit" @done="reload"/>
|
|
|
+ <role-edit :data="current" :visible.sync="showEdit" @done="reload" />
|
|
|
<!-- 权限分配弹窗 -->
|
|
|
- <role-auth :data="current" :visible.sync="showAuth"/>
|
|
|
+ <role-auth :data="current" :visible.sync="showAuth" />
|
|
|
<!-- 数据权限-->
|
|
|
- <role-data-auth ref="roleDataAuthDialogRef" v-if="roleDataAuthDialogFlag"
|
|
|
- :roleDataAuthDialogFlag.sync="roleDataAuthDialogFlag" @reload="reload" />
|
|
|
+ <role-data-auth
|
|
|
+ ref="roleDataAuthDialogRef"
|
|
|
+ v-if="roleDataAuthDialogFlag"
|
|
|
+ :roleDataAuthDialogFlag.sync="roleDataAuthDialogFlag"
|
|
|
+ @reload="reload"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -106,14 +124,15 @@
|
|
|
import RoleSearch from './components/role-search.vue';
|
|
|
import RoleEdit from './components/role-edit.vue';
|
|
|
import RoleAuth from './components/role-auth.vue';
|
|
|
-import roleDataAuth from "./components/role-data-auth.vue";
|
|
|
+import roleDataAuth from './components/role-data-auth.vue';
|
|
|
import {
|
|
|
pageRoles,
|
|
|
removeRole,
|
|
|
removeRoles,
|
|
|
- putRoles
|
|
|
+ putRoles,
|
|
|
+ copyRole
|
|
|
} from '@/api/system/role';
|
|
|
-import {secretLevelList} from "@/enum/dict";
|
|
|
+import { secretLevelList } from '@/enum/dict';
|
|
|
|
|
|
export default {
|
|
|
name: 'SystemRole',
|
|
|
@@ -163,7 +182,7 @@ export default {
|
|
|
label: '密级',
|
|
|
align: 'center',
|
|
|
showOverflowTooltip: true,
|
|
|
- slot:'secretLevel',
|
|
|
+ slot: 'secretLevel',
|
|
|
minWidth: 110
|
|
|
},
|
|
|
{
|
|
|
@@ -190,7 +209,7 @@ export default {
|
|
|
{
|
|
|
columnKey: 'action',
|
|
|
label: '操作',
|
|
|
- width: 320,
|
|
|
+ width: 380,
|
|
|
align: 'center',
|
|
|
resizable: false,
|
|
|
slot: 'action',
|
|
|
@@ -209,12 +228,11 @@ export default {
|
|
|
roleDataAuthDialogFlag: false
|
|
|
};
|
|
|
},
|
|
|
- created() {
|
|
|
- },
|
|
|
+ created() {},
|
|
|
methods: {
|
|
|
/* 表格数据源 */
|
|
|
- datasource({page, limit, where, order}) {
|
|
|
- return pageRoles({pageNum: page, size: limit, ...where});
|
|
|
+ datasource({ page, limit, where, order }) {
|
|
|
+ return pageRoles({ pageNum: page, size: limit, ...where });
|
|
|
},
|
|
|
async changeEnable(row) {
|
|
|
const res = await putRoles(row);
|
|
|
@@ -229,11 +247,11 @@ export default {
|
|
|
},
|
|
|
/* 刷新表格 */
|
|
|
reload(where) {
|
|
|
- this.$refs.table.reload({page: 1, where});
|
|
|
+ this.$refs.table.reload({ page: 1, where });
|
|
|
},
|
|
|
getSecretLevel(i) {
|
|
|
- let find = secretLevelList.find(item=>item.value==i)||{}
|
|
|
- return find.label
|
|
|
+ let find = secretLevelList.find((item) => item.value == i) || {};
|
|
|
+ return find.label;
|
|
|
},
|
|
|
/* 显示编辑 */
|
|
|
openEdit(row) {
|
|
|
@@ -257,15 +275,29 @@ export default {
|
|
|
},
|
|
|
/* 显示分配权限 */
|
|
|
openDataAuth(row) {
|
|
|
- this.roleDataAuthDialogFlag = true
|
|
|
+ this.roleDataAuthDialogFlag = true;
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
- this.$refs.roleDataAuthDialogRef.init({...row})
|
|
|
+ this.$refs.roleDataAuthDialogRef.init({ ...row });
|
|
|
});
|
|
|
},
|
|
|
+ //复制
|
|
|
+ async copyRole(row) {
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
+ copyRole(row.id)
|
|
|
+ .then((msg) => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success(msg);
|
|
|
+ this.reload();
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ },
|
|
|
/* 删除 */
|
|
|
remove(row) {
|
|
|
- const loading = this.$loading({lock: true});
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
removeRole(row.id)
|
|
|
.then((msg) => {
|
|
|
loading.close();
|
|
|
@@ -287,7 +319,7 @@ export default {
|
|
|
type: 'warning'
|
|
|
})
|
|
|
.then(() => {
|
|
|
- const loading = this.$loading({lock: true});
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
removeRole(
|
|
|
this.selection.map((d) => d.id),
|
|
|
true
|
|
|
@@ -302,8 +334,7 @@ export default {
|
|
|
this.$message.error(e.message);
|
|
|
});
|
|
|
})
|
|
|
- .catch(() => {
|
|
|
- });
|
|
|
+ .catch(() => {});
|
|
|
}
|
|
|
}
|
|
|
};
|