|  |  |  | 
|---|
|  |  |  | DeleteButton, | 
|---|
|  |  |  | useGetRecordId, | 
|---|
|  |  |  | Button, | 
|---|
|  |  |  | useGetOne, | 
|---|
|  |  |  | } from 'react-admin'; | 
|---|
|  |  |  | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; | 
|---|
|  |  |  | import { Box, Typography, Card, Stack, Switch } from '@mui/material'; | 
|---|
|  |  |  | import MyCreateButton from "@/page/components/MyCreateButton"; | 
|---|
|  |  |  | import { Box, Typography, Card, Stack } from '@mui/material'; | 
|---|
|  |  |  | import ReviseLogItemList from "./ReviseLogItemList"; | 
|---|
|  |  |  | import SelectLocsRevise from "./SelectLocsRevise"; | 
|---|
|  |  |  | import EditIcon from '@mui/icons-material/Edit'; | 
|---|
|  |  |  | import LocsReviseDetl from "./LocsReviseDetl"; | 
|---|
|  |  |  | import { styled } from '@mui/material/styles'; | 
|---|
|  |  |  | import * as Common from '@/utils/common'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ | 
|---|
|  |  |  | '& .css-1vooibu-MuiSvgIcon-root': { | 
|---|
|  |  |  | 
|---|
|  |  |  | />, | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const ReviseLogList = () => { | 
|---|
|  |  |  | const ReviseLogList = ({ record }) => { | 
|---|
|  |  |  | const [createDialog, setCreateDialog] = useState(false); | 
|---|
|  |  |  | const [drawerVal, setDrawerVal] = useState(false); | 
|---|
|  |  |  | const [checked, setChecked] = useState(true); | 
|---|
|  |  |  | const [item, setItem] = useState(); | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  | const orderId = useGetRecordId(); | 
|---|
|  |  |  | 
|---|
|  |  |  | duration: theme.transitions.duration.enteringScreen, | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | title={"menu.reviseLog"} | 
|---|
|  |  |  | title={false} | 
|---|
|  |  |  | empty={false} | 
|---|
|  |  |  | filters={filters} | 
|---|
|  |  |  | filter={{ reviseId: orderId }} | 
|---|
|  |  |  | filter={{ reviseId: record?.id }} | 
|---|
|  |  |  | sort={{ field: "create_time", order: "desc" }} | 
|---|
|  |  |  | actions={( | 
|---|
|  |  |  | <TopToolbar> | 
|---|
|  |  |  | <DiffShowButton checked={checked} setChecked={setChecked}/> | 
|---|
|  |  |  | <FilterButton /> | 
|---|
|  |  |  | <MyCreateButton onClick={() => { setCreateDialog(true); }} /> | 
|---|
|  |  |  | <CreateItemButton setCreateDialog={setCreateDialog} record={record} /> | 
|---|
|  |  |  | <SelectColumnsButton preferenceKey='check' /> | 
|---|
|  |  |  | </TopToolbar> | 
|---|
|  |  |  | )} | 
|---|
|  |  |  | 
|---|
|  |  |  | rowClick={(id, resource, record) => false} | 
|---|
|  |  |  | expand={<ReviseLogItemList />} | 
|---|
|  |  |  | expandSingle={true} | 
|---|
|  |  |  | omit={['id', 'reviseId', 'createTime', 'createBy', 'memo']} | 
|---|
|  |  |  | omit={['id', 'reviseId', 'warehouseId', 'areaId', 'createTime', 'createBy', 'memo']} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <NumberField source="id" /> | 
|---|
|  |  |  | <NumberField source="reviseId" label="table.field.reviseLog.reviseId" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <EditLocRevise setDrawerVal={setDrawerVal} setItem={setItem} /> | 
|---|
|  |  |  | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} redirect={false} /> | 
|---|
|  |  |  | </WrapperField> | 
|---|
|  |  |  | <EditOperatate setDrawerVal={setDrawerVal} setItem={setItem} record={record} /> | 
|---|
|  |  |  | </WrapperField > | 
|---|
|  |  |  | </StyledDatagrid> | 
|---|
|  |  |  | </List> | 
|---|
|  |  |  | <SelectLocsRevise | 
|---|
|  |  |  | locRevise={orderId} | 
|---|
|  |  |  | open={createDialog} | 
|---|
|  |  |  | record={record} | 
|---|
|  |  |  | setOpen={setCreateDialog} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <LocsReviseDetl | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default ReviseLogList; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //显示差异开关 | 
|---|
|  |  |  | const DiffShowButton = ({checked, setChecked}) => { | 
|---|
|  |  |  | const handleChange = (event) => { | 
|---|
|  |  |  | setChecked(event.target.checked); | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <> | 
|---|
|  |  |  | <Switch | 
|---|
|  |  |  | checked={checked} | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | onChange={handleChange} | 
|---|
|  |  |  | slotProps={{ input: { 'aria-label': 'controlled' } }} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const CreateItemButton = ({ setCreateDialog, record }) => { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | record?.exceStatus < 2 ? <MyCreateButton onClick={() => { setCreateDialog(true); }} /> : <></> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const EditOperatate = ({ setDrawerVal, setItem, record }) => { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | record?.exceStatus < 2 ? | 
|---|
|  |  |  | <> | 
|---|
|  |  |  | <EditLocRevise setDrawerVal={setDrawerVal} setItem={setItem} /> | 
|---|
|  |  |  | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} redirect={false} /> | 
|---|
|  |  |  | </> : <></> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const EditLocRevise = ({ setDrawerVal, setItem }) => { | 
|---|
|  |  |  | const record = useRecordContext(); | 
|---|
|  |  |  | const editRevise = () => { | 
|---|