skyouc
2025-03-31 b042540b20c3b7d377b2ab33a97f9de4d498c7ae
rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
@@ -31,6 +31,8 @@
    ReferenceArrayInput,
    AutocompleteInput,
    DeleteButton,
    Button,
    useRefresh,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -43,6 +45,10 @@
import MyField from "../components/MyField";
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 CloseIcon from "@mui/icons-material/Close";
import TaskIcon from '@mui/icons-material/Task';
import request from '@/utils/request';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
    '& .css-1vooibu-MuiSvgIcon-root': {
@@ -60,9 +66,8 @@
const filters = [
    <SearchInput source="condition" alwaysOn />,
    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
    <NumberInput source="asnItemId" label="table.field.qlyInspect.asnItemId" />,
    <TextInput source="code" label="table.field.qlyInspect.code" />,
    <TextInput source="wkType" label="table.field.qlyInspect.wkType" />,
    <NumberInput source="safeQty" label="table.field.qlyInspect.safeQty" />,
@@ -106,7 +111,6 @@
                actions={(
                    <TopToolbar>
                        <FilterButton />
                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                        <SelectColumnsButton preferenceKey='qlyInspect' />
                        <MyExportButton />
                    </TopToolbar>
@@ -115,11 +119,14 @@
            >
                <StyledDatagrid
                    preferenceKey='qlyInspect'
                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                    bulkActionButtons={<BulkDeleteButton mutationMode={OPERATE_MODE} />}
                    rowClick={(id, resource, record) => false}
                    expand={() => <QlyInspectPanel />}
                    expandSingle={true}
                    omit={['id', 'createTime', 'createBy', 'memo']}
                >
                    <NumberField source="id" />
                    <NumberField source="asnItemId$" label="table.field.qlyInspect.asnItemId" />
                    <TextField source="code" label="table.field.qlyInspect.code" />
                    <TextField source="wkType" label="table.field.qlyInspect.wkType" />
                    <NumberField source="safeQty" label="table.field.qlyInspect.safeQty" />
@@ -138,8 +145,10 @@
                    <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' }} />
                        <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
                        {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
                        <InspectionButton />
                        <CompleteButton />
                        <CloseButton />
                    </WrapperField>
                </StyledDatagrid>
            </List>
@@ -158,3 +167,77 @@
}
export default QlyInspectList;
const InspectionButton = () => {
    const record = useRecordContext();
    const notify = useNotify();
    const refresh = useRefresh();
    const inspection = () => {
        //   requestInspect([record])
    };
    // const requestInspect = async (rows) => {
    //   const { data: { code, data, msg } } = await request.post(`/asnOrder/inspect`, rows);
    //   if (code === 200) {
    //     notify(msg);
    //     refresh()
    //   } else {
    //     notify(msg);
    //   }
    // }
    return (
        <Button onClick={inspection} label={"toolbar.quality"}>
            <ConstructionIcon />
        </Button>
    )
}
const CompleteButton = () => {
    const record = useRecordContext();
    const notify = useNotify();
    const refresh = useRefresh();
    const requestComplete = async () => {
        const { data: { code, data, msg } } = await request.post(`/qlyInspect/update`, { ...record, code: '222222' });
        if (code === 200) {
            notify(msg);
            refresh()
        } else {
            notify(msg);
        }
    }
    return (
        <Button onClick={requestComplete} label={"toolbar.complete"}>
            <TaskIcon />
        </Button>
    )
}
const CloseButton = () => {
    const record = useRecordContext();
    const notify = useNotify();
    const refresh = useRefresh();
    const requestClose = async () => {
        const { data: { code, data, msg } } = await request.post(`/qlyInspect/update`, { ...record, code: '222222' });
        if (code === 200) {
            notify(msg);
            refresh()
        } else {
            notify(msg);
        }
    }
    return (
        <Button onClick={requestClose} label={"toolbar.close"}>
            <CloseIcon />
        </Button>
    )
}