123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- <template>
- <div class="siteManage-main roleInfoPage">
- <div style="text-align: right; margin-bottom: 20px">
- <!-- <el-button type="success" >新增</el-button> -->
- <el-button type="primary" @click="saveMenu()">保存</el-button>
- </div>
- <!-- <el-table :data="menuData" border stripe>
- <el-table-column prop="label" label="菜单" width="180"></el-table-column>
- <el-table-column prop="authority2" label="权限" class="roleLeft">
- <template #default="scope">
- <el-radio-group
- v-model="scope.row.authority2"
- @change="listTabsChange(scope.row)"
- >
- <el-radio label="1" :disabled="radio1 == 1 ? true : false">
- 是
- </el-radio>
- <el-radio label="0" :disabled="radio1 == 1 ? true : false">
- 否
- </el-radio>
- </el-radio-group>
- </template>
- </el-table-column>
- </el-table> -->
- <!-- <br />
- <br /> -->
- <!-- 树结构的表格 start -->
- <!-- <el-table
- :data="tableData"
- style="width: 100%; margin-bottom: 20px"
- row-key="id"
- border
- >
- <el-table-column prop="date" label="菜单" width="180" />
- <el-table-column prop="name" label="权限">
- <template #default="scope">
- <el-radio-group v-model="scope.row.authority2">
- <el-radio label="1">是</el-radio>
- <el-radio label="0">否</el-radio>
- </el-radio-group>
- </template>
- </el-table-column>
- </el-table> -->
- <!-- 树结构的表格 end -->
- <!-- 带复选框的树结构 start -->
- <el-tree
- :data="data"
- show-checkbox
- node-key="id"
- :default-checked-keys="[11,2,31,32,4,51,52,53,81]"
- :props="defaultProps"
- @check="currentChecked"
- />
- <!-- 带复选框的树结构 end -->
- </div>
- </template>
- <script>
- import { defineComponent, ref, onMounted, watch } from 'vue'
- import * as api from '@/api/systemManage/rolePermission.js'
- import { ElMessage } from 'element-plus'
- export default defineComponent({
- name: 'RoleInfoCom',
- props: ['menuData', 'objItem', 'radio1'],
- // props: {
- // menuData: Object,
- // objItem: Object,
- // radio1: String,
- // },
- setup(props) {
- const aa = ref([])
- const saveArr = ref([])
- const tableData = ref([
- {
- id: 1,
- date: '告警管理',
- name: 'wangxiaohu',
- authority2: '1',
- children: [
- {
- id: 11,
- date: '新增',
- name: 'wangxiaohu',
- authority2: '1',
- },
- {
- id: 12,
- date: '修改',
- name: 'wangxiaohu',
- authority2: '1',
- },
- {
- id: 13,
- date: '删除',
- name: 'wangxiaohu',
- authority2: '0',
- },
- ],
- },
- {
- id: 2,
- date: '站点管理',
- name: 'wangxiaohu',
- authority2: '1',
- children: [
- {
- id: 21,
- date: '新增',
- name: 'wangxiaohu',
- authority2: '1',
- },
- {
- id: 22,
- date: '修改',
- name: 'wangxiaohu',
- authority2: '1',
- },
- {
- id: 23,
- date: '删除',
- name: 'wangxiaohu',
- authority2: '0',
- },
- ],
- },
- {
- id: 3,
- date: '数据管理',
- name: 'wangxiaohu',
- authority2: '0',
- children: [
- {
- id: 31,
- date: '同比分析报表',
- name: 'wangxiaohu',
- authority2: '0',
- children: [
- {
- id: 41,
- date: '新增',
- name: 'wangxiaohu',
- authority2: '0',
- },
- {
- id: 42,
- date: '修改',
- name: 'wangxiaohu',
- authority2: '0',
- },
- {
- id: 43,
- date: '删除',
- name: 'wangxiaohu',
- authority2: '0',
- },
- ],
- },
- {
- id: 32,
- date: '台区管理',
- name: 'wangxiaohu',
- authority2: '0',
- children: [
- {
- id: 51,
- date: '新增',
- name: 'wangxiaohu',
- authority2: '0',
- },
- {
- id: 52,
- date: '修改',
- name: 'wangxiaohu',
- authority2: '0',
- },
- {
- id: 53,
- date: '删除',
- name: 'wangxiaohu',
- authority2: '0',
- },
- ],
- },
- ],
- },
- ])
- const data = ref([
- {
- id: 1,
- label: '告警管理',
- children: [
- {
- id: 11,
- label: '查询',
- },
- {
- id: 12,
- label: '新增',
- },
- {
- id: 13,
- label: '修改',
- },
- {
- id: 14,
- label: '删除',
- },
- ],
- },
- {
- id: 2,
- label: '站点管理',
- },
- {
- id: 3,
- label: '台区管理',
- children: [
- {
- id: 31,
- label: '查询',
- },
- {
- id: 32,
- label: '新增',
- },
- {
- id: 33,
- label: '编辑',
- },
- {
- id: 34,
- label: '删除',
- },
- ],
- },
- {
- id: 4,
- label: '设备管理',
- },
- {
- id: 5,
- label: '数据管理',
- children: [
- {
- id: 51,
- label: '同比分析报表',
- },
- {
- id: 52,
- label: '环比分析报表',
- },
- {
- id: 53,
- label: '用能月报',
- },
- {
- id: 54,
- label: '需量分析',
- },
- ],
- },
- {
- id: 6,
- label: '电能质量',
- children: [
- {
- id: 61,
- label: '谐波报表',
- },
- {
- id: 62,
- label: '实时监测',
- },
- {
- id: 63,
- label: '实时评估',
- },
- {
- id: 64,
- label: '三项不平衡分析',
- },
- ],
- },
- {
- id: 7,
- label: '计划停电',
- children: [
- {
- id: 71,
- label: '查询',
- },
- {
- id: 72,
- label: '新增',
- },
- {
- id: 73,
- label: '编辑',
- },
- {
- id: 74,
- label: '删除',
- },
- ],
- },
- {
- id: 8,
- label: '系统管理',
- children: [
- {
- id: 81,
- label: '用户管理',
- },
- {
- id: 82,
- label: '权限管理',
- },
- ],
- },
- ])
- function currentChecked (nodeObj, SelectedObj) {
- console.log(SelectedObj)
- console.log(SelectedObj.checkedKeys) // 这是选中的节点的key数组
- // console.log(SelectedObj.checkedNodes) // 这是选中的节点数组
-
- }
- function saveMenu() {
- api
- .saveMenu({
- menuIds: saveArr.value,
- roleId: props.radio1,
- roleKey: props.objItem.roleKey,
- roleName: props.objItem.roleName,
- roleSort: props.objItem.roleSort,
- })
- .then((requset) => {
- if (requset.status === 'SUCCESS') {
- ElMessage.success({
- message: '权限修改成功',
- type: 'success',
- })
- } else {
- ElMessage.error(requset.msg)
- }
- })
- }
- const listTabsChange = (value) => {
- saveArr.value = []
- value
- props.menuData.forEach(function (item) {
- if (item.authority2 == '1') {
- saveArr.value.push(item.id)
- var aa = item.children
- aa.forEach(function (item) {
- saveArr.value.push(item.id)
- })
- }
- })
- }
- onMounted(() => {})
- //监听变化
- watch(
- () => props.radio1,
- (newVal) => {
- newVal
- // if (newVal == '1') {
- // alert(1)
- // props.menuData.forEach(function (item) {
- // item.authority2 = '1'
- // saveArr.value.push(item.id)
- // })
- // console.log(' 22props.menuData')
- // console.log(props.menuData)
- // }
- }
- )
- return {
- saveMenu,
- aa,
- listTabsChange,
- saveArr,
- tableData,
- data,
- currentChecked
- }
- },
- })
- </script>
- <style lang="scss">
- </style>
|