|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const [tableData, setTableData] = useState([]); | 
|---|
|  |  |  | const [selectedRow, setSelectedRow] = useState(null); | 
|---|
|  |  |  | const [selectedRows, setSelectedRows] = useState([]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleChange = (e) => { | 
|---|
|  |  |  | const { name, value } = e.target; | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleSubmit = () => { | 
|---|
|  |  |  | console.log(selectedRow); | 
|---|
|  |  |  | const handleSubmit = async () => { | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post(`/qlyInspect/selected`, { ids: selectedRows }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | refresh() | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | setOpen(false); | 
|---|
|  |  |  | reset(); | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const getData = async () => { | 
|---|
|  |  |  | const res = await request.post(`/asnOrder/page`, { | 
|---|
|  |  |  | const res = await request.post(`/qlyInspect/asn/list`, { | 
|---|
|  |  |  | ...formData, | 
|---|
|  |  |  | current: 1, | 
|---|
|  |  |  | pageSize: 100, | 
|---|
|  |  |  | orderBy: "create_time desc" | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (res?.data?.code === 200) { | 
|---|
|  |  |  | setTableData(res.data.data.records); | 
|---|
|  |  |  | setTableData(res.data.data); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(res.data.msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | <AsnSelModalTable | 
|---|
|  |  |  | tableData={tableData} | 
|---|
|  |  |  | setTableData={setTableData} | 
|---|
|  |  |  | selectedRow={selectedRow} | 
|---|
|  |  |  | setSelectedRow={setSelectedRow} | 
|---|
|  |  |  | selectedRows={selectedRows} | 
|---|
|  |  |  | setSelectedRows={setSelectedRows} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </Box> | 
|---|
|  |  |  | </DialogContent> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default AsnSelModal; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const AsnSelModalTable = ({ tableData, setTableData, selectedRow, setSelectedRow }) => { | 
|---|
|  |  |  | const AsnSelModalTable = ({ tableData, setTableData, selectedRows, setSelectedRows }) => { | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  | const notify = useNotify(); | 
|---|
|  |  |  | const apiRef = useGridApiRef(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleRadioChange = (event, id) => { | 
|---|
|  |  |  | setSelectedRow(id); | 
|---|
|  |  |  | const handleSelectionChange = (ids) => { | 
|---|
|  |  |  | setSelectedRows(ids) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const [columns, setColumns] = useState([ | 
|---|
|  |  |  | // { field: 'id', headerName: 'ID', width: 100 }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | field: 'radio', | 
|---|
|  |  |  | headerName: '', | 
|---|
|  |  |  | width: 55, | 
|---|
|  |  |  | renderCell: (params) => { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <FormControlLabel | 
|---|
|  |  |  | value={params.row.id} | 
|---|
|  |  |  | control={<Radio />} | 
|---|
|  |  |  | onChange={(event) => handleRadioChange(event, params.row.id)} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { field: 'code', headerName: translate('table.field.asnOrder.code'), width: 200 }, | 
|---|
|  |  |  | { field: 'type$', headerName: translate('table.field.asnOrder.type') }, | 
|---|
|  |  |  | { field: 'wkType$', headerName: translate('table.field.asnOrder.wkType') }, | 
|---|
|  |  |  | 
|---|
|  |  |  | ]) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const onRowClick = (e) => { | 
|---|
|  |  |  | setSelectedRow(e.id) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <div style={{ height: 400, width: '100%' }}> | 
|---|
|  |  |  | <RadioGroup value={selectedRow} onChange={handleRadioChange}> | 
|---|
|  |  |  | <DataGrid | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | rows={tableData} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | onRowClick={onRowClick} | 
|---|
|  |  |  | apiRef={apiRef} | 
|---|
|  |  |  | disableColumnMenu={true} | 
|---|
|  |  |  | disableColumnSorting | 
|---|
|  |  |  | disableMultipleColumnsSorting | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </RadioGroup> | 
|---|
|  |  |  | <DataGrid | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | rows={tableData} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | checkboxSelection | 
|---|
|  |  |  | onRowSelectionModelChange={handleSelectionChange} | 
|---|
|  |  |  | selectionModel={selectedRows} | 
|---|
|  |  |  | apiRef={apiRef} | 
|---|
|  |  |  | disableColumnMenu={true} | 
|---|
|  |  |  | disableColumnSorting | 
|---|
|  |  |  | disableMultipleColumnsSorting | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }; | 
|---|