授权管理中心

This commit is contained in:
ylj20011123 2026-01-28 13:55:07 +08:00
parent 877d0d339f
commit fb799f5313
3 changed files with 175 additions and 20 deletions

View File

@ -898,31 +898,52 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
} }
subMenuItemRender={(menuItemProps) => { subMenuItemRender={(menuItemProps) => {
if (menuItemProps.icon && typeof menuItemProps.icon === 'string') { const itemDom = menuItemProps.icon && typeof menuItemProps.icon === 'string' ? (
const ele = React.createElement(Icon[menuItemProps.icon]) <div className="ant-pro-menu-item">
return <div className="ant-pro-menu-item"> <span style={{ marginRight: 10 }} className="ant-pro-menu-item">
<span style={{ marginRight: 10 }} className="ant-pro-menu-item">{ele}</span> {React.createElement(Icon[menuItemProps.icon])}
</span>
<span className='ant-pro-menu-item-title'>{menuItemProps.name}</span> <span className='ant-pro-menu-item-title'>{menuItemProps.name}</span>
</div>; </div>
) : (
<div>{menuItemProps.name}</div>
);
if (menuItemProps.name && menuItemProps.name.length > 9) {
return (
<Tooltip title={menuItemProps.name} placement="right">
{itemDom}
</Tooltip>
);
} }
return <div> return itemDom;
{menuItemProps.name}
</div>;
}} }}
menuItemRender={(menuItemProps, defaultDom) => { menuItemRender={(menuItemProps, defaultDom) => {
let linkDom;
if ( if (
menuItemProps.isUrl || menuItemProps.isUrl ||
!menuItemProps.path || !menuItemProps.path ||
location.pathname === menuItemProps.path location.pathname === menuItemProps.path
) { ) {
return defaultDom; linkDom = defaultDom;
} else {
linkDom = (
<Link to={menuItemProps.path || '/'} onClick={() => {
setIsFromMenu(true) // 左侧菜单点击,启用动画
}}>
{defaultDom}
</Link>
);
} }
return <Link to={menuItemProps.path || '/'} onClick={() => {
setIsFromMenu(true) // 左侧菜单点击,启用动画 if (menuItemProps.name && menuItemProps.name.length > 9) {
}}> return (
{defaultDom} <Tooltip title={menuItemProps.name} placement="right">
{/* {menuItemProps.name} */} {linkDom}
</Link>; </Tooltip>
);
}
return linkDom;
}} }}
breadcrumbRender={false} breadcrumbRender={false}
// breadcrumbRender={(routers = []) => { // breadcrumbRender={(routers = []) => {

View File

