| | |
| | | TextField, |
| | | NumberField, |
| | | DateField, |
| | | useRefresh, |
| | | BooleanField, |
| | | ReferenceField, |
| | | TextInput, |
| | | Button, |
| | | DateTimeInput, |
| | | DateInput, |
| | | SelectInput, |
| | |
| | | ReferenceArrayInput, |
| | | AutocompleteInput, |
| | | DeleteButton, |
| | | useRedirect, |
| | | } from 'react-admin'; |
| | | import { Box, Typography, Card, Stack } from '@mui/material'; |
| | | import { styled } from '@mui/material/styles'; |
| | | import TransferCreate from "./TransferCreate.jsx"; |
| | | import TransferPanel from "./TransferPanel.jsx"; |
| | | import EmptyData from "../../components/EmptyData.jsx"; |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting.js'; |
| | | import MyCreateButton from "../../components/MyCreateButton.jsx"; |
| | | import MyExportButton from '../../components/MyExportButton.jsx'; |
| | | import PageDrawer from "../../components/PageDrawer.jsx"; |
| | | import MyField from "../../components/MyField.jsx"; |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting.js'; |
| | | import BillStatusField from '../../components/BillStatusField'; |
| | | import { Box, Typography, Card, Stack, } from '@mui/material'; |
| | | import PageEditDrawer from "../../components/PageEditDrawer"; |
| | | import ConfirmButton from '../../components/ConfirmButton'; |
| | | import AddTaskIcon from '@mui/icons-material/AddTask'; |
| | | import TransferOrders from "./TransferOrders.jsx"; |
| | | import ManualCreate from "./ManualCreate.jsx"; |
| | | import { styled } from '@mui/material/styles'; |
| | | import * as Common from '@/utils/common.js'; |
| | | import request from '@/utils/request'; |
| | | |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | <SearchInput source="condition" alwaysOn />, |
| | | <DateInput label='common.time.after' source="timeStart" alwaysOn />, |
| | | <DateInput label='common.time.before' source="timeEnd" alwaysOn />, |
| | | |
| | | <TextInput source="code" label="table.field.transfer.code" />, |
| | | <NumberInput source="type" label="table.field.transfer.type" />, |
| | | <SelectInput source="source" label="table.field.transfer.source" |
| | | choices={[ |
| | | { id: 1, name: 'ERP系统' }, |
| | | { id: 2, name: 'WMS系统生成' }, |
| | | { id: 3, name: 'EXCEL导入 ' }, |
| | | { id: 4, name: 'QMS系统' }, |
| | | { id: 2, name: 'WMS系统生成' }, |
| | | { id: 3, name: 'EXCEL导入 ' }, |
| | | { id: 4, name: 'QMS系统' }, |
| | | ]} |
| | | />, |
| | | <SelectInput source="exceStatus" label="table.field.transfer.exceStatus" |
| | | choices={[ |
| | | { id: 0, name: '未执行' }, |
| | | { id: 1, name: '执行中' }, |
| | | { id: 2, name: '执行完成' }, |
| | | { id: 1, name: '执行中' }, |
| | | { id: 2, name: '执行完成' }, |
| | | ]} |
| | | />, |
| | | <NumberInput source="orgWareId" label="table.field.transfer.orgWareId" />, |
| | |
| | | <TextInput source="orgAreaName" label="table.field.transfer.orgAreaName" />, |
| | | <NumberInput source="tarAreaId" label="table.field.transfer.tarAreaId" />, |
| | | <TextInput source="tarAreaName" label="table.field.transfer.tarAreaName" />, |
| | | |
| | | <TextInput label="common.field.memo" source="memo" />, |
| | | <SelectInput |
| | | label="common.field.status" |
| | |
| | | |
| | | const TransferList = () => { |
| | | const translate = useTranslate(); |
| | | |
| | | const [createDialog, setCreateDialog] = useState(false); |
| | | const [drawerVal, setDrawerVal] = useState(false); |
| | | const [select, setSelect] = useState({}); |
| | | |
| | | return ( |
| | | <Box display="flex"> |
| | |
| | | > |
| | | <StyledDatagrid |
| | | preferenceKey='transfer' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | bulkActionButtons={false} |
| | | rowClick={(id, resource, record) => false} |
| | | expand={() => <TransferPanel />} |
| | | expand={() => <TransferOrders />} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo', 'orgWareId', 'tarWareId', 'orgAreaId', 'tarAreaId']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.transfer.code" /> |
| | | <NumberField source="type" label="table.field.transfer.type" /> |
| | | <NumberField source="type$" label="table.field.transfer.type" /> |
| | | <TextField source="source$" label="table.field.transfer.source" sortable={false} /> |
| | | <TextField source="exceStatus$" label="table.field.transfer.exceStatus" sortable={false} /> |
| | | <NumberField source="orgWareId" label="table.field.transfer.orgWareId" /> |
| | | <TextField source="orgWareName" label="table.field.transfer.orgWareName" /> |
| | | <NumberField source="tarWareId" label="table.field.transfer.tarWareId" /> |
| | |
| | | <TextField source="orgAreaName" label="table.field.transfer.orgAreaName" /> |
| | | <NumberField source="tarAreaId" label="table.field.transfer.tarAreaId" /> |
| | | <TextField source="tarAreaName" label="table.field.transfer.tarAreaName" /> |
| | | |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <BillStatusField source="exceStatus$" cellClassName="status" label="table.field.transfer.exceStatus" sortable={false} /> |
| | | <TextField source="updateBy$" label="common.field.updateBy" /> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime /> |
| | | <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <TextField source="createBy$" label="common.field.createBy" /> |
| | | <DateField source="createTime" label="common.field.createTime" showTime /> |
| | | <BooleanField source="statusBool" label="common.field.status" sortable={false} /> |
| | | <TextField source="memo" label="common.field.memo" sortable={false} /> |
| | | <WrapperField cellClassName="opt" label="common.field.opt"> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} label="toolbar.detail"/> |
| | | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> |
| | | <PublicButton setDrawerVal={setDrawerVal} drawerVal={drawerVal} setSelect={setSelect} /> |
| | | </WrapperField> |
| | | </StyledDatagrid> |
| | | </List> |
| | | <TransferCreate |
| | | open={createDialog} |
| | | setOpen={setCreateDialog} |
| | | /> |
| | | <PageDrawer |
| | | title='Transfer Detail' |
| | | drawerVal={drawerVal} |
| | | setDrawerVal={setDrawerVal} |
| | | <PageEditDrawer |
| | | title={"toolbar.createTransfer"} |
| | | drawerVal={createDialog} |
| | | setDrawerVal={setCreateDialog} |
| | | > |
| | | </PageDrawer> |
| | | <ManualCreate setOpen={setCreateDialog} /> |
| | | </PageEditDrawer> |
| | | </Box> |
| | | ) |
| | | } |
| | | |
| | | export default TransferList; |
| | | |
| | | //下发执行 |
| | | const PublicButton = ({ setDrawerVal, setSelect }) => { |
| | | const record = useRecordContext(); |
| | | const refresh = useRefresh(); |
| | | const redirct = useRedirect(); |
| | | const taskEvent = async () => { |
| | | const { data: { code, data, msg } } = await request.post(`/transfer/pub/outStock`, record); |
| | | if (code === 200) { |
| | | notify(msg); |
| | | redirct("/outStock"); |
| | | refresh() |
| | | } else { |
| | | notify(msg); |
| | | } |
| | | refresh(); |
| | | } |
| | | |
| | | return ( |
| | | record?.exceStatus == 0 ? <ConfirmButton label={"toolbar.publicWorking"} startIcon={<AddTaskIcon />} onConfirm={taskEvent} size={"small"} /> : <></> |
| | | ) |
| | | } |