123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- <template>
- <div class="container">
- <div class="left-pane">
- <el-input placeholder="请输入关键字" suffix-icon="el-icon-search" v-model="filterText"></el-input>
- <el-tree ref="tree" :data="data" :props="defaultProps" node-key="id" default-expand-all
- :filter-node-method="filterNode" @node-click="handleNodeClick">
- </el-tree>
- <el-button><i class="el-icon-s-order"></i>新建角色</el-button>
- </div>
- <div class="right-pane">
- <p class="info">角色总览</p>
- <el-table ref="multipleTable" border :data="tableData" tooltip-effect="dark"
- :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" style="width: 100%"
- @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="50">
- </el-table-column>
- <el-table-column prop="rolename" label="角色名称">
- </el-table-column>
- <el-table-column prop="role_desc" label="角色描述">
- </el-table-column>
- <el-table-column prop="role_members" label="角色成员">
- </el-table-column>
- <el-table-column prop="associated_ORN" label="关联组织">
- </el-table-column>
- <el-table-column prop="operation" label="操作">
- <el-button size="mini" type="text">查看</el-button>
- <el-button size="mini" type="text">编辑</el-button>
- <el-button size="mini" type="text">删除</el-button>
- </el-table-column>
- </el-table>
- </div>
- <div class="bottom">
- <div class="bottom_button" v-show="show">
- <el-button class="delete" type="text">批量删除</el-button>
- </div>
- <page class="page" :paginationData="paginationData"></page>
- </div>
- </div>
- </template>
- <script>
- import page from '@/components/pagination/index'
- export default {
- components: { page },
- data() {
- return {
- filterText: '',
- data: [{
- label: '决策组',
- children: [{
- label: '决策组',
- }, {
- label: '管理员组'
- }, {
- label: '普通用户组'
- }]
- }],
- defaultProps: {
- children: 'children',
- label: 'label'
- },
- tableData: [{
- rolename: '决策组',
- role_desc: '描述',
- role_members: '300人',
- associated_ORN: '3家',
- }, {
- rolename: '决策组-1',
- role_desc: '描述',
- role_members: '300人',
- associated_ORN: '3家',
- }, {
- rolename: '决策组-2',
- role_desc: '描述',
- role_members: '300人',
- associated_ORN: '3家',
- }],
- multipleSelection: [],
- show: true,
- currentPageSize: 10,
- currentPage: 1,
- paginationData: {
- pageSize: 10,
- pagerCount: 5,
- currentPage: 1,
- pageSizes: [5, 10, 20, 30],
- total: 30,
- currentChange: (val) => {
- this.getTableData(val);
- },
- handleSizeChange: (val) => {
- this.handleSizeChange(val);
- },
- },
- }
- },
- watch: {
- filterText(val) {
- this.$refs.tree.filter(val);
- }
- },
- methods: {
- cancleChecked() {
- //
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- handleClick() {
- //
- },
- handleNodeClick() {
- },
- handleSelectionChange() {
- },
- getTableData() {
- this.tableData = [];
- //
- },
- handleSizeChange(val) {
- console.log(`每页 ${val} 条`);
- this.currentPageSize = val;
- this.getTableData(this.currentPage);
- },
- }
- }
- </script>
- <style lang="less" scoped>
- .container {
- position: relative;
- height: 100%;
- line-height: 20px;
- background-color: rgba(255, 255, 255, 1);
- color: rgba(16, 16, 16, 1);
- font-size: 14px;
- text-align: center;
- box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
- .left-pane {
- width: 300px;
- padding: 15px;
- .el-tree {
- height: 700px;
- margin-top: 15px;
- background-color: rgb(247, 245, 243);
- }
- .el-button {
- position: absolute;
- left: 35px;
- bottom: 40px;
- width: 250px;
- background-color: rgb(131, 208, 243);
- text-align: center;
- font-size: 16px;
- }
- }
- .right-pane {
- width: 1340px;
- position: absolute;
- margin-left: 330px;
- top: 0;
- margin-right: 20px;
- }
- }
- .info {
- text-align: left;
- padding: 20px;
- font-size: 25px;
- }
- .bottom {
- position: absolute;
- left: 330px;
- right: 16px;
- bottom: 20px;
- height: 50px;
- line-height: 20px;
- background-color: rgba(255, 255, 255, 1);
- text-align: center;
- .checkbox {
- position: absolute;
- left: 30px;
- top: 15px;
- font-size: 14px;
- }
- .check-cancel {
- position: absolute;
- // line-height: 20px;
- font-size: 14px;
- text-align: center;
- left: 140px;
- top: 10px;
- }
- .bottom_button {
- position: absolute;
- left: 200px;
- margin-top: 15px;
- .delete {
- font-size: 14px;
- text-align: center;
- padding: 1px;
- }
- }
- }
- </style>
|