Files
income_payments_client/src/views/system/RoleUserList.vue
T

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>