213 lines
6.5 KiB
Vue
213 lines
6.5 KiB
Vue
<template>
|
|
<a-card :bordered="false">
|
|
<!-- 查询区域 -->
|
|
<div class="table-page-search-wrapper">
|
|
<!-- 搜索区域 -->
|
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
|
<a-row :gutter="24">
|
|
<a-col :md="6" :sm="12">
|
|
<a-form-item label="角色名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
|
|
<a-input placeholder="请输入角色名称" v-model="queryParam.roleName"></a-input>
|
|
</a-form-item>
|
|
</a-col>
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
<a-col :md="12" :sm="24">
|
|
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">查询</a-button>
|
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
</a-col>
|
|
</span>
|
|
</a-row>
|
|
</a-form>
|
|
</div>
|
|
<!-- 操作按钮区域 -->
|
|
<div class="table-operator" style="margin: 5px 0 10px 2px">
|
|
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'sys:role:add'">添加角色</a-button>
|
|
<a-button @click="handleAddLowerLevel" type="primary" icon="plus" >添加下级</a-button>
|
|
<a-button @click="batchDel" type="danger" icon="delete">批量删除</a-button>
|
|
</div>
|
|
<div style="margin-top: 15px">
|
|
<a-table
|
|
style="height:500px"
|
|
ref="table"
|
|
size="middle"
|
|
bordered
|
|
rowKey="id"
|
|
:columns="columns"
|
|
:dataSource="dataSource"
|
|
:pagination="ipagination"
|
|
:loading="loading"
|
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
|
:expandedRowKeys="expandedRowKeys"
|
|
@expandedRowsChange="handleExpandedRowsChange"
|
|
@change="handleTableChange">
|
|
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
|
<a @click="handlePerssion(record.id)">授权</a>
|
|
<a @click="handleEdit(record)" v-has="'sys:role:edit'">编辑</a>
|
|
<a @click="handleDelete(record.id)" v-has="'sys:role:del'">删除</a>
|
|
</span>
|
|
<template slot-scope="text" slot="text">
|
|
<j-ellipsis v-if="text" :length="20" :value="text"></j-ellipsis>
|
|
<span v-else></span>
|
|
</template>
|
|
</a-table>
|
|
</div>
|
|
|
|
<user-role-modal ref="modalUserRole"></user-role-modal>
|
|
<role-modal ref="modalForm" @ok="modalFormOk"></role-modal>
|
|
</a-card>
|
|
</template>
|
|
<script>
|
|
import { JeroListMixin } from "@/mixins/JeroListMixin";
|
|
import {postAction, getAction } from "@/api/manage";
|
|
import RoleModal from "./modules/RoleModal";
|
|
import { filterObj } from "@/utils/util";
|
|
import UserRoleModal from "./modules/UserRoleModal";
|
|
import JEllipsis from "@comp/jero/JEllipsis";
|
|
import moment from "moment";
|
|
|
|
|
|
export default {
|
|
name: "RoleUserList",
|
|
mixins: [JeroListMixin],
|
|
components: {
|
|
UserRoleModal,
|
|
RoleModal,
|
|
JEllipsis,
|
|
moment
|
|
},
|
|
data() {
|
|
return {
|
|
model1: {},
|
|
model2: {},
|
|
currentRoleId: "",
|
|
selectedRowKeys: [],
|
|
expandedRowKeys:[],
|
|
columns:
|
|
[
|
|
{
|
|
title: "角色编码",
|
|
align: "center",
|
|
dataIndex: "roleCode",
|
|
scopedSlots: {customRender: 'text'}
|
|
},
|
|
{
|
|
title: "角色名称",
|
|
align: "center",
|
|
dataIndex: "roleName",
|
|
scopedSlots: {customRender: 'text'}
|
|
},
|
|
{
|
|
title: "上级角色",
|
|
align: "center",
|
|
dataIndex: "",
|
|
},
|
|
{
|
|
title: "创建时间",
|
|
dataIndex: "createTime",
|
|
align: "center",
|
|
sorter: true,
|
|
scopedSlots: {customRender: 'text'},
|
|
customRender: (text) => {
|
|
return moment(text).format("YYYY-MM-DD HH:mm:ss");
|
|
}
|
|
},
|
|
{
|
|
title: "操作",
|
|
dataIndex: "action",
|
|
align: "center",
|
|
scopedSlots: { customRender: "action" }
|
|
}
|
|
],
|
|
url: {
|
|
list: "/sys/role/page",
|
|
delete: "/sys/role/delete",
|
|
deleteBatch: "/sys/role/deleteBatch",
|
|
list2: "/sys/user/userRoleList",
|
|
addUserRole: "/sys/user/addSysUserRole",
|
|
delete2: "/sys/user/deleteUserRole",
|
|
deleteBatch2: "/sys/user/deleteUserRoleBatch",
|
|
exportXlsUrl: "sys/role/exportXls",
|
|
importExcelUrl: "sys/role/importExcel"
|
|
}
|
|
};
|
|
},
|
|
computed: {
|
|
importExcelUrl: function() {
|
|
return `${window._CONFIG["domianURL"]}/${this.url.importExcelUrl}`;
|
|
}
|
|
},
|
|
methods: {
|
|
onClearSelected() {
|
|
this.selectedRowKeys1 = [];
|
|
this.selectionRows1 = [];
|
|
},
|
|
selectOK(data) {
|
|
let params = {};
|
|
params.roleId = this.currentRoleId;
|
|
params.userIdList = [];
|
|
for (var a = 0; a < data.length; a++) {
|
|
params.userIdList.push(data[a]);
|
|
}
|
|
console.log(params);
|
|
postAction(this.url.addUserRole, params).then((res) => {
|
|
if (res.success) {
|
|
this.loadData2();
|
|
this.$message.success(res.message);
|
|
} else {
|
|
this.$message.warning(res.message);
|
|
}
|
|
});
|
|
},
|
|
/*
|
|
* 添加下级
|
|
* */
|
|
handleAddLowerLevel(){
|
|
if(this.selectedRowKeys.length === 0){
|
|
this.$message.warning('请选择一条记录')
|
|
return
|
|
}
|
|
if(this.selectedRowKeys.length > 1){
|
|
this.$message.warning('只能选择一条记录')
|
|
return
|
|
}
|
|
// 将这行的角色id作为新建角色的的父级id
|
|
this.$refs.modalForm.addLowerRole(this.selectedRowKeys[0]);
|
|
this.$refs.modalForm.title='添加下级'
|
|
},
|
|
handleAddUserRole() {
|
|
if (this.currentRoleId == "") {
|
|
this.$message.error("请选择一个角色!");
|
|
} else {
|
|
this.$refs.selectUserModal.visible = true;
|
|
}
|
|
},
|
|
handleOpen(record) {
|
|
this.rightcolval = 1;
|
|
this.selectedRowKeys1 = [record.id];
|
|
this.model1 = Object.assign({}, record);
|
|
this.currentRoleId = record.id;
|
|
this.onClearSelected2();
|
|
this.loadData2();
|
|
},
|
|
searchQuery2() {
|
|
this.loadData2(1);
|
|
},
|
|
searchReset2() {
|
|
this.queryParam2 = {};
|
|
this.loadData2(1);
|
|
},
|
|
/*
|
|
* 授权
|
|
* */
|
|
handlePerssion(roleId) {
|
|
this.$refs.modalUserRole.show(roleId);
|
|
},
|
|
handleExpandedRowsChange(expandedRows) {
|
|
this.expandedRowKeys = expandedRows
|
|
},
|
|
}
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
</style>
|