jiangping
2024-10-14 2079ba28f20bde46f7736699c97abf0e1564770d
admin/src/views/system/role.vue
@@ -40,13 +40,14 @@
        </el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="140px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['system:role:update', 'system:role:createRolePermission', 'system:role:createRoleMenu', 'system:role:delete'])"
          v-if="containPermissions(['system:role:update', 'system:role:createRolePermission','system:datapermission:create', 'system:role:createRoleMenu', 'system:role:delete'])"
          label="操作"
          min-width="270"
          fixed="right"
        >
          <template v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)" 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="$refs.operaRoleWindow.open('编辑角色', row)"   v-permissions="['system:role:update']">编辑</el-button>
            <el-button type="text" @click="setData(row)" v-permissions="['system:datapermission:create']">数据权限</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>
@@ -65,6 +66,7 @@
    <PermissionConfigWindow ref="permissionConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
    <!-- 授权菜单 -->
    <MenuConfigWindow ref="menuConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
    <OperaSystemRoleDataWindow  ref="OperaSystemRoleDataWindow"  @success="handlePageChange(tableData.pagination.pageIndex)"    />
  </TableLayout>
</template>
@@ -75,10 +77,12 @@
import OperaRoleWindow from '@/components/system/role/OperaRoleWindow'
import PermissionConfigWindow from '@/components/system/role/PermissionConfigWindow'
import MenuConfigWindow from '@/components/system/role/MenuConfigWindow'
import OperaSystemRoleDataWindow from '@/components/system/role/OperaSystemRoleDataWindow'
import { findByRoleId } from '@/api/system/role'
export default {
  name: 'SystemRole',
  extends: BaseTable,
  components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, Pagination },
  components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, OperaSystemRoleDataWindow, Pagination },
  data () {
    return {
      // 搜索
@@ -99,6 +103,21 @@
      }]
    })
    this.search()
  },
  methods: {
    setData (row) {
      findByRoleId({ roleId: row.id })
        .then(res => {
          if (!res) {
            this.$refs.OperaSystemRoleDataWindow.open('数据权限', { roleId: row.id },row)
          } else {
            this.$refs.OperaSystemRoleDataWindow.open('数据权限', res,row)
          }
        })
        .catch(err => {
          this.$tip.error(err)
        })
    }
  }
}
</script>