From c7a83f2733acc4228fadb0b230b6f564703843f8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 18 四月 2025 16:19:54 +0800
Subject: [PATCH] 库位绑定物料 收货单导入功能优化 继续收货bug修复
---
rsf-admin/src/page/basicInfo/loc/BindModal.jsx | 97 ++++++++++++++++++++++----------
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx | 1
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx | 3
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java | 1
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx | 17 -----
rsf-admin/src/page/basicInfo/loc/LocList.jsx | 3 -
6 files changed, 72 insertions(+), 50 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
index e0f7338..6213698 100644
--- a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
@@ -10,15 +10,22 @@
SelectInput,
ReferenceInput,
ReferenceArrayInput,
+ DatagridConfigurable,
AutocompleteInput,
Toolbar,
required,
useDataProvider,
+ TextField,
+ NumberField,
+ ReferenceField,
+ BooleanField,
useNotify,
+ useSelectAll,
Form,
useCreateController,
useListContext,
useRefresh,
+ List,
SelectArrayInput
} from 'react-admin';
import {
@@ -27,7 +34,6 @@
DialogContent,
DialogTitle,
Grid,
- TextField,
Box,
Button,
Paper,
@@ -52,11 +58,23 @@
import { DataGrid } from '@mui/x-data-grid';
import StatusSelectInput from "../../components/StatusSelectInput";
import TreeSelectInput from "@/page/components/TreeSelectInput";
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
+
+
+const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
+ '& .css-1vooibu-MuiSvgIcon-root': {
+ height: '.9em'
+ },
+ '& .RaDatagrid-row': {
+ cursor: 'auto'
+ },
+ '& .column-name': {
+ },
+}));
+
const MatnrModal = ({ open, setOpen }) => {
const refresh = useRefresh();
const translate = useTranslate();
-
-
const notify = useNotify();
const [formData, setFormData] = useState({
@@ -65,8 +83,7 @@
matnrId: null,
});
- const { selectedIds, onUnselectItems } = useListContext();
-
+ const { selectedIds, onUnselectItems, onSelectAll } = useListContext();
const handleClose = (event, reason) => {
if (reason !== "backdropClick") {
setOpen(false);
@@ -93,7 +110,7 @@
...prevData,
[name]: value
}));
- refresh()
+ refresh();
};
const removeEmptyKeys = (obj) => {
@@ -113,31 +130,26 @@
groupId: formData.groupId,
matnrId: formData.matnrId,
}
-
const res = await request.post(`/locAreaMatRela/matnr/bind`, parmas);
if (res?.data?.code === 200) {
handleClose()
-
} else {
notify(res.data.msg);
}
-
-
}
const [groupId, setGroupId] = useState();
-
const warehouseChange = (e) => {
setGroupId(e.target.value)
}
return (
- <Dialog open={open} maxWidth="md" fullWidth>
+ <Dialog open={open} maxWidth="xl" fullWidth>
<Form onSubmit={handleSubmit}>
<DialogCloseButton onClose={handleClose} />
<DialogTitle>{translate('toolbar.bindmatnr')}</DialogTitle>
<DialogContent sx={{ mt: 2 }}>
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
+ <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, height: 700 }}>
<Grid container spacing={2}>
<Grid item xs={4}>
<ReferenceInput
@@ -153,9 +165,7 @@
filterToQuery={(val) => ({ code: val })}
/>
</ReferenceInput>
-
</Grid>
-
<Grid item xs={4}>
<TreeSelectInput
label="table.field.locAreaMatRela.groupId"
@@ -165,22 +175,49 @@
onChange={(e) => handleChange(e.target.value, 'groupId')}
/>
</Grid>
-
-
- <Grid item xs={4}>
- <ReferenceArrayInput source="matnrId" reference="matnr" filter={{ groupId: formData.groupId }}>
- <SelectArrayInput
- label="table.field.locAreaMatRela.matnrId"
- // validate={required()}
- value={formData.matnrId}
- onChange={(e) => handleChange(e.target.value, 'matnrId')}
- />
- </ReferenceArrayInput>
-
- </Grid>
-
</Grid>
-
+ <Grid item xs={4}>
+ <List
+ resource="matnr"
+ filter={{ groupId: formData.groupId }}
+ empty={false}
+ actions={<></>}
+ >
+ <StyledDatagrid
+ preferenceKey='matnr'
+ bulkActionButtons={<></>}
+ onSelectAll={{limit: 1000}}
+ rowClick={(id, resource, record) => { }}
+ omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']}
+ >
+ <NumberField key="id" source="id" />,
+ <TextField key="name" source="name" label="table.field.matnr.name" />,
+ <TextField key="code" source="code" label="table.field.matnr.code" />,
+ <ReferenceField key="groupId" source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}>
+ <TextField source="name" />
+ </ReferenceField>,
+ <TextField key="spec" source="spec" label="table.field.matnr.spec" />,
+ <TextField key="model" source="model" label="table.field.matnr.model" />,
+ <NumberField key="nromNum" source="nromNum" label="table.field.matnr.nromNum" />,
+ <TextField key="stockLeval$" source="stockLeval$" label="table.field.matnr.stockLevel" sortable={false} />,
+ <TextField key="flagLabelMange$" source="flagLabelMange$" label="table.field.matnr.isLabelMange" sortable={false} />,
+ <NumberField key="safeQty" source="safeQty" label="table.field.matnr.safeQty" />,
+ <NumberField key="minQty" source="minQty" label="table.field.matnr.minQty" />,
+ <NumberField key="maxQty" source="maxQty" label="table.field.matnr.maxQty" />,
+ <NumberField key="validWarn" source="validWarn" label="table.field.matnr.validWarn" />,
+ <BooleanField key="flagCheck" source="flagCheck" label="table.field.matnr.flagCheck" sortable={false} />,
+ <BooleanField key="statusBool" source="statusBool" label="common.field.status" sortable={false} />,
+ <TextField key="memo" source="memo" label="common.field.memo" sortable={false} />,
+ </StyledDatagrid>
+ </List>
+ {/* <ReferenceArrayInput source="matnrId" reference="matnr" filter={{ groupId: formData.groupId }}>
+ <SelectArrayInput
+ label="table.field.locAreaMatRela.matnrId"
+ value={formData.matnrId}
+ onChange={(e) => handleChange(e.target.value, 'matnrId')}
+ />
+ </ReferenceArrayInput> */}
+ </Grid>
</Box>
</DialogContent>
<DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index a319484..3484d69 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -47,9 +47,7 @@
import BatchModal from './BatchModal';
import SubzoneModal from './SubzoneModal';
import PageDrawer from "../../components/PageDrawer";
-import MyField from "../../components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import * as Common from '@/utils/common';
import DashboardIcon from '@mui/icons-material/Dashboard';
import EditIcon from '@mui/icons-material/Edit';
import request from '@/utils/request';
@@ -142,7 +140,6 @@
const translate = useTranslate();
const notify = useNotify();
const refresh = useRefresh();
-
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
const [initDialog, setInitDialog] = useState(false);
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
index f1aae39..4e433ce 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -67,7 +67,7 @@
'& .RaDatagrid-row': {
cursor: 'auto'
},
- '& .RaList-content': {
+ '& .RaList-content': {
width: '200px'
},
'& .RaList-main': {
@@ -139,7 +139,6 @@
<NumberInput source="valid" label="table.field.matnr.valid" />,
<NumberInput source="validWarn" label="table.field.matnr.validWarn" />,
<NumberInput source="flagCheck" label="table.field.matnr.flagCheck" />,
-
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -156,10 +155,8 @@
const translate = useTranslate();
const notify = useNotify();
const { isLoading } = useListContext();
-
const [columns, setColumns] = useState([]);
const refresh = useRefresh();
-
useEffect(() => {
getDynamicFields();
}, []);
@@ -213,17 +210,7 @@
<PrintButton />
</WrapperField>
setColumns([...arr, ...fields, opt]);
-
- //filters娣诲姞杩囨护瀛楁
- data.map(el => {
- var i =0;
- filters.map((item) =>{
- if(item.key === el.fields){
- i = 1;
- }
- })
- i===0 && filters.push(<TextInput key={el.fields} source={el.fields} label={el.fieldsAlise} />)
- })
+
} else {
notify(msg);
}
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
index 4593642..134db3b 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -124,7 +124,6 @@
<FilterButton />
<MyCreateButton onClick={() => { setCreateDialog(true) }} />
<SelectColumnsButton preferenceKey='asnOrderItem' />
- <ImportButton value={'asnOrderItem'} parmas={{ asnId: asnId }} />
{/* <MyExportButton /> */}
</TopToolbar>
)}
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index a9c7a64..aca166f 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -55,7 +55,7 @@
import request from '@/utils/request';
import DictionarySelect from "../../components/DictionarySelect";
import ExitToAppIcon from '@mui/icons-material/ExitToApp';
-
+import ImportButton from "../../components/ImportButton";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -137,6 +137,7 @@
<FilterButton />
<MyCreateButton onClick={() => { setCreateDialog(true); setmodalType(0) }} />
<SelectColumnsButton preferenceKey='asnOrder' />
+ <ImportButton value={'asnOrderItem'} />
<MyExportButton />
</TopToolbar>
)}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java
index e2f1ef7..3836921 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java
@@ -70,6 +70,7 @@
BeanUtils.copyProperties(itemLog, item);
item.setId(itemLog.getAsnItemId())
.setAsnId(order.getId())
+ .setMatnrId(Long.parseLong(itemLog.getMatnrId()))
.setDeleted(0);
orderItems.add(item);
}
--
Gitblit v1.9.1