| | |
| | | import AssignPermissions from "./AssignPermissions"; |
| | | import AssignPermissionsPda from "./AssignPermissions_pda"; |
| | | import AssignPermissionsMatnr from "./AssignPermissions_matnr"; |
| | | import AssignPermissionsWarehouse from "./AssignPermissions_warehouse"; |
| | | import request from '@/utils/request'; |
| | | import AssignmentIndIcon from '@mui/icons-material/AssignmentInd'; |
| | | import AdUnitsIcon from '@mui/icons-material/AdUnits'; |
| | |
| | | const [drawerVal, setDrawerVal] = useState(false); |
| | | const [drawerValPda, setDrawerValPda] = useState(false); |
| | | const [drawerValMatnr, setDrawerValMatnr] = useState(false); |
| | | const [drawerValWarehouse, setDrawerValWarehouse] = useState(false); |
| | | |
| | | const [menuIds, setMenuIds] = useState([]); |
| | | |
| | |
| | | |
| | | const assign = (record) => { |
| | | setDrawerValPda(false); |
| | | setDrawerValMatnr(false); |
| | | setDrawerValWarehouse(false); |
| | | request('/role/scope/list', { |
| | | method: 'GET', |
| | | params: { |
| | |
| | | |
| | | const assignPda = (record) => { |
| | | setDrawerVal(false); |
| | | setDrawerValMatnr(false); |
| | | setDrawerValWarehouse(false); |
| | | request('/rolePda/scope/list', { |
| | | method: 'GET', |
| | | params: { |
| | |
| | | |
| | | const assignMatnr = (record) => { |
| | | setDrawerVal(false); |
| | | setDrawerValPda(false); |
| | | setDrawerValWarehouse(false); |
| | | request('/roleMatnr/scope/list', { |
| | | method: 'GET', |
| | | params: { |
| | |
| | | }); |
| | | } |
| | | |
| | | const assignWarehouse = (record) => { |
| | | setDrawerVal(false); |
| | | setDrawerValPda(false); |
| | | setDrawerValMatnr(false); |
| | | request('/roleWarehouse/scope/list', { |
| | | method: 'GET', |
| | | params: { |
| | | roleId: record.id |
| | | } |
| | | }).then((res) => { |
| | | if (res?.data?.code === 200) { |
| | | const { data: menuIds } = res.data; |
| | | setMenuIds(menuIds || []); |
| | | setDrawerValWarehouse(!!drawerValWarehouse && drawerValWarehouse === record ? null : record); |
| | | } else { |
| | | notify(res.data.msg, { type: 'error' }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | return ( |
| | | <Box display="flex"> |
| | | <List |
| | |
| | | theme.transitions.create(['all'], { |
| | | duration: theme.transitions.duration.enteringScreen, |
| | | }), |
| | | marginRight: (!!drawerVal || !!drawerValPda || !!drawerValMatnr) ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | marginRight: (!!drawerVal || !!drawerValPda || !!drawerValMatnr || !!drawerValWarehouse) ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | }} |
| | | title={"menu.role"} |
| | | empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} |
| | |
| | | assign={assign} |
| | | assignPda={assignPda} |
| | | assignMatnr={assignMatnr} |
| | | assignWarehouse={assignWarehouse} |
| | | setAuthType={setAuthType} |
| | | /> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | |
| | | authType={authType} |
| | | /> |
| | | </PageDrawer> |
| | | <PageDrawer |
| | | drawerVal={drawerValWarehouse} |
| | | setDrawerVal={setDrawerValWarehouse} |
| | | title={!!drawerValWarehouse ? `Scope by ${drawerValWarehouse.code || drawerValWarehouse.name}` : 'Role Detail'} |
| | | closeCallback={() => { |
| | | setMenuIds([]); |
| | | }} |
| | | > |
| | | <AssignPermissionsWarehouse |
| | | role={drawerValWarehouse} |
| | | originMenuIds={menuIds} |
| | | setDrawerVal={setDrawerValWarehouse} |
| | | closeCallback={() => { |
| | | setMenuIds([]); |
| | | }} |
| | | authType={authType} |
| | | /> |
| | | </PageDrawer> |
| | | </Box> |
| | | ) |
| | | } |
| | | |
| | | const PermissionMenuButton = ({ assign, assignPda, assignMatnr, setAuthType }) => { |
| | | const PermissionMenuButton = ({ assign, assignPda, assignMatnr, assignWarehouse, setAuthType }) => { |
| | | const record = useRecordContext(); |
| | | const [anchorEl, setAnchorEl] = useState(null); |
| | | const open = Boolean(anchorEl); |
| | |
| | | event.stopPropagation(); |
| | | setAuthType(2); |
| | | assignMatnr(record); |
| | | handleClose(); |
| | | }; |
| | | |
| | | const handleWarehousePermission = (event) => { |
| | | event.stopPropagation(); |
| | | setAuthType(3); |
| | | assignWarehouse(record); |
| | | handleClose(); |
| | | }; |
| | | |
| | |
| | | </ListItemIcon> |
| | | <ListItemText>物料权限</ListItemText> |
| | | </MenuItem> |
| | | <MenuItem onClick={handleWarehousePermission}> |
| | | <ListItemIcon> |
| | | <ArticleIcon fontSize="small" /> |
| | | </ListItemIcon> |
| | | <ListItemText>仓库权限</ListItemText> |
| | | </MenuItem> |
| | | </Menu> |
| | | </> |
| | | ); |