diff --git a/src/layouts/BasicLayout.tsx b/src/layouts/BasicLayout.tsx index 2b2b3f3..9130a6a 100644 --- a/src/layouts/BasicLayout.tsx +++ b/src/layouts/BasicLayout.tsx @@ -698,7 +698,7 @@ const BasicLayout: React.FC = (props) => { // 商品业态 // const SHOPTRADEList = await - getFieldEnum({ FieldExplainField: 'BUSINESSTYPE' }).then(SHOPTRADEList => { + getFieldEnum({ FieldExplainField: 'BUSINESSTYPE' }).then(SHOPTRADEList => { session.set('SHOPTRADEList', SHOPTRADEList); const SHOPTRADEObj: any = {} if (SHOPTRADEList && SHOPTRADEList.length > 0) { @@ -898,31 +898,52 @@ const BasicLayout: React.FC = (props) => { } subMenuItemRender={(menuItemProps) => { - if (menuItemProps.icon && typeof menuItemProps.icon === 'string') { - const ele = React.createElement(Icon[menuItemProps.icon]) - return
- {ele} + const itemDom = menuItemProps.icon && typeof menuItemProps.icon === 'string' ? ( +
+ + {React.createElement(Icon[menuItemProps.icon])} + {menuItemProps.name} -
; +
+ ) : ( +
{menuItemProps.name}
+ ); + + if (menuItemProps.name && menuItemProps.name.length > 9) { + return ( + + {itemDom} + + ); } - return
- {menuItemProps.name} -
; + return itemDom; }} menuItemRender={(menuItemProps, defaultDom) => { + let linkDom; if ( menuItemProps.isUrl || !menuItemProps.path || location.pathname === menuItemProps.path ) { - return defaultDom; + linkDom = defaultDom; + } else { + linkDom = ( + { + setIsFromMenu(true) // 左侧菜单点击,启用动画 + }}> + {defaultDom} + + ); } - return { - setIsFromMenu(true) // 左侧菜单点击,启用动画 - }}> - {defaultDom} - {/* {menuItemProps.name} */} - ; + + if (menuItemProps.name && menuItemProps.name.length > 9) { + return ( + + {linkDom} + + ); + } + return linkDom; }} breadcrumbRender={false} // breadcrumbRender={(routers = []) => { diff --git a/src/pages/Setting/Users/components/edit.tsx b/src/pages/Setting/Users/components/edit.tsx index 834411b..7cc190a 100644 --- a/src/pages/Setting/Users/components/edit.tsx +++ b/src/pages/Setting/Users/components/edit.tsx @@ -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()// 供应商列表 // 查询角色树 const [roleTree, setRoleTree] = useState() // 角色树列表 + // 当前选择的用户的管理中心 + const [checkManageerCenterList, setCheckManageerCenterList] = useState() + // 当前这个用户实际的管理中心权限 + const [currentUserInfoManager, setCurrentUserInfoManager] = useState() + // 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, } + + { + initialDetail.USER_PATTERN === 1000 || initialDetail.USER_PATTERN === 4000 ? + + + + { + wareHouseList && + { + setCheckManageerCenterList([]) + + }}>取消选择}> + + { + setCheckManageerCenterList(checkedKeys) + return checkedKeys + }} + > + + + } + + + : "" + } + { companyList && companyList.length > 0 ? diff --git a/src/pages/Setting/Users/service.ts b/src/pages/Setting/Users/service.ts index fd3864e..8e93309 100644 --- a/src/pages/Setting/Users/service.ts +++ b/src/pages/Setting/Users/service.ts @@ -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', {