</head> | </head> | ||||
<body> | <body> | ||||
<div id="root"></div> | <div id="root"></div> | ||||
<script src="/umi.59ecbd58.js"></script> | |||||
<script src="/umi.11ccb2a8.js"></script> | |||||
</body> | </body> | ||||
</html> | </html> |
export const updatePermission = PostModel(url.permissionUpdate); | export const updatePermission = PostModel(url.permissionUpdate); | ||||
export const GetDetailPermission = GetModel(url.permissionDetail); | export const GetDetailPermission = GetModel(url.permissionDetail); | ||||
export const getPermissionListWithchilds = GetModel(url.permissionListWithchilds); | export const getPermissionListWithchilds = GetModel(url.permissionListWithchilds); | ||||
export const getRoleGetpermissionids = GetModel(url.roleGetpermissionids); | |||||
// 账号 | // 账号 | ||||
export const addAccount = PostModel(url.accountAdd); | export const addAccount = PostModel(url.accountAdd); |
permissionList: String, | permissionList: String, | ||||
permissionUpdate: String, | permissionUpdate: String, | ||||
permissionDetail: String, | permissionDetail: String, | ||||
roleGetpermissionids: String, | |||||
permissionListWithchilds: String, | permissionListWithchilds: String, | ||||
accountAdd: String, | accountAdd: String, | ||||
accountList: String, | accountList: String, |
permissionUpdate: admin + '/permission/update', | permissionUpdate: admin + '/permission/update', | ||||
permissionDetail: admin + '/permission/detail', | permissionDetail: admin + '/permission/detail', | ||||
roleGetpermissionids: admin + '/role/getpermissionids', // 获取角色的id | |||||
permissionListWithchilds: admin + '/permission/listwithchilds', | permissionListWithchilds: admin + '/permission/listwithchilds', | ||||
accountAdd: admin + '/user/add', | accountAdd: admin + '/user/add', | ||||
accountList: admin + '/user/list', | accountList: admin + '/user/list', |
import { useRef, useState, useEffect } from 'react'; | import { useRef, useState, useEffect } from 'react'; | ||||
import { connect } from '@umijs/max'; | import { connect } from '@umijs/max'; | ||||
import { ConfigProvider, Space, Collapse, Tag, Modal, Row, Col, message} from 'antd'; | import { ConfigProvider, Space, Collapse, Tag, Modal, Row, Col, message} from 'antd'; | ||||
import { PostRoleAddpermission,PostRoleDelpermission, getPermissionListWithchilds, getRoleGetpermissions } from '@/apis/api'; | |||||
import { PostRoleAddpermission,PostRoleDelpermission, getPermissionListWithchilds, getRoleGetpermissions, getRoleGetpermissionids } from '@/apis/api'; | |||||
const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | ||||
const [openPreview, setOpenPreview] = useState(false); | const [openPreview, setOpenPreview] = useState(false); | ||||
} | } | ||||
}; | }; | ||||
// 递归函数用于收集所有权限ID | |||||
function collectAllPermissionIds(permission) { | |||||
let ids = [permission.id]; | |||||
if (permission.childs && Array.isArray(permission.childs)) { | |||||
permission.childs.forEach(child => { | |||||
ids = ids.concat(collectAllPermissionIds(child)); | |||||
}); | |||||
} | |||||
return ids; | |||||
} | |||||
// 检查给定的 id 是否存在于 res.data 中,并返回对应的下标加 1 | // 检查给定的 id 是否存在于 res.data 中,并返回对应的下标加 1 | ||||
function checkIdInData(ids : number, data :number) { | |||||
function checkIdInData(ids : number[], data :number) { | |||||
const result: any = []; | const result: any = []; | ||||
if(ids && ids.length > 0) { | if(ids && ids.length > 0) { | ||||
ids.forEach(id => { | ids.forEach(id => { | ||||
title={'分配权限'} | title={'分配权限'} | ||||
open={openPreview} | open={openPreview} | ||||
centered | centered | ||||
maskClosable={false} | |||||
maskClosable={true} | |||||
destroyOnClose | destroyOnClose | ||||
width={1000} | |||||
width={1200} | |||||
footer={null} | |||||
onCancel={() => { | onCancel={() => { | ||||
dispatch({ type: 'openModel/getOpenDispenseModal', payload: false }) | dispatch({ type: 'openModel/getOpenDispenseModal', payload: false }) | ||||
}} | }} | ||||
setCollapseKey([]) | setCollapseKey([]) | ||||
let res = await getPermissionListWithchilds() | let res = await getPermissionListWithchilds() | ||||
setDetail(res.data) | setDetail(res.data) | ||||
let resrole = await getRoleGetpermissions({ ids: id }) | |||||
const nextSelectedTags = resrole.data.permissions.length > 0 ? resrole.data.permissions.flatMap(permission => | |||||
collectAllPermissionIds(permission) | |||||
) : [] | |||||
let resrole = await getRoleGetpermissionids({ id: id }) | |||||
const nextSelectedTags = resrole.data.permissionIds.map(item => { | |||||
return Number(item) | |||||
}) | |||||
setSelectedIds(nextSelectedTags); | setSelectedIds(nextSelectedTags); | ||||
const uniqueIndexes = checkIdInData(nextSelectedTags, res.data.permissions); | const uniqueIndexes = checkIdInData(nextSelectedTags, res.data.permissions); | ||||
console.log(uniqueIndexes); // 输出去重后的结果 | console.log(uniqueIndexes); // 输出去重后的结果 | ||||
setCollapseKey(uniqueIndexes); | setCollapseKey(uniqueIndexes); | ||||
} else { | } else { | ||||
setCollapseKey(["1"]); | setCollapseKey(["1"]); | ||||
} | } | ||||
} | } | ||||
}} | }} |
export const web: string = '/web'; | export const web: string = '/web'; | ||||
export const common: string = '/common'; | export const common: string = '/common'; | ||||
export type StringOptional = string | undefined; | export type StringOptional = string | undefined; | ||||
console.log(231553,JSON.parse(process.env.BUILD_ENV) ) | |||||
console.log(231553,JSON.parse(process.env.BUILD_ENV)) | |||||
export const Imageprefix: string = JSON.parse(process.env.BUILD_ENV) == 'production' ? 'https://admin1.jcjob.cn/img/' : 'https://rcsc-test.jcjob.cn/img/' | export const Imageprefix: string = JSON.parse(process.env.BUILD_ENV) == 'production' ? 'https://admin1.jcjob.cn/img/' : 'https://rcsc-test.jcjob.cn/img/' | ||||
export const baseUrl: string = JSON.parse(process.env.BUILD_ENV) == 'production' ? 'https://admin1.jcjob.cn/api' : 'https://rcsc-test.jcjob.cn/api' | export const baseUrl: string = JSON.parse(process.env.BUILD_ENV) == 'production' ? 'https://admin1.jcjob.cn/api' : 'https://rcsc-test.jcjob.cn/api' | ||||
> | > | ||||
<PagesMainCompanyListTable getId={getId}></PagesMainCompanyListTable> | <PagesMainCompanyListTable getId={getId}></PagesMainCompanyListTable> | ||||
<PagesMainCompanyListCreate id={id}></PagesMainCompanyListCreate> | <PagesMainCompanyListCreate id={id}></PagesMainCompanyListCreate> | ||||
DD | |||||
<PagesMainCompanyListHr id={id}></PagesMainCompanyListHr> | <PagesMainCompanyListHr id={id}></PagesMainCompanyListHr> | ||||
</ConfigProvider> | </ConfigProvider> | ||||
</> | </> |