| | |
| | | <template> |
| | | <div class="page"> |
| | | <div class="page-title"> |
| | | <div><h2>角色管理</h2><p>维护角色信息,并可按角色批量设置所属用户</p></div> |
| | | <div><h2>角色管理</h2><p>维护角色信息,并可按角色设置所属用户和菜单按钮权限</p></div> |
| | | <el-button type="primary" icon="el-icon-plus" v-permission="'system:roles:add'" @click="openCreate">新增角色</el-button> |
| | | </div> |
| | | <div class="table-panel"> |
| | |
| | | <el-table-column prop="code" label="角色编码" width="170"></el-table-column> |
| | | <el-table-column prop="roleType" label="角色类型" width="170"></el-table-column> |
| | | <el-table-column prop="remark" label="备注" min-width="220" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="操作" width="220" fixed="right"> |
| | | <el-table-column label="操作" width="300" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" v-permission="'system:roles:assign'" @click="openUserSetting(row)">用户设置</el-button> |
| | | <el-button type="text" v-permission="'system:roles:permission'" @click="openPermissionSetting(row)">权限设置</el-button> |
| | | <el-button type="text" v-permission="'system:roles:edit'" @click="openEdit(row)">编辑</el-button> |
| | | <el-button type="text" class="danger-link" v-permission="'system:roles:delete'" @click="remove(row)">删除</el-button> |
| | | </template> |
| | |
| | | <el-button type="primary" :loading="userSaving" v-permission="'system:roles:assign'" @click="saveRoleUsers">保存</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | <role-permission-dialog :visible.sync="permissionDialogVisible" :role="currentRole"></role-permission-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import api from '@/api' |
| | | import RolePermissionDialog from './RolePermissionDialog.vue' |
| | | export default { |
| | | name: 'RoleManage', |
| | | components: { RolePermissionDialog }, |
| | | data() { |
| | | return { |
| | | rows: [], |
| | | dialogVisible: false, |
| | | permissionDialogVisible: false, |
| | | saving: false, |
| | | userDialogVisible: false, |
| | | userLoading: false, |
| | |
| | | this.$nextTick(this.restoreUserSelection) |
| | | }).finally(() => { this.userLoading = false }) |
| | | }, |
| | | openPermissionSetting(row) { |
| | | this.currentRole = { ...row } |
| | | this.permissionDialogVisible = true |
| | | }, |
| | | restoreUserSelection() { |
| | | const table = this.$refs.roleUserTable |
| | | if (!table) return |