| </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> | ||||
| </> | </> |