| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { useModal } from '@/components/Modal'
- import { useModel } from 'umi'
- import { Select } from 'antd'
- import CustomPerm from './CustomPerm'
- export const PermDataTypeEunm = {
- CUSTOMER: 'customer',
- PRODUCT: 'product',
- HR: 'hr',
- WORKBENCH: 'workbench'
- }
- const PermSelect = ({ dataType, onConfirm, ...resetProps }) => {
- const { initialState: { permData } = { permData: {} } } = useModel('@@initialState')
- const { toggleModal, setModalProps } = useModal()
- const options = [...(permData[dataType] || [])]
- return (
- <Select
- {...resetProps}
- defaultValue="oneself"
- dropdownMatchSelectWidth={false}
- onChange={e => {
- if (e === 'custom') {
- setModalProps({
- width: '60vw',
- modalRender: () => <CustomPerm onConfirm={onConfirm} />,
- onCancel: toggleModal
- })
- toggleModal()
- return
- }
- onConfirm({ staffIds: null, dataPermission: e })
- }}
- options={options}
- />
- )
- }
- export default PermSelect
|