From 2fb1e4fec9fd815c71291f65317c25c8f89de060 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 23 一月 2026 15:29:50 +0800
Subject: [PATCH] #
---
rsf-admin/src/page/orders/config/orderItemColumns.jsx | 1 +
rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteEdit.jsx | 19 +++++++++++--------
rsf-admin/src/page/components/WarehouseSelect.jsx | 30 +++++++++++++++++++++---------
3 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteEdit.jsx b/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteEdit.jsx
index d077e67..d1367d0 100644
--- a/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteEdit.jsx
@@ -29,6 +29,7 @@
import MemoInput from "../../components/MemoInput";
import StatusSelectInput from "../../components/StatusSelectInput";
import DictionarySelect from "../../components/DictionarySelect";
+import WarehouseSelect from "../../components/WarehouseSelect";
const FormToolbar = () => {
const { getValues } = useFormContext();
@@ -69,13 +70,13 @@
label={translate("table.field.deviceSite.type")}
name="type"
validate={[required()]}
- dictTypeCode="sys_task_type"
+ dictTypeCode="sys_task_type"
multiple
perPage={REFERENCE_INPUT_PAGESIZE}
pagination={true}
sort={{ field: 'id', order: 'ASC' }}
filter={{ active: true }}
- />
+ />
</Stack>
<Stack direction='row' gap={2}>
<TextInput
@@ -128,15 +129,17 @@
/>
</Stack>
<Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.deviceSite.areaIdStart"
- source="areaIdStart"
+ <WarehouseSelect
+ label={translate("table.field.deviceSite.areaIdStart")}
+ name="areaIdStart"
+ validate={[required()]}
/>
</Stack>
<Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.deviceSite.areaIdEnd"
- source="areaIdEnd"
+ <WarehouseSelect
+ label={translate("table.field.deviceSite.areaIdEnd")}
+ name="areaIdEnd"
+ validate={[required()]}
/>
</Stack>
diff --git a/rsf-admin/src/page/components/WarehouseSelect.jsx b/rsf-admin/src/page/components/WarehouseSelect.jsx
index 74f4653..18e5507 100644
--- a/rsf-admin/src/page/components/WarehouseSelect.jsx
+++ b/rsf-admin/src/page/components/WarehouseSelect.jsx
@@ -2,14 +2,29 @@
import {
useTranslate, useNotify, required
} from 'react-admin';
+import { useController } from 'react-hook-form';
import request from '@/utils/request';
import { Select, MenuItem, FormControl, InputLabel } from '@mui/material';
const WarehouseSelect = (props) => {
- const { dictTypeCode, label, value, onChange, ...params } = props;
+ const { dictTypeCode, label, name, validate, ...params } = props;
const translate = useTranslate();
const notify = useNotify();
const [list, setList] = useState([]);
+
+ // 浣跨敤 useController 涓� react-hook-form 闆嗘垚
+ const { field, fieldState } = useController({
+ name: name,
+ rules: validate ? {
+ validate: (value) => {
+ for (const rule of validate) {
+ const result = rule(value);
+ if (result) return result;
+ }
+ return true;
+ }
+ } : undefined
+ });
useEffect(() => {
http();
@@ -31,19 +46,16 @@
const handleChange = (event) => {
const selectedValue = event.target.value;
- console.log(event);
- if (onChange) {
- onChange(event);
- }
+ field.onChange(selectedValue);
};
- const validValue = list.some(item => item.id === value) ? value : '';
+ const validValue = list.some(item => item.id === field.value) ? field.value : '';
return (
- <FormControl required fullWidth>
- <InputLabel id="demo-select-small-label">{label}</InputLabel>
+ <FormControl required fullWidth error={!!fieldState.error}>
+ <InputLabel id={`${name}-label`}>{label}</InputLabel>
<Select
- labelId="demo-select-small-label"
+ labelId={`${name}-label`}
value={validValue}
variant="filled"
onChange={handleChange}
diff --git a/rsf-admin/src/page/orders/config/orderItemColumns.jsx b/rsf-admin/src/page/orders/config/orderItemColumns.jsx
index aa939e1..3c1578f 100644
--- a/rsf-admin/src/page/orders/config/orderItemColumns.jsx
+++ b/rsf-admin/src/page/orders/config/orderItemColumns.jsx
@@ -58,6 +58,7 @@
key={el.fields}
source={`extendFields.[${el.fields}]`}
label={el.fieldsAlise}
+ sortable={false}
/>
));
};
--
Gitblit v1.9.1