|  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     const handleSubmit = async () => { | 
 |  |  |         const data = tableData.filter(el => el.safeQty == 0) | 
 |  |  |         console.log(data); | 
 |  |  |         if (data.length) { | 
 |  |  |             // const { data: { code, data, msg } } = await request.post(`/qlyInspect/selected`, { ids: selectedRows }); | 
 |  |  |  | 
 |  |  |             // if (code === 200) { | 
 |  |  |             //     notify(msg); | 
 |  |  |             //     refresh() | 
 |  |  |             // } else { | 
 |  |  |             //     notify(msg); | 
 |  |  |             // } | 
 |  |  |         const rows = tableData.filter(el => !(el.safeQty == 0 && el.disQty == 0)) | 
 |  |  |         if (rows.length) { | 
 |  |  |             const { data: { code, data, msg } } = await request.post(`/qlyIsptItem/batch/update`, { isptItem: rows, type: '0' }); | 
 |  |  |             if (code === 200) { | 
 |  |  |                 notify(msg); | 
 |  |  |                 refresh() | 
 |  |  |             } else { | 
 |  |  |                 notify(msg); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         setOpen(false); | 
 |  |  | 
 |  |  |             const data = res.data.data.records.map(item => { | 
 |  |  |                 return { | 
 |  |  |                     ...item, | 
 |  |  |                     isptResult: '' | 
 |  |  |                     isptResult: item.isptResult || '' | 
 |  |  |                 } | 
 |  |  |             }) | 
 |  |  |             setTableData(data); | 
 |  |  | 
 |  |  |         getData() | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     const batchQualified = () => { | 
 |  |  |     const batchQualified = async () => { | 
 |  |  |         if (selectedRows.length) { | 
 |  |  |             console.log(selectedRows); | 
 |  |  |             const rows = tableData.filter(el => selectedRows.includes(el.id)); | 
 |  |  |             const { data: { code, data, msg } } = await request.post(`/qlyIsptItem/batch/update`, { isptItem: rows, type: '1' }); | 
 |  |  |             if (code === 200) { | 
 |  |  |                 notify(msg); | 
 |  |  |                 getData() | 
 |  |  |                 refresh() | 
 |  |  |             } else { | 
 |  |  |                 notify(msg); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } else { | 
 |  |  |             notify('请选择物料'); | 
 |  |  |         } | 
 |  |  |         getData() | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     const batchUnQualified = () => { | 
 |  |  |         console.log(selectedRows); | 
 |  |  |         getData() | 
 |  |  |     const batchUnQualified = async () => { | 
 |  |  |         if (selectedRows.length) { | 
 |  |  |             const rows = tableData.filter(el => selectedRows.includes(el.id)); | 
 |  |  |             const { data: { code, data, msg } } = await request.post(`/qlyIsptItem/batch/update`, { isptItem: rows, type: '2' }); | 
 |  |  |             if (code === 200) { | 
 |  |  |                 notify(msg); | 
 |  |  |                 getData() | 
 |  |  |                 refresh() | 
 |  |  |             } else { | 
 |  |  |                 notify(msg); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } else { | 
 |  |  |             notify('请选择物料'); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     return ( | 
 |  |  | 
 |  |  |  | 
 |  |  |     const [columns, setColumns] = useState([ | 
 |  |  |         // { field: 'id', headerName: 'ID', width: 100 }, | 
 |  |  |         { field: 'maktx', headerName: translate('table.field.qlyIsptItem.maktx'), width: 200 }, | 
 |  |  |         { field: 'maktx', headerName: translate('table.field.qlyIsptItem.maktx'), width: 300 }, | 
 |  |  |         { field: 'matnrCode', headerName: translate('table.field.qlyIsptItem.matnrCode') }, | 
 |  |  |         { 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: 'dlyQty', headerName: translate('table.field.qlyIsptItem.dlyQty') }, | 
 |  |  |         { field: 'rcptQty', headerName: translate('table.field.qlyIsptItem.rcptQty') }, | 
 |  |  |         { | 
 |  |  |             field: 'safeQty', headerName: translate('table.field.qlyIsptItem.safeQty'), editable: true, type: 'number', | 
 |  |  | 
 |  |  |             ), | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |             field: 'disQty', headerName: translate('table.field.qlyIsptItem.disQty'), editable: true, type: 'number', | 
 |  |  |             renderHeader: () => ( | 
 |  |  |                 <strong> | 
 |  |  |                     {translate('table.field.qlyIsptItem.disQty')} | 
 |  |  |                 </strong> | 
 |  |  |             ), | 
 |  |  |         }, | 
 |  |  |  | 
 |  |  |         { | 
 |  |  |             field: 'isptResult', headerName: translate('table.field.qlyIsptItem.isptResult'), width: 150, type: 'singleSelect', | 
 |  |  |             editable: true, valueOptions: [{ value: '1', label: '合格' }, { value: '2', label: '不合格' }, { value: '3', label: '待定' }, { value: '4', label: '降级使用' }], | 
 |  |  |             editable: true, valueOptions: [{ value: '1', label: '合格' }, { value: '2', label: '不合格' }, { value: '3', label: '待定' }, { value: '4', label: '部分合格' }], | 
 |  |  |         }, | 
 |  |  |  | 
 |  |  |  |