| | |
| | | whMat: 'Warehouse Mat', |
| | | fields: 'Extend Fields', |
| | | fieldsItem: 'Extend Fields Items', |
| | | warehouseAreasItem: 'WarehouseAreasItem', |
| | | }, |
| | | table: { |
| | | field: { |
| | |
| | | flagLabelMange: "flagLabelMange", |
| | | flagMix: "flagMix", |
| | | }, |
| | | warehouseAreasItem: { |
| | | areaId: "areaId", |
| | | areaName: "areaName", |
| | | matnrId: "matnrId", |
| | | matnrName: "matnrName", |
| | | matnrCode: "matnrCode", |
| | | fieldsIndex: "fieldsIndex", |
| | | barcode: "barcode", |
| | | anfme: "anfme", |
| | | batch: "batch", |
| | | unit: "unit", |
| | | stockUnit: "stockUnit", |
| | | brand: "brand", |
| | | shipperId: "shipperId", |
| | | splrId: "splrId", |
| | | weight: "weight", |
| | | prodTime: "prodTime", |
| | | splrBtch: "splrBtch", |
| | | }, |
| | | loc: { |
| | | warehouseId: "Warehouse", |
| | | areaId: "Area", |
| | |
| | | projectName: "ProjectName", |
| | | }, |
| | | qlyInspect: { |
| | | code: "Code", |
| | | name: "Name", |
| | | code: "code", |
| | | name: "name", |
| | | barcode: "barcode", |
| | | asnItemId: "asnItemId", |
| | | poItemId: "poItemId", |
| | | safeQty: "safeQty", |
| | | disQty: "disQty", |
| | | }, |
| | | dictType: { |
| | | code: "Code", |
| | |
| | | whMat: '库区物料关系', |
| | | fields: '扩展字段', |
| | | fieldsItem: '扩展字段明细', |
| | | warehouseAreasItem: '库区库存信息', |
| | | }, |
| | | table: { |
| | | field: { |
| | |
| | | flagLabelMange: "标签管理", |
| | | flagMix: "混放", |
| | | }, |
| | | warehouseAreasItem: { |
| | | areaId: "仓库区域", |
| | | areaName: "区域名称 ", |
| | | matnrId: "物料标识", |
| | | matnrName: "物料名称", |
| | | matnrCode: "物料编码", |
| | | fieldsIndex: "扩展字段唯一标识", |
| | | barcode: "条形码", |
| | | anfme: "数量", |
| | | batch: "批次号", |
| | | unit: "计量单位", |
| | | stockUnit: "库存单位", |
| | | brand: "品牌", |
| | | shipperId: "货主标识", |
| | | splrId: "供应商标识", |
| | | weight: "收货重量", |
| | | prodTime: "生产日期", |
| | | splrBtch: "供应商批次", |
| | | }, |
| | | loc: { |
| | | warehouseId: "仓库", |
| | | areaId: "库区", |
| | |
| | | qlyInspect: { |
| | | code: "编码", |
| | | name: "名称", |
| | | barcode: "标签码", |
| | | asnItemId: "通知单明细标识", |
| | | poItemId: "PO单明细标识", |
| | | safeQty: "合格数量", |
| | | disQty: "不合格数量", |
| | | }, |
| | | dictType: { |
| | | code: "字典编码", |
| | | name: "字典名称", |
| | | description: "内容描述", |
| | | description: "内容", |
| | | }, |
| | | dictData: { |
| | | dictTypeId: "字典标识", |
| | |
| | | import purchase from './purchase'; |
| | | import fields from './fields'; |
| | | import fieldsItem from './fieldsItem'; |
| | | |
| | | import warehouseAreasItem from './warehouseAreasItem'; |
| | | |
| | | const ResourceContent = (node) => { |
| | | switch (node.component) { |
| | |
| | | return warehouse; |
| | | case 'warehouseAreas': |
| | | return warehouseAreas; |
| | | case 'warehouseAreasItem': |
| | | return warehouseAreasItem; |
| | | case 'loc': |
| | | return loc; |
| | | case 'container': |
| | |
| | | </DialogTitle> |
| | | <DialogContent sx={{ mt: 2 }}> |
| | | <Grid container rowSpacing={2} columnSpacing={2}> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | {/* <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.asnOrder.code" |
| | | source="code" |
| | | parse={v => v} |
| | | autoFocus |
| | | /> |
| | | </Grid> |
| | | </Grid> */} |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.asnOrder.poCode" |
| | |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | {/* <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.asnOrder.anfme" |
| | | source="anfme" |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | </Grid> */} |
| | | {/* <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.asnOrder.qty" |
| | | source="qty" |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | </Grid> */} |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.asnOrder.logisNo" |
| | |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.main')} |
| | | </Typography> |
| | | <Stack direction='row' gap={2}> |
| | | {/* <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.asnOrder.code" |
| | | source="code" |
| | | parse={v => v} |
| | | autoFocus |
| | | /> |
| | | </Stack> |
| | | </Stack> */} |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.asnOrder.poCode" |
| | |
| | | validate={required()} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | {/* <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.asnOrder.anfme" |
| | | source="anfme" |
| | |
| | | source="qty" |
| | | validate={required()} |
| | | /> |
| | | </Stack> |
| | | </Stack> */} |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.asnOrder.logisNo" |
| | |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; |
| | | import * as Common from '@/utils/common'; |
| | | import ConstructionIcon from "@mui/icons-material/Construction"; |
| | | import UploadloadIcon from "@mui/icons-material/Upload"; |
| | | import FileDownloadIcon from '@mui/icons-material/FileDownload'; |
| | | |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | sort={{ field: "create_time", order: "desc" }} |
| | | actions={( |
| | | <TopToolbar> |
| | | <Button onClick={importList} label={"ra.action.import"}> |
| | | <UploadloadIcon /> |
| | | </Button> |
| | | |
| | | <Button onClick={inspection} label={"toolbar.inspection"}> |
| | | <ConstructionIcon /> |
| | |
| | | <FilterButton /> |
| | | <MyCreateButton onClick={() => { setCreateDialog(true) }} /> |
| | | <SelectColumnsButton preferenceKey='asnOrder' /> |
| | | |
| | | <MyExportButton /> |
| | | </TopToolbar> |
| | | )} |
| | |
| | | </Box> |
| | | ) |
| | | } |
| | | |
| | | export default AsnOrderList; |
| | |
| | | import MemoInput from "../components/MemoInput"; |
| | | |
| | | const AsnOrderItemCreate = (props) => { |
| | | const { open, setOpen } = props; |
| | | const { open, setOpen, row } = props; |
| | | |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | |
| | | <NumberInput |
| | | label="table.field.asnOrderItem.asnId" |
| | | source="asnId" |
| | | autoFocus |
| | | defaultValue={row.asnId} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | import * as Common from '@/utils/common'; |
| | | import CustomerTopToolBar from "../components/EditTopToolBar"; |
| | | import QrCodeIcon from "@mui/icons-material/QrCode"; |
| | | import ImportButton from "../components/ImportButton"; |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | <FilterButton /> |
| | | <MyCreateButton onClick={() => { setCreateDialog(true) }} /> |
| | | <SelectColumnsButton preferenceKey='asnOrderItem' /> |
| | | <ImportButton value={'asnOrder'} parmas={{ asnId: asnId }} /> |
| | | <MyExportButton /> |
| | | </TopToolbar> |
| | | )} |
| | |
| | | <AsnOrderItemCreate |
| | | open={createDialog} |
| | | setOpen={setCreateDialog} |
| | | row={{ asnId }} |
| | | /> |
| | | <PageDrawer |
| | | title='AsnOrderItem Detail' |
| | |
| | | </> |
| | | ) |
| | | } |
| | | AsnOrderItemList.Context = React.createContext() |
| | | |
| | | export default AsnOrderItemList; |
| | |
| | | import { useEffect, useState } from 'react'; |
| | | import { useEffect, useState, createContext, useContext } from 'react'; |
| | | import { Box, CircularProgress, Stack, Typography } from '@mui/material'; |
| | | import Alert from '@mui/material/Alert'; |
| | | import Dialog from '@mui/material/Dialog'; |
| | |
| | | Form, |
| | | Toolbar, |
| | | useRefresh, |
| | | useTranslate |
| | | useTranslate, |
| | | useNotify |
| | | } from 'react-admin'; |
| | | import { Link } from 'react-router-dom'; |
| | | import DialogCloseButton from './DialogCloseButton'; |
| | | import { usePapaParse } from './usePapaParse'; |
| | | import MatnrList from '../basicInfo/matnr/MatnrList'; |
| | | import request from '@/utils/request' |
| | | |
| | | const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10 }) => { |
| | | const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10, value, parmas = {} }) => { |
| | | const refresh = useRefresh(); |
| | | const translate = useTranslate(); |
| | | |
| | |
| | | }); |
| | | |
| | | const [file, setFile] = useState(null); |
| | | const notify = useNotify(); |
| | | |
| | | useEffect(() => { |
| | | if (importer.state === 'complete') { |
| | |
| | | if (!file) { |
| | | return; |
| | | } |
| | | console.log(file); |
| | | //TODO 添加上文件上传接口 |
| | | const form = new FormData(); |
| | | for (const key in parmas) { |
| | | if (parmas.hasOwnProperty(key)) { |
| | | form.append(key, parmas[key]); |
| | | } |
| | | } |
| | | form.append('file', file); |
| | | const { data: { code, data, msg } } = await request.post(`/${value}/import`, form) |
| | | |
| | | if (code === 200) { |
| | | handleClose() |
| | | } else { |
| | | notify(msg); |
| | | |
| | | } |
| | | |
| | | }; |
| | | |
| | | |
| | | |
| | | const handleClose = () => { |
| | | reset(); |
| | | onClose(); |
| | |
| | | </DialogTitle> |
| | | <DialogContent sx={{ mt: 2 }}> |
| | | <Grid container rowSpacing={2} columnSpacing={2}> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | {/* <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.purchase.code" |
| | | source="code" |
| | | parse={v => v} |
| | | autoFocus |
| | | /> |
| | | </Grid> |
| | | </Grid> */} |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.purchase.type" |
| | |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.main')} |
| | | </Typography> |
| | | <Stack direction='row' gap={2}> |
| | | {/* <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.purchase.code" |
| | | source="code" |
| | | parse={v => v} |
| | | autoFocus |
| | | /> |
| | | </Stack> |
| | | </Stack> */} |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.purchase.type" |
| | |
| | | import MemoInput from "../components/MemoInput"; |
| | | |
| | | const PurchaseItemCreate = (props) => { |
| | | const { open, setOpen } = props; |
| | | const { open, setOpen, row } = props; |
| | | |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | |
| | | <NumberInput |
| | | label="table.field.purchaseItem.purchaseId" |
| | | source="purchaseId" |
| | | autoFocus |
| | | defaultValue={row.poId} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | <PurchaseItemCreate |
| | | open={createDialog} |
| | | setOpen={setCreateDialog} |
| | | row={{ poId }} |
| | | /> |
| | | <PageDrawer |
| | | title='PurchaseItem Detail' |
| | |
| | | parse={v => v} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.qlyInspect.barcode" |
| | | source="barcode" |
| | | parse={v => v} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.asnItemId" |
| | | source="asnItemId" |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.poItemId" |
| | | source="poItemId" |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.safeQty" |
| | | source="safeQty" |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.disQty" |
| | | source="disQty" |
| | | /> |
| | | </Grid> |
| | | |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <StatusSelectInput /> |
| | |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.qlyInspect.barcode" |
| | | source="barcode" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.asnItemId" |
| | | source="asnItemId" |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.poItemId" |
| | | source="poItemId" |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.safeQty" |
| | | source="safeQty" |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.qlyInspect.disQty" |
| | | source="disQty" |
| | | /> |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | |
| | | |
| | | <TextInput source="code" label="table.field.qlyInspect.code" />, |
| | | <TextInput source="name" label="table.field.qlyInspect.name" />, |
| | | <TextInput source="barcode" label="table.field.qlyInspect.barcode" />, |
| | | <NumberInput source="asnItemId" label="table.field.qlyInspect.asnItemId" />, |
| | | <NumberInput source="poItemId" label="table.field.qlyInspect.poItemId" />, |
| | | <NumberInput source="safeQty" label="table.field.qlyInspect.safeQty" />, |
| | | <NumberInput source="disQty" label="table.field.qlyInspect.disQty" />, |
| | | |
| | | <TextInput label="common.field.memo" source="memo" />, |
| | | <SelectInput |
| | |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.qlyInspect.code" /> |
| | | <TextField source="name" label="table.field.qlyInspect.name" /> |
| | | <TextField source="barcode" label="table.field.qlyInspect.barcode" /> |
| | | <NumberField source="asnItemId" label="table.field.qlyInspect.asnItemId" /> |
| | | <NumberField source="poItemId" label="table.field.qlyInspect.poItemId" /> |
| | | <NumberField source="safeQty" label="table.field.qlyInspect.safeQty" /> |
| | | <NumberField source="disQty" label="table.field.qlyInspect.disQty" /> |
| | | |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | |
| | | property={record.name} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.qlyInspect.barcode" |
| | | property={record.barcode} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.qlyInspect.asnItemId" |
| | | property={record.asnItemId} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.qlyInspect.poItemId" |
| | | property={record.poItemId} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.qlyInspect.safeQty" |
| | | property={record.safeQty} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.qlyInspect.disQty" |
| | | property={record.disQty} |
| | | /> |
| | | </Grid> |
| | | |
| | | </Grid> |
| | | </CardContent> |
| | |
| | | import MemoInput from "../../../components/MemoInput"; |
| | | |
| | | const DictDataCreate = (props) => { |
| | | const { open, setOpen } = props; |
| | | const { open, setOpen, row } = props; |
| | | |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | |
| | | parse={v => v} |
| | | autoFocus |
| | | validate={required()} |
| | | defaultValue={row.dictTypeId} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | source="dictTypeCode" |
| | | parse={v => v} |
| | | validate={required()} |
| | | defaultValue={row.dictTypeCode} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | label="table.field.dictData.label" |
| | | source="label" |
| | | parse={v => v} |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | source="sort" |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | {/* <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.dictData.color" |
| | | source="color" |
| | | parse={v => v} |
| | | /> |
| | | </Grid> |
| | | </Grid> */} |
| | | |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <StatusSelectInput /> |
| | |
| | | label="table.field.dictData.label" |
| | | source="label" |
| | | parse={v => v} |
| | | validate={required()} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | |
| | | source="sort" |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | {/* <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.dictData.color" |
| | | source="color" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | </Stack> */} |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | |
| | | <TextInput source="value" label="table.field.dictData.value" />, |
| | | <TextInput source="label" label="table.field.dictData.label" />, |
| | | <NumberInput source="sort" label="table.field.dictData.sort" />, |
| | | <TextInput source="color" label="table.field.dictData.color" />, |
| | | // <TextInput source="color" label="table.field.dictData.color" />, |
| | | |
| | | <TextInput label="common.field.memo" source="memo" />, |
| | | <SelectInput |
| | |
| | | const location = useLocation(); |
| | | const queryParams = new URLSearchParams(location.search); |
| | | const dictTypeId = queryParams.get('dictTypeId'); |
| | | console.log(dictTypeId); |
| | | if (dictTypeId != null && dictTypeId != undefined) { |
| | | console.log(dictTypeId); |
| | | console.log(fit); |
| | | } |
| | | const dictTypeCode = queryParams.get('code'); |
| | | |
| | | return ( |
| | | <> |
| | |
| | | theme.transitions.create(['all'], { |
| | | duration: theme.transitions.duration.enteringScreen, |
| | | }), |
| | | marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | }} |
| | | title={"menu.dictData"} |
| | | empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} |
| | |
| | | <TextField source="value" label="table.field.dictData.value" /> |
| | | <TextField source="label" label="table.field.dictData.label" /> |
| | | <NumberField source="sort" label="table.field.dictData.sort" /> |
| | | <TextField source="color" label="table.field.dictData.color" /> |
| | | {/* <TextField source="color" label="table.field.dictData.color" /> */} |
| | | |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | |
| | | <DictDataCreate |
| | | open={createDialog} |
| | | setOpen={setCreateDialog} |
| | | row={{ dictTypeId, dictTypeCode }} |
| | | /> |
| | | <PageDrawer |
| | | title='DictData Detail' |
| | |
| | | label="table.field.dictType.name" |
| | | source="name" |
| | | parse={v => v} |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | |
| | | |
| | | const navigate = useNavigate(); |
| | | const assign = (record) => { |
| | | navigate(`/dictData?dictTypeId=${record.id}`); |
| | | navigate(`/dictData?dictTypeId=${record.id}&code=${record.code}`); |
| | | } |
| | | |
| | | return ( |
| | |
| | | theme.transitions.create(['all'], { |
| | | duration: theme.transitions.duration.enteringScreen, |
| | | }), |
| | | marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | }} |
| | | title={"menu.dictType"} |
| | | empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} |
| | |
| | | import rowSx from './rowSx'; |
| | | import { format } from 'date-fns'; |
| | | import OperationDetail from './OperationDetail' |
| | | import { width } from "@mui/system"; |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | theme.transitions.create(['all'], { |
| | | duration: theme.transitions.duration.enteringScreen, |
| | | }), |
| | | marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | }} |
| | | title={"menu.operation"} |
| | | empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} |