From 6f5a86b74457f2fdad3caa63f3378e81624d47d2 Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期三, 11 二月 2026 08:22:14 +0800
Subject: [PATCH] 优化基础信息页面字段

---
 rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx |  145 +++++++++++++++++++++++++++++++----------------
 1 files changed, 95 insertions(+), 50 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx b/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
index 5d82fd9..b73e16b 100644
--- a/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
@@ -17,6 +17,7 @@
     useNotify,
     Form,
     useCreateController,
+    SelectArrayInput,
 } from 'react-admin';
 import {
     Dialog,
@@ -30,13 +31,15 @@
 import DialogCloseButton from "../../components/DialogCloseButton";
 import StatusSelectInput from "../../components/StatusSelectInput";
 import MemoInput from "../../components/MemoInput";
+import DictionarySelect from "../../components/DictionarySelect";
+import DictionaryArraySelect from "../../components/DictionaryArraySelect";
 
 const BasStationCreate = (props) => {
     const { open, setOpen } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
-
+    const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_station_type')) || [];
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
@@ -90,87 +93,129 @@
                                         source="stationName"
                                         parse={v => v}
                                         autoFocus
-                                    />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
-                                        label="table.field.basStation.inAble"
-                                        source="inAble"
-                                    />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
-                                        label="table.field.basStation.outAble"
-                                        source="outAble"
+                                        validate={[required()]}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
-                                        label="table.field.basStation.useStatus"
-                                        source="useStatus"
+                                        label="table.field.basStation.stationId"
+                                        source="stationId"
                                         parse={v => v}
+                                        autoFocus
+                                        validate={[required()]}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
-                                        label="table.field.basStation.area"
-                                        source="area"
+                                    <SelectInput
+                                        label="table.field.basStation.type"
+                                        source="type"
+                                        choices={[
+                                            { id: 0, name: '鏅鸿兘绔欑偣' },
+                                            { id: 1, name: '鏅�氱珯鐐�' },
+                                        ]}
+                                        validate={[required()]}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
+                                    <DictionarySelect
+                                        label={translate("table.field.basStation.useStatus")}
+                                        name="useStatus"
+                                        size="small"
+                                        // validate={[required()]}
+                                        dictTypeCode="sys_sta_use_stas"
+                                    />
+                                </Grid>
+                                {/* <Grid item xs={6} display="flex" gap={1}>
+                                    <ReferenceInput source="area" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
+                                        <SelectInput
+                                            label="table.field.basStation.area"
+                                            optionText="name"
+                                            optionValue="id"
+                                            fullWidth
+                                            validate={[required()]}
+                                        />
+                                    </ReferenceInput>
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <SelectInput
                                         label="table.field.basStation.isCrossZone"
                                         source="isCrossZone"
+                                        choices={[
+                                            { id: 0, name: '鍚�' },
+                                            { id: 1, name: '鏄�' },
+                                        ]}
+                                        validate={[required()]}
                                     />
-                                </Grid>
+                                </Grid> */}
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.basStation.crossZoneArea"
-                                        source="crossZoneArea"
-                                        parse={v => v}
-                                    />
+                                    <ReferenceArrayInput source="areaIds" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
+                                        <SelectArrayInput
+                                            label="table.field.basStation.crossZoneArea"
+                                            optionText="name"
+                                            optionValue="id"
+                                            fullWidth
+                                            validate={[required()]}
+                                        />
+                                    </ReferenceArrayInput>
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
+                                {/* <Grid item xs={6} display="flex" gap={1}>
+                                    <SelectInput
                                         label="table.field.basStation.isWcs"
                                         source="isWcs"
+                                        choices={[
+                                            { id: 0, name: '鍚�' },
+                                            { id: 1, name: '鏄�' },
+                                        ]}
+                                        validate={[required()]}
+                                    />
+                                </Grid> */}
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <DictionaryArraySelect
+                                        label={translate("table.field.basStation.containerType")}
+                                        name="containerTypes"
+                                        size="small"
+                                        validate={[required()]}
+                                        dictTypeCode="sys_container_type"
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.basStation.wcsData"
-                                        source="wcsData"
-                                        parse={v => v}
+                                    <SelectInput
+                                        label="table.field.basStation.inAble"
+                                        source="inAble"
+                                        choices={[
+                                            { id: 0, name: '鍚�' },
+                                            { id: 1, name: '鏄�' },
+                                        ]}
+                                        validate={[required()]}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
-                                        label="table.field.basStation.containerType"
-                                        source="containerType"
+                                    <SelectInput
+                                        label="table.field.basStation.outAble"
+                                        source="outAble"
+                                        choices={[
+                                            { id: 0, name: '鍚�' },
+                                            { id: 1, name: '鏄�' },
+                                        ]}
+                                        validate={[required()]}
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.basStation.barcode"
-                                        source="barcode"
-                                        parse={v => v}
-                                    />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <NumberInput
+                                {/* <Grid item xs={6} display="flex" gap={1}>
+                                    <SelectInput
                                         label="table.field.basStation.autoTransfer"
                                         source="autoTransfer"
+                                        choices={[
+                                            { id: 0, name: '鍚�' },
+                                            { id: 1, name: '鏄�' },
+                                        ]}
+                                        validate={[required()]}
                                     />
-                                </Grid>
-
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <StatusSelectInput />
-                                </Grid>
-                                <Grid item xs={12} display="flex" gap={1}>
+                                </Grid> */}
+                                {/* <Grid item xs={12} display="flex" gap={1}>
                                     <Stack direction="column" spacing={1} width={'100%'}>
                                         <MemoInput />
                                     </Stack>
-                                </Grid>
+                                </Grid> */}
                             </Grid>
                         </DialogContent>
                         <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>

--
Gitblit v1.9.1