MrShi
2024-11-07 bf2338f5cc71890cda247d46edcffa42e21871f6
company/src/views/system/role.vue
@@ -42,12 +42,12 @@
        <el-table-column
          v-if="containPermissions(['system:role:update', 'system:role:createRolePermission', 'system:role:createRoleMenu', 'system:role:delete'])"
          label="操作"
          min-width="270"
          min-width="330"
          fixed="right"
        >
<!--          v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)"-->
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaRoleWindow.open('编辑角色', row)" icon="el-icon-edit" v-permissions="['system:role:update']">编辑</el-button>
            <el-button type="text" @click="openRole(row.systemDataPermission)">数据权限</el-button>
            <el-button type="text" @click="$refs.permissionConfigWindow.open(row)" v-permissions="['system:role:createRolePermission']">配置权限</el-button>
            <el-button type="text" @click="$refs.menuConfigWindow.open(row)" icon="el-icon-menu" v-permissions="['system:role:createRoleMenu']">授权菜单</el-button>
            <el-button v-if="!row.fixed" type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:role:delete']">删除</el-button>
@@ -66,6 +66,8 @@
    <PermissionConfigWindow ref="permissionConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
    <!-- 授权菜单 -->
    <MenuConfigWindow ref="menuConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
    <!--  数据权限  -->
    <Permissions ref="permissions" @success="handlePageChange(tableData.pagination.pageIndex)"/>
  </TableLayout>
</template>
@@ -76,10 +78,11 @@
import OperaRoleWindow from '@/components/system/role/OperaRoleWindow'
import PermissionConfigWindow from '@/components/system/role/PermissionConfigWindow'
import MenuConfigWindow from '@/components/system/role/MenuConfigWindow'
import Permissions from '@/components/system/role/Permissions'
export default {
  name: 'SystemRole',
  extends: BaseTable,
  components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, Pagination },
  components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, Pagination, Permissions },
  data () {
    return {
      // 搜索
@@ -100,6 +103,15 @@
      }]
    })
    this.search()
  },
  methods: {
    openRole(row) {
      let customData = []
      row.customData.split(',').forEach(item => {
        customData.push([item])
      })
      this.$refs.permissions.open('数据权限', { ...row, customData })
    }
  }
}
</script>