授权管理中心

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) => {
if (menuItemProps.icon && typeof menuItemProps.icon === 'string') {
const ele = React.createElement(Icon[menuItemProps.icon])
return <div className="ant-pro-menu-item">
<span style={{ marginRight: 10 }} className="ant-pro-menu-item">{ele}</span>
const itemDom = menuItemProps.icon && typeof menuItemProps.icon === 'string' ? (
<div className="ant-pro-menu-item">
<span style={{ marginRight: 10 }} className="ant-pro-menu-item">
{React.createElement(Icon[menuItemProps.icon])}
</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>
{menuItemProps.name}
</div>;
return itemDom;
}}
menuItemRender={(menuItemProps, defaultDom) => {
let linkDom;
if (
menuItemProps.isUrl ||
!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) // 左侧菜单点击,启用动画
}}>
{defaultDom}
{/* {menuItemProps.name} */}
</Link>;
if (menuItemProps.name && menuItemProps.name.length > 9) {
return (
<Tooltip title={menuItemProps.name} placement="right">
{linkDom}
</Tooltip>
);
}
return linkDom;
}}
breadcrumbRender={false}
// breadcrumbRender={(routers = []) => {

View File

@ -11,7 +11,7 @@ import type { UserModel } from "../data";
import type { CurrentUser } from '@/models/user';
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 BusinessManDrawer from "@/pages/basicManage/businessMan/components/businessManDrawer";
import session from "@/utils/session";
@ -76,6 +76,11 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
// const [supplierList,setSupplierList] = useState<any>()// 供应商列表
// 查询角色树
const [roleTree, setRoleTree] = useState<any>() // 角色树列表
// 当前选择的用户的管理中心
const [checkManageerCenterList, setCheckManageerCenterList] = useState<any>()
// 当前这个用户实际的管理中心权限
const [currentUserInfoManager, setCurrentUserInfoManager] = useState<any>()
// const { data: roleTree } = useRequest(async () => {
// if (currentUser?.UserPattern===9000){
// const req = {
@ -124,10 +129,25 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
const { data: serverpartTree } = useRequest(async () => {
const data = await getServerpartTree()
console.log('all', data);
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 () => {
// return await getMerchantTree()
@ -293,6 +313,16 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
handleSynchroBEHAVIORRECORD(req)
}
// 同步管理中心
const handleUpdateCurrentMangaer = async () => {
const req: any = {
...currentUserInfoManager,
WAREHOUSE_ID: checkManageerCenterList.toString()
}
const data = await handleSynchroRTSELLERPASSPORT(req)
console.log('data321wfDSFSDFSFS', data);
}
// 判断账号的正则
// 1表示全数字 0 表示 默认
@ -392,6 +422,27 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
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) {
getRoleMenu(initDetail.SystemRoleList.toString())
@ -464,7 +515,8 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
console.log('newData', newData);
console.log('copyData', copyData);
// 同步管理中心的权限
handleUpdateCurrentMangaer()
if (success) {
// 比较开始数据 如果和开始数据不一样 就调用接口
@ -1203,6 +1255,46 @@ const Edit = ({ tableTab, openType, detail, reloadTable, currentUser, selectTab,
</Col>}
</Row>
</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 ?
<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) {
const data = await request('/FrameWork/GetUserTypeTree', {