import React, { useState, useRef, useEffect, useMemo } from "react";
|
import { Box, Card, CardContent, Grid, Typography, Button, TextField, Tooltip, Paper, TableContainer, Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';
|
import {
|
useTranslate,
|
useRecordContext,
|
useNotify,
|
useRefresh,
|
useListContext,
|
} from 'react-admin';
|
import PanelTypography from "../components/PanelTypography";
|
import * as Common from '@/utils/common'
|
import { styled } from "@mui/material/styles";
|
import request from '@/utils/request';
|
import debounce from 'lodash/debounce';
|
import { DataGrid } from '@mui/x-data-grid';
|
import { width } from "@mui/system";
|
|
const QlyInspectPanel = () => {
|
const record = useRecordContext();
|
if (!record) return null;
|
const translate = useTranslate();
|
const notify = useNotify();
|
const [rows, setRows] = useState([]);
|
const [maktx, setMaktx] = useState('');
|
const ispectId = record.id;
|
|
useEffect(() => {
|
debouncedHttp({ maktx });
|
}, [ispectId, maktx]);
|
|
|
const http = async (parmas) => {
|
const res = await request.post('/qlyIsptItem/page', { ...parmas, ispectId });
|
if (res?.data?.code === 200) {
|
setRows(res.data.data.records)
|
} else {
|
notify(res.data.msg);
|
}
|
}
|
|
const debouncedHttp = useMemo(() => debounce(http, 300), []);
|
|
const columns = [
|
{
|
field: 'ispectId',
|
headerName: translate('table.field.qlyIsptItem.ispectId')
|
},
|
{
|
field: 'matnrCode',
|
headerName: translate('table.field.qlyIsptItem.matnrCode')
|
},
|
{
|
field: 'maktx',
|
headerName: translate('table.field.qlyIsptItem.maktx'),
|
width: 200
|
},
|
// {
|
// field: 'label',
|
// headerName: translate('table.field.qlyIsptItem.label')
|
// },
|
{
|
field: 'splrName',
|
headerName: translate('table.field.qlyIsptItem.splrName')
|
},
|
{
|
field: 'splrBatch',
|
headerName: translate('table.field.qlyIsptItem.splrBatch')
|
},
|
{
|
field: 'stockBatch',
|
headerName: translate('table.field.qlyIsptItem.stockBatch')
|
},
|
{
|
field: 'isptStatus$',
|
headerName: translate('table.field.qlyIsptItem.isptStatus')
|
},
|
{
|
field: 'rcptQty',
|
headerName: translate('table.field.qlyIsptItem.rcptQty')
|
},
|
{
|
field: 'dlyQty',
|
headerName: translate('table.field.qlyIsptItem.dlyQty')
|
},
|
{
|
field: 'disQty',
|
headerName: translate('table.field.qlyIsptItem.disQty')
|
},
|
{
|
field: 'safeQty',
|
headerName: translate('table.field.qlyIsptItem.safeQty')
|
},
|
{
|
field: 'picPath',
|
headerName: translate('table.field.qlyIsptItem.picPath')
|
}
|
];
|
|
const maktxChange = (value) => {
|
setMaktx(value)
|
}
|
|
return (
|
<Box sx={{
|
position: 'relative',
|
padding: '5px 10px'
|
}}>
|
|
<div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: '4px', alignItems: 'center' }}>
|
<TextField value={maktx} onChange={(e) => maktxChange(e.target.value)} label="搜索物料" variant="outlined" sx={{ width: '300px' }} />
|
|
<div style={{ display: 'flex', gap: '10px' }}>
|
</div>
|
</div>
|
|
|
<DataGrid
|
size="small"
|
rows={rows}
|
columns={columns}
|
disableRowSelectionOnClick
|
disableColumnMenu={true}
|
disableColumnSorting
|
disableMultipleColumnsSorting
|
/>
|
</Box >
|
);
|
};
|
|
export default QlyInspectPanel;
|