From 32286d19d0a0b347c3787f051e95f413566ab4ae Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 28 四月 2025 16:45:15 +0800
Subject: [PATCH] #找库位优化
---
rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx | 153 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 141 insertions(+), 12 deletions(-)
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
index 4c89a10..6c2dc38 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -39,7 +39,9 @@
TableCell,
Tooltip,
IconButton,
- styled
+ styled,
+ Select,
+ MenuItem
} from '@mui/material';
@@ -55,6 +57,7 @@
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import DictionarySelect from "../../components/DictionarySelect";
import DictSelect from "../../components/DictSelect";
+import "./asnOrder.css";
const AsnOrderModal = (props) => {
const { open, setOpen, asnId, billReload } = props;
@@ -101,6 +104,7 @@
...prevData,
[name]: value
}));
+ console.log(formData);
};
const resetData = () => {
@@ -178,7 +182,7 @@
setFormData(res.data.data)
} else {
notify(res.data.msg);
- }
+ }
}
const requestGetBody = async () => {
@@ -200,7 +204,7 @@
}
return (
- <>
+ <>
<Dialog
open={open}
onClose={handleClose}
@@ -209,7 +213,7 @@
fullWidth
disableRestoreFocus
maxWidth="lg" // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
- >
+ >
<DialogTitle id="form-dialog-title" sx={{
position: 'sticky',
top: 0,
@@ -223,7 +227,7 @@
</DialogTitle>
<DialogContent sx={{ mt: 2 }}>
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
- <Form>
+ <Form defaultValues={formData}>
<Grid container spacing={2}>
<Grid item md={3}>
<DictSelect
@@ -282,9 +286,7 @@
{/* {asnId !== '' && <ConfirmButton label={'鍒犻櫎'} variant="outlined" color="error" onConfirm={handleDelete} />} */}
<ConfirmButton label={'鍒犻櫎'} variant="outlined" color="error" onConfirm={handleDeleteItem} />
</Stack>
-
</Box>
-
<Box sx={{ mt: 2 }}>
<AsnOrderModalTable tabelData={tabelData} setTableData={setTableData} asnId={asnId} selectedRows={selectedRows} setSelectedRows={setSelectedRows} tableRef={tableRef}></AsnOrderModalTable>
</Box>
@@ -311,6 +313,123 @@
export default AsnOrderModal;
+const SelectInputSplrNameEditCell = (params) => {
+ const [formData, setFormData] = useState([{}])
+ useEffect(() => {
+ getOptions();
+ }, []);
+ const getOptions = async () => {
+ const parmas = {
+ "type": "supplier"
+ }
+ const {
+ data: { code, data, msg },
+ } = await request.post("companys/page",parmas);
+ if (code === 200) {
+ setFormData(data.records)
+ console.log(data.records)
+ } else {
+ notify(msg);
+ }
+ }
+
+ return (
+ <Select
+ value={params.value}
+ onChange={(e) =>{
+ params.api.setEditCellValue({
+ id: params.id,
+ field: params.field,
+ value: e.target.value,
+ })
+ // 鎵惧埌閫変腑鐨勪緵搴斿晢璁板綍
+ const selectedSupplier = formData.find(supplier => supplier.name === e.target.value);
+
+ // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
+ if (selectedSupplier) {
+ params.api.setEditCellValue({
+ id: params.id,
+ field: 'splrCode',
+ value: selectedSupplier.id,
+ });
+ }
+
+ }
+
+ }
+ fullWidth
+
+ >
+ {formData.map(e => {
+ return(
+ <MenuItem value={e.name} children={e.name} key={e.id} />
+ );
+
+ })}
+
+ </Select>
+ );
+ };
+
+ const SelectInputSplrCodeEditCell = (params) => {
+ const [formData, setFormData] = useState([{}])
+ useEffect(() => {
+ getOptions();
+ }, []);
+ const getOptions = async () => {
+ const parmas = {
+ "type": "supplier"
+ }
+ const {
+ data: { code, data, msg },
+ } = await request.post("companys/page",parmas);
+ if (code === 200) {
+ setFormData(data.records)
+ console.log(data.records)
+ } else {
+ notify(msg);
+ }
+ }
+
+ return (
+ <Select
+ value={params.value}
+ onChange={(e) =>{
+ params.api.setEditCellValue({
+ id: params.id,
+ field: params.field,
+ value: e.target.value,
+ })
+ const selectedSupplier = formData.find(supplier => supplier.id === e.target.value);
+
+ // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
+ if (selectedSupplier) {
+ params.api.setEditCellValue({
+ id: params.id,
+ field: 'splrName',
+ value: selectedSupplier.name,
+ });
+ }
+ }
+
+ }
+ fullWidth
+
+ >
+ {formData.map(e => {
+ return(
+ <MenuItem value={e.id} children={e.name} key={e.id} />
+ );
+
+ })}
+
+ </Select>
+ );
+ };
+
+
+
+
const AsnOrderModalTable = ({ tabelData, setTableData, asnId, selectedRows, setSelectedRows, tableRef }) => {
const translate = useTranslate();
const notify = useNotify();
@@ -331,26 +450,35 @@
},
{
field: 'anfme',
- headerName: translate('table.field.asnOrderItem.anfme'),
+ headerName: translate('table.field.asnOrderItem.anfme')+"*",
type: 'number',
minWidth: 100,
flex: 1,
editable: true,
- valueFormatter: (val) => val < 0 ? 0 : val
+ valueFormatter: (val) => val < 0 ? 0 : val,
+ headerClassName: "custom",
},
{
field: 'splrCode',
- headerName: translate('table.field.asnOrderItem.splrCode'),
+ headerName: translate('table.field.asnOrderItem.splrCode')+"*",
minWidth: 100,
flex: 1,
editable: true,
+ renderEditCell: (params) => (
+ <SelectInputSplrCodeEditCell {...params} />
+ ),
+ headerClassName: "custom",
},
{
field: 'splrName',
- headerName: translate('table.field.asnOrderItem.splrName'),
+ headerName: translate('table.field.asnOrderItem.splrName')+"*",
minWidth: 100,
flex: 1,
editable: true,
+ renderEditCell: (params) => (
+ <SelectInputSplrNameEditCell {...params} />
+ ),
+ headerClassName: "custom",
},
// {
// field: 'packName',
@@ -367,10 +495,11 @@
// },
{
field: 'poCode',
- headerName: translate('table.field.asnOrderItem.poDetlCode'),
+ headerName: translate('table.field.asnOrderItem.poDetlCode')+"*",
minWidth: 100,
flex: 1,
editable: true,
+ headerClassName: "custom",
},
{
--
Gitblit v1.9.1