@ -11,7 +11,7 @@ import type { UserModel } from "../data";
import type { CurrentUser } from '@/models/user'; import type { CurrentUser } from '@/models/user';
import { getMerchantTree, getMerchantTreeNosessoin, getOnwer } from "@/services/options"; import { getMerchantTree, getMerchantTreeNosessoin, getOnwer } from "@/services/options";
import { getUserDetail, getUserTypeTree, getServerpartTree, updataUser, modifyUserPassword, getMerchantShopTree, getWeiChatPush, handleGetServiceList, handleDeleteUSER, handleSynchroBEHAVIORRECORD, handleResetPassword } from "../service"; import { getUserDetail, getUserTypeTree, getServerpartTree, updataUser, modifyUserPassword, getMerchantShopTree, getWeiChatPush, handleGetServiceList, handleDeleteUSER, handleSynchroBEHAVIORRECORD, handleResetPassword, handleGetWareHouseList, handleGetRTSELLERPASSPORTList, handleSynchroRTSELLERPASSPORT } from "../service";
import { getRoleList, getSystemMenuTree, handleAnalysisPermission, handleSupplierList } from "../../Roles/service"; import { getRoleList, getSystemMenuTree, handleAnalysisPermission, handleSupplierList } from "../../Roles/service";
import BusinessManDrawer from "@/pages/basicManage/businessMan/components/businessManDrawer"; import BusinessManDrawer from "@/pages/basicManage/businessMan/components/businessManDrawer";
import session from "@/utils/session"; import session from "@/utils/session";
@ -76,6 +76,11 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
// const [supplierList,setSupplierList] = useState<any>()// 供应商列表 // const [supplierList,setSupplierList] = useState<any>()// 供应商列表
// 查询角色树 // 查询角色树
const [roleTree, setRoleTree] = useState<any>() // 角色树列表 const [roleTree, setRoleTree] = useState<any>() // 角色树列表
// 当前选择的用户的管理中心
const [checkManageerCenterList, setCheckManageerCenterList] = useState<any>()
// 当前这个用户实际的管理中心权限
const [currentUserInfoManager, setCurrentUserInfoManager] = useState<any>()
// const { data: roleTree } = useRequest(async () => { // const { data: roleTree } = useRequest(async () => {
// if (currentUser?.UserPattern===9000){ // if (currentUser?.UserPattern===9000){
// const req = { // const req = {
@ -124,10 +129,25 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
const { data: serverpartTree } = useRequest(async () => { const { data: serverpartTree } = useRequest(async () => {
const data = await getServerpartTree() const data = await getServerpartTree()
console.log('all', data); console.log('all', data);
return data.map(n => n.children ? n : { ...n, children: [] }) return data.map(n => n.children ? n : { ...n, children: [] })
}) })
// 查询可配置的管理中心
const { data: wareHouseList } = useRequest(async () => {
let req: any = {
SearchParameter: {
// PROVINCE_CODE: detail?.USER_PROVINCE || "",
WAREHOUSE_STATE: 1
},
SortStr: "SELLER_ID,WAREHOUSE_TYPE,WAREHOUSE_ID",
PageIndex: 1,
PageSize: 999999
}
const data = await handleGetWareHouseList(req)
console.log('wareHouseListwareHouseList', data);
return data
})
// 查询可选商家 // 查询可选商家
// const { run: getMerchantTree, data: merchantTree } = useRequest(async () => { // const { run: getMerchantTree, data: merchantTree } = useRequest(async () => {
// return await getMerchantTree() // return await getMerchantTree()
@ -293,6 +313,16 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
handleSynchroBEHAVIORRECORD(req) handleSynchroBEHAVIORRECORD(req)
} }
// 同步管理中心
const handleUpdateCurrentMangaer = async () => {
const req: any = {
...currentUserInfoManager,
WAREHOUSE_ID: checkManageerCenterList.toString()
}
const data = await handleSynchroRTSELLERPASSPORT(req)
console.log('data321wfDSFSDFSFS', data);
}
// 判断账号的正则 // 判断账号的正则
// 1表示全数字 0 表示 默认 // 1表示全数字 0 表示 默认
@ -392,6 +422,27 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
setShowWeChatFlag(initDetail.PushPermission) setShowWeChatFlag(initDetail.PushPermission)
// 拿到当前用户拥有的 管理中心权限
const req: any = {
SearchParameter: {
USER_ID: initDetail.USER_ID
},
PageIndex: 1,
PageSize: 999999
}
const data = await handleGetRTSELLERPASSPORTList(req)
console.log('dsakdjaskldhaslfhousdhfosadhvosbgv', data);
// 说明查到了这个用户
if (data && data.length > 0) {
let currentUserInfo = data[0]
setCurrentUserInfoManager(currentUserInfo)
let list: any = currentUserInfo.WAREHOUSE_ID ? currentUserInfo.WAREHOUSE_ID.split(',') : []
list = list.map((item: any) => Number(item))
console.log('list', list);
setCheckManageerCenterList(list)
}
// 请求获取该账户绑定的角色拥有的模块权限 // 请求获取该账户绑定的角色拥有的模块权限
if (initDetail.SystemRoleList.length > 0) { if (initDetail.SystemRoleList.length > 0) {
getRoleMenu(initDetail.SystemRoleList.toString()) getRoleMenu(initDetail.SystemRoleList.toString())
@ -464,7 +515,8 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
console.log('newData', newData); console.log('newData', newData);
console.log('copyData', copyData); console.log('copyData', copyData);
// 同步管理中心的权限
handleUpdateCurrentMangaer()
if (success) { if (success) {
// 比较开始数据 如果和开始数据不一样 就调用接口 // 比较开始数据 如果和开始数据不一样 就调用接口
@ -1203,6 +1255,46 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
</Col>} </Col>}
</Row> </Row>
</Card> </Card>
{
initialDetail.USER_PATTERN === 1000 || initialDetail.USER_PATTERN === 4000 ?
<Card title="授权管理中心" style={{ marginTop: 24 }} bordered={false} size="default">
<Row gutter={24}>
<Col span={8}>
{
wareHouseList &&
<Card
style={{ borderColor: "#97D6FE", height: 424 }}
size="small"
title="管理中心权限" headStyle={{ backgroundColor: '#E7F7FF' }}
extra={<a onClick={() => {
setCheckManageerCenterList([])
}}></a>}>
<Form.Item name="ServerpartList" style={{ marginBottom: 0 }}>
<Tree
checkedKeys={checkManageerCenterList}
defaultCheckedKeys={checkManageerCenterList}
treeData={wareHouseList}
height={360}
checkable
fieldNames={{
title: 'WAREHOUSE_NAME',
key: 'WAREHOUSE_ID'
}}
onCheck={(checkedKeys: React.Key[] | any) => {
setCheckManageerCenterList(checkedKeys)
return checkedKeys
}}
></Tree>
</Form.Item>
</Card>
}
</Col>
</Row>
</Card> : ""
}
{ {
companyList && companyList.length > 0 ? companyList && companyList.length > 0 ?
<Card title="推送权限" style={{ marginTop: 24 }}> <Card title="推送权限" style={{ marginTop: 24 }}>

View File

@ -65,6 +65,48 @@ export async function getServerpartTree(params?: any) {
} }
// 获取管理中心
export async function handleGetWareHouseList(params?: any) {
const data = await request('/Seller/GetWAREHOUSEList', {
method: 'POST',
data: params
})
if (data.Result_Code !== 100) {
return data
}
return data.Result_Data.List
}
// 拿到当前用户的管理中心权限
export async function handleGetRTSELLERPASSPORTList(params?: any) {
const data = await request('/Seller/GetRTSELLERPASSPORTList', {
method: 'POST',
data: params
})
if (data.Result_Code !== 100) {
return data
}
return data.Result_Data.List
}
// 同步当前用户的管理中心权限
export async function handleSynchroRTSELLERPASSPORT(params?: any) {
const data = await request('/Seller/SynchroRTSELLERPASSPORT', {
method: 'POST',
data: params
})
if (data.Result_Code !== 100) {
return data
}
return data
}
// 获取账号分类树 // 获取账号分类树
export async function getUserTypeTree(params?: any) { export async function getUserTypeTree(params?: any) {
const data = await request('/FrameWork/GetUserTypeTree', { const data = await request('/FrameWork/GetUserTypeTree', {