| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | | v-model="form" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @row-del="rowDel" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" |
| | | :permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate" |
| | | @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | v-if="permission.role_delete" |
| | | plain |
| | | <el-button type="danger" size="small" icon="el-icon-delete" v-if="permission.role_delete" plain |
| | | @click="handleDelete">删 除 |
| | | </el-button> |
| | | <el-button size="small" |
| | | icon="el-icon-setting" |
| | | @click="handleRole" |
| | | v-if="userInfo.role_name.includes('admin')" |
| | | <el-button size="small" icon="el-icon-setting" @click="handleRole" v-if="userInfo.role_name.includes('admin')" |
| | | plain>权限设置 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="角色权限配置" |
| | | append-to-body |
| | | :visible.sync="box" |
| | | width="345px"> |
| | | <el-dialog title="角色权限配置" append-to-body :visible.sync="box" width="345px"> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane label="权限"> |
| | | <el-tree :data="menuGrantList" |
| | | show-checkbox |
| | | node-key="id" |
| | | ref="treeMenu" |
| | | :default-checked-keys="menuTreeObj" |
| | | <el-tree :data="menuGrantList" show-checkbox node-key="id" ref="treeMenu" :default-checked-keys="menuTreeObj" |
| | | :props="props"> |
| | | </el-tree> |
| | | </el-tab-pane> |
| | |
| | | </el-tab-pane> --> |
| | | </el-tabs> |
| | | |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="box = false">取 消</el-button> |
| | | <el-button type="primary" |
| | | @click="submit">确 定</el-button> |
| | | <el-button type="primary" @click="submit">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {add, getList, getRoleList, getRole, getRoleTreeById, grant, grantTree, remove, update} from "@/api/system/role"; |
| | | import {mapGetters} from "vuex"; |
| | | import { |
| | | add, |
| | | getList, |
| | | getRoleList, |
| | | getRole, |
| | | getRoleTreeById, |
| | | grant, |
| | | grantTree, |
| | | remove, |
| | | update |
| | | } from "@/api/system/role"; |
| | | import { |
| | | mapGetters |
| | | } from "vuex"; |
| | | import website from '@/config/website'; |
| | | |
| | | export default { |
| | |
| | | viewBtn: true, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | column: [{ |
| | | label: "角色名称", |
| | | prop: "roleName", |
| | | search: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入角色名称", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | // { |
| | | // label: "所属租户", |
| | |
| | | prop: "roleAlias", |
| | | search: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入角色别名", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | { |
| | | label: "上级角色", |
| | |
| | | props: { |
| | | label: "title" |
| | | }, |
| | | rules: [ |
| | | { |
| | | rules: [{ |
| | | required: false, |
| | | message: "请选择上级角色", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | { |
| | | label: "角色排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入角色排序", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }] |
| | | } |
| | | ] |
| | | }, |
| | |
| | | <!-- </el-radio-group> --> |
| | | |
| | | <div v-if="item.choicesType == 3"> |
| | | <!-- <div>{{item1.optionName}}</div> --> |
| | | <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> |
| | | |
| | | <div v-for="(item1, index1) in item.subjectOptionList" :key="index1" style="display: flex;"> |
| | | <div>{{item1.optionName}}:</div> |
| | | <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25" |
| | | :label="item1.optionName"></el-input-number> |
| | | </div> |