From ea3ca5f67756a7f3afd1493f86d1265deb8fdf42 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期二, 25 三月 2025 15:07:52 +0800
Subject: [PATCH] 2
---
rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx | 59 ++++++++++++++++++-
rsf-admin/src/page/warehouseAreas/BatchModal.jsx | 63 ++++++++++++++++----
rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx | 4 -
rsf-admin/src/i18n/zh.js | 3 +
rsf-admin/src/i18n/en.js | 3 +
rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx | 5 -
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 4
7 files changed, 116 insertions(+), 25 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index dfb832c..b970d00 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -646,6 +646,9 @@
bindmatnr: 'bind matnr',
bindloc: 'bind loc',
batchMatnrGropu: 'batchMatnrGropu',
+ batchStatus: 'batchStatus',
+ batchMix: 'batchFiexed',
+ batchWarehouse: 'batchWarehouse',
},
};
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index a1976a7..6e7ede8 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -648,6 +648,9 @@
bindmatnr: '缁戝畾鐗╂枡',
bindloc: '缁戝畾搴撲綅',
batchMatnrGropu: '鎵归噺鐗╂枡鍒嗙粍',
+ batchStatus: '鎵归噺鐘舵��',
+ batchMix: '鎵归噺娣锋斁',
+ batchWarehouse: '鎵归噺浠撳簱',
},
};
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
index 04b4d48..0d5ff70 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
@@ -172,7 +172,6 @@
<AutocompleteInput
label="table.field.matnr.shipperId"
optionText="name"
- validate={[required()]}
filterToQuery={(val) => ({ name: val })}
/>
</ReferenceInput>
@@ -188,7 +187,6 @@
<TextInput
label="table.field.matnr.platCode"
source="platCode"
- validate={[required()]}
parse={v => v}
/>
</Grid>
@@ -287,7 +285,8 @@
<Grid key={item.id} item xs={6} display="flex" gap={1}>
<TextInput
label={item.fieldsAlise}
- source={item.fields}
+ source={`extendFields.[${item.fields}]`}
+ validate={required()}
/>
</Grid>
)
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index def6d1a..c86aeef 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -144,7 +144,6 @@
<Grid item xs={6} display="flex" gap={1}>
<ReferenceInput source="shipperId" reference="companys" filter={{ type: 'shipper' }}>
<AutocompleteInput
- validate={[required()]}
label="table.field.matnr.shipperId"
optionText="name"
filterToQuery={(val) => ({ name: val })}
@@ -269,7 +268,8 @@
<Grid key={item.id} item xs={6} display="flex" gap={1}>
<TextInput
label={item.fieldsAlise}
- source={item.fields}
+ source={`extendFields.[${item.fields}]`}
+ validate={required()}
/>
</Grid>
)
diff --git a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx
index 4fbd112..01b56be 100644
--- a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupEdit.jsx
@@ -79,8 +79,7 @@
<TextInput
label="table.field.matnrGroup.parCode"
source="parCode"
- value={editRecord?.parCode}
- parse={v => v}
+ value={'11'}
readOnly
/>
</Grid>
@@ -132,7 +131,6 @@
const onSubmit = (data) => {
const _params = { ...data };
if (editRecord) {
- debugger
if (_params.parentId === editRecord.id) {
notify('common.response.dataError', { type: 'error' });
return;
diff --git a/rsf-admin/src/page/warehouseAreas/BatchModal.jsx b/rsf-admin/src/page/warehouseAreas/BatchModal.jsx
index 34ebb10..1f64a7b 100644
--- a/rsf-admin/src/page/warehouseAreas/BatchModal.jsx
+++ b/rsf-admin/src/page/warehouseAreas/BatchModal.jsx
@@ -51,7 +51,7 @@
import { DataGrid } from '@mui/x-data-grid';
import StatusSelectInput from "../components/StatusSelectInput";
-const InitModal = ({ open, setOpen }) => {
+const InitModal = ({ open, setOpen, fieldType }) => {
const refresh = useRefresh();
const translate = useTranslate();
@@ -59,7 +59,9 @@
const notify = useNotify();
const [formData, setFormData] = useState({
- 'status': null
+ 'status': null,
+ 'wareId': null,
+ 'flagMix': null,
});
const { selectedIds, onUnselectItems } = useListContext();
@@ -75,7 +77,9 @@
const reset = () => {
setFormData({
- 'status': null
+ 'status': null,
+ 'wareId': null,
+ 'flagMix': null,
})
}
@@ -103,10 +107,10 @@
const handleSubmit = async () => {
const parmas = {
id: selectedIds,
- matnr: removeEmptyKeys(formData)
+ ...removeEmptyKeys(formData)
}
- const res = await request.post(`/matnr/modify`, parmas);
+ const res = await request.post(`/warehouseAreas/modify`, parmas);
if (res?.data?.code === 200) {
handleClose()
@@ -116,20 +120,53 @@
}
return (
- <Dialog open={open} maxWidth="md" fullWidth>
+ <Dialog open={open} maxWidth="xs" fullWidth>
<Form onSubmit={handleSubmit}>
<DialogCloseButton onClose={handleClose} />
<DialogTitle>{translate('toolbar.batch')}</DialogTitle>
<DialogContent sx={{ mt: 2 }}>
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
<Grid container spacing={2}>
- <Grid item xs={4}>
- <StatusSelectInput
- onChange={(e) => handleChange(e.target.value, 'status')}
- defaultValue={''}
- require={false}
- />
- </Grid>
+ {fieldType === 'status' &&
+ <Grid item xs={6}>
+ <StatusSelectInput
+ onChange={(e) => handleChange(e.target.value, 'status')}
+ defaultValue={''}
+ require={false}
+ />
+ </Grid>
+ }
+ {fieldType === 'flagMix' &&
+ <Grid item xs={6}>
+ <SelectInput
+ label="table.field.warehouseAreas.flagMix"
+ source="flagMix"
+ validate={[required()]}
+ onChange={(e) => handleChange(e.target.value, 'flagMix')}
+ choices={[
+ { id: 0, name: '鍚�' },
+ { id: 1, name: '鏄�' },
+ ]}
+ />
+ </Grid>
+ }
+ {fieldType === 'wareId' &&
+ <Grid item xs={6}>
+ <ReferenceInput
+ source="warehouseId"
+ reference="warehouse"
+
+ >
+ <AutocompleteInput
+ onChange={(value) => handleChange(value, 'warehouseId')}
+ label="table.field.warehouseAreas.wareId"
+ optionText="name"
+ validate={[required()]}
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>
+ </Grid>
+ }
</Grid>
</Box>
diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
index a44e1fb..180bcf2 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
@@ -63,7 +63,7 @@
const filters = [
<SearchInput source="condition" alwaysOn />,
- <TextField source="warehouseId" label="table.field.warehouseAreas.wareId" alwaysOn />,
+ <TextField source="warehouseId" label="table.field.warehouseAreas.wareId" />,
<TextInput source="uuid" label="table.field.warehouseAreas.uuid" />,
<TextInput source="name" label="table.field.warehouseAreas.name" />,
<TextInput source="code" label="table.field.warehouseAreas.code" />,
@@ -137,7 +137,9 @@
preferenceKey='warehouseAreas'
bulkActionButtons={
<>
- <BatchButton />
+ <WareButton />
+ <MixButton />
+ <StatusButton />
<BulkDeleteButton mutationMode={OPERATE_MODE} />
</>
}
@@ -191,7 +193,7 @@
export default WarehouseAreasList;
-const BatchButton = () => {
+const MixButton = () => {
const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
@@ -201,13 +203,62 @@
return (
<>
- <Button onClick={() => setCreateDialog(true)} label={"toolbar.batch"}>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchMix"}>
<EditIcon />
</Button>
<BatchModal
open={createDialog}
setOpen={setCreateDialog}
+ fieldType={'flagMix'}
+ />
+ </>
+
+ )
+}
+
+const WareButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouse"}>
+ <EditIcon />
+ </Button>
+
+ <BatchModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ fieldType={'wareId'}
+ />
+ </>
+
+ )
+}
+
+const StatusButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchStatus"}>
+ <EditIcon />
+ </Button>
+
+ <BatchModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ fieldType={'status'}
/>
</>
--
Gitblit v1.9.1