skyouc
2025-02-25 7a7e7117abe02043864d8737b3dbd4e6f2c51fa6
Merge branch 'dev' of http://47.97.1.152:5880/r/wms-master into dev
15个文件已修改
495 ■■■■ 已修改文件
rsf-admin/src/i18n/zh.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrPanel.jsx 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseCreate.jsx 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseEdit.jsx 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehousePanel.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/loc/LocCreate.jsx 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/loc/LocEdit.jsx 249 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/loc/LocList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/loc/LocPanel.jsx 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js
@@ -1,4 +1,4 @@
import { s } from "motion/react-client";
import { code, s } from "motion/react-client";
import chineseMessages from "./core/chineseMessages";
const customChineseMessages = {
@@ -454,6 +454,7 @@
    form: {
        matnr: {
            name: '物料名称不能为空',
            code: '物料编码不能为空',
            shipper: '货主不能为空',
            groupId: '分组不能为空',
        }
rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
@@ -88,19 +88,15 @@
    const handleError = async (error) => {
        notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
    };
    const validateForm = (values) => {
        const errors = {};
        if (!values.shipperId) {
            errors.shipperId = translate('form.matnr.shipper');
        }
        if (!values.groupId) {
            errors.groupId = translate('form.matnr.groupId');
        }
        if (!values.name) {
            errors.name = translate('form.matnr.name');
        }
        return errors;
    };
    // const validateForm = (values) => {
    //     const errors = {};
    //     if (!values.name) errors.name = translate('form.matnr.name');
    //     if (!values.shipperId) errors.shipperId = translate('form.matnr.shipper');
    //     if (!values.groupId) errors.groupId = translate('form.matnr.groupId');
    //     if (!values.code) errors.code = translate('form.matnr.code');
    //     return errors;
    // };
    return (
        <>
@@ -119,7 +115,7 @@
                    disableRestoreFocus
                    maxWidth="md"   // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
                >
                    <Form validate={validateForm}>
                    <Form >
                        <DialogTitle id="form-dialog-title" sx={{
                            position: 'sticky',
                            top: 0,
@@ -152,7 +148,7 @@
                                    <Grid item xs={6} display="flex" gap={1}>
                                        <TextInput
                                            label="table.field.matnr.code"
                                            required
                                            validate={[required()]}
                                            source="code"
                                            parse={v => v}
                                        />
@@ -177,9 +173,9 @@
                                        >
                                            <AutocompleteInput
                                                label="table.field.matnr.groupId"
                                                optionText="code"
                                                optionText="name"
                                                validate={[required()]}
                                                filterToQuery={(val) => ({ code: val })}
                                                filterToQuery={(val) => ({ name: val })}
                                            />
                                        </ReferenceInput>
                                    </Grid>
@@ -187,7 +183,7 @@
                                        <TextInput
                                            label="table.field.matnr.erpCode"
                                            source="erpCode"
                                            required
                                            validate={[required()]}
                                            parse={v => v}
                                        />
                                    </Grid>
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -75,16 +75,6 @@
    const handleChange = (event, newValue) => {
        setValue(newValue);
    };
    const validateForm = (values) => {
        const errors = {};
        if (!values.shipperId) {
            errors.shipperId = translate('form.matnr.shipper');
        }
        if (!values.groupId) {
            errors.groupId = translate('form.matnr.groupId');
        }
        return errors;
    };
    return (
        <Edit
            redirect="list"
@@ -98,7 +88,6 @@
                toolbar={<FormToolbar />}
                mode="onTouched"
                defaultValues={{}}
                validate={validateForm}
            // validate={(values) => { }}
            >
                <Grid container width={{ xs: '20%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -155,7 +155,7 @@
                    <TextField source="name" />
                </ReferenceField>
                <ReferenceField source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}>
                    <TextField source="code" />
                    <TextField source="name" />
                </ReferenceField>
                <ReferenceField source="rglarId" label="table.field.matnr.rglarId" reference="batchRegular" link={false} sortable={false}>
                    <TextField source="code" />
rsf-admin/src/page/basicInfo/matnr/MatnrPanel.jsx
@@ -13,7 +13,7 @@
    const translate = useTranslate();
    return (
        <>
            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 1400 }, margin: 'auto' }}>
                <CardContent>
                    <Grid container spacing={2}>
                        <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
@@ -40,151 +40,151 @@
                    </Grid>
                    <Box height={20}>&nbsp;</Box>
                    <Grid container spacing={2}>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.name" 
                                property={record.name}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.code" 
                                property={record.code}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.shipperId" 
                                property={record.shipperId$}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.groupId" 
                                property={record.groupId$}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.rglarId" 
                                property={record.rglarId$}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.erpCode" 
                                property={record.erpCode}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.spec" 
                                property={record.spec}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.model" 
                                property={record.model}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.weight" 
                                property={record.weight}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.color" 
                                property={record.color}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.size" 
                                property={record.size}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.describle" 
                                property={record.describle}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.nromNum" 
                                property={record.nromNum}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.unit" 
                                property={record.unit}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.purUnit" 
                                property={record.purUnit}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.stockUnit" 
                                property={record.stockUnit}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.stockLevel" 
                                property={record.stockLevel$}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.isLabelMange" 
                                property={record.isLabelMange$}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.safeQty" 
                                property={record.safeQty}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.minQty" 
                                property={record.minQty}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.maxQty" 
                                property={record.maxQty}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.stagn" 
                                property={record.stagn}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.valid" 
                                property={record.valid}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.validWarn" 
                                property={record.validWarn}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.matnr.flagCheck" 
                                property={record.flagCheck}
rsf-admin/src/page/basicInfo/warehouse/WarehouseCreate.jsx
@@ -86,25 +86,27 @@
                            <Grid container rowSpacing={2} columnSpacing={2}>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.warehouse.name"
                                        source="name"
                                        required
                                        label="table.field.warehouse.factory"
                                        source="factory"
                                        validate={[required()]}
                                        parse={v => v}
                                        autoFocus
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.warehouse.code"
                                        source="code"
                                        validate={[required()]}
                                        parse={v => v}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.warehouse.factory"
                                        source="factory"
                                        required
                                        label="table.field.warehouse.name"
                                        source="name"
                                        validate={[required()]}
                                        parse={v => v}
                                    />
                                </Grid>
@@ -112,7 +114,7 @@
                                    <TextInput
                                        label="table.field.warehouse.address"
                                        source="address"
                                        required
                                        validate={[required()]}
                                        parse={v => v}
                                    />
                                </Grid>
@@ -122,9 +124,7 @@
                                        source="longitude"
                                        parse={v => v}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                     <TextInput
                                        label="table.field.warehouse.latgitude"
                                        source="latgitude"
                                        parse={v => v}
@@ -135,14 +135,10 @@
                                        label="table.field.warehouse.length"
                                        source="length"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                     <NumberInput
                                        label="table.field.warehouse.width"
                                        source="width"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.warehouse.height"
                                        source="height"
rsf-admin/src/page/basicInfo/warehouse/WarehouseEdit.jsx
@@ -65,8 +65,17 @@
                        </Typography>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.warehouse.factory"
                                source="factory"
                                validate={[required()]}
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.warehouse.name"
                                source="name"
                                validate={[required()]}
                                parse={v => v}
                                autoFocus
                            />
@@ -75,20 +84,16 @@
                            <TextInput
                                label="table.field.warehouse.code"
                                source="code"
                                validate={[required()]}
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.warehouse.factory"
                                source="factory"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.warehouse.address"
                                source="address"
                                validate={[required()]}
                                parse={v => v}
                            />
                        </Stack>
@@ -98,8 +103,6 @@
                                source="longitude"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.warehouse.latgitude"
                                source="latgitude"
@@ -107,24 +110,22 @@
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.warehouse.length"
                                source="length"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.warehouse.width"
                                source="width"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.warehouse.height"
                                source="height"
                            />
                        </Stack>
                    </Grid>
                    <Grid item xs={12} md={4}>
                        <Typography variant="h6" gutterBottom>
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx
@@ -125,9 +125,9 @@
                    omit={['id', 'createTime', 'createBy', 'memo']}
                >
                    <NumberField source="id" />
                    <TextField source="factory" label="table.field.warehouse.factory" />
                    <TextField source="name" label="table.field.warehouse.name" />
                    <TextField source="code" label="table.field.warehouse.code" />
                    <TextField source="factory" label="table.field.warehouse.factory" />
                    <TextField source="address" label="table.field.warehouse.address" />
                    <TextField source="longitude" label="table.field.warehouse.longitude" />
                    <TextField source="latgitude" label="table.field.warehouse.latgitude" />
rsf-admin/src/page/basicInfo/warehouse/WarehousePanel.jsx
@@ -64,31 +64,31 @@
                                property={record.address}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.warehouse.longitude" 
                                property={record.longitude}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3} >
                            <PanelTypography
                                title="table.field.warehouse.latgitude" 
                                property={record.latgitude}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={2}>
                            <PanelTypography
                                title="table.field.warehouse.length" 
                                property={record.length}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={2}>
                            <PanelTypography
                                title="table.field.warehouse.width" 
                                property={record.width}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={2}>
                            <PanelTypography
                                title="table.field.warehouse.height" 
                                property={record.height}
rsf-admin/src/page/loc/LocCreate.jsx
@@ -85,12 +85,17 @@
                        <DialogContent sx={{ mt: 2 }}>
                            <Grid container rowSpacing={2} columnSpacing={2}>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.loc.areaId"
                                    <ReferenceInput
                                        source="areaId"
                                        autoFocus
                                        validate={required()}
                                    />
                                        reference="warehouseAreas"
                                    >
                                        <AutocompleteInput
                                            label="table.field.loc.areaId"
                                            optionText="name"
                                            validate={[required()]}
                                            filterToQuery={(val) => ({ name: val })}
                                        />
                                    </ReferenceInput>
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
@@ -152,19 +157,15 @@
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.loc.row"
                                        source="row"
                                        source="lrow"
                                        validate={required()}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.loc.col"
                                        source="col"
                                        validate={required()}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                     <NumberInput
                                        label="table.field.loc.lev"
                                        source="lev"
                                        validate={required()}
rsf-admin/src/page/loc/LocEdit.jsx
@@ -59,132 +59,139 @@
            // validate={(values) => { }}
            >
                <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
                    <Grid item xs={12} md={8}>
                    <Grid item xs={12} md={10}>
                        <Typography variant="h6" gutterBottom>
                            {translate('common.edit.title.main')}
                        </Typography>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.areaId"
                                source="areaId"
                                autoFocus
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.code"
                                source="code"
                                parse={v => v}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.type"
                                source="type"
                                parse={v => v}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.name"
                                source="name"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.flagLogic"
                                source="flagLogic"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.fucAtrrs"
                                source="fucAtrrs"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.barcode"
                                source="barcode"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.unit"
                                source="unit"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.size"
                                source="size"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.row"
                                source="row"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.col"
                                source="col"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.lev"
                                source="lev"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.channel"
                                source="channel"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.maxParts"
                                source="maxParts"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.maxPack"
                                source="maxPack"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.loc.flagLabelMange"
                                source="flagLabelMange"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.loc.locAttrs"
                                source="locAttrs"
                                parse={v => v}
                                validate={required()}
                            />
                        </Stack>
                        <Grid container rowSpacing={2} columnSpacing={2}>
                            <Grid item xs={6} display="flex" gap={1}>
                                <ReferenceInput
                                    source="areaId"
                                    reference="warehouseAreas"
                                >
                                    <AutocompleteInput
                                        label="table.field.loc.areaId"
                                        optionText="name"
                                        validate={[required()]}
                                        filterToQuery={(val) => ({ name: val })}
                                    />
                                </ReferenceInput>
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.code"
                                    source="code"
                                    parse={v => v}
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.type"
                                    source="type"
                                    parse={v => v}
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.name"
                                    source="name"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.flagLogic"
                                    source="flagLogic"
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.fucAtrrs"
                                    source="fucAtrrs"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.barcode"
                                    source="barcode"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.unit"
                                    source="unit"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.size"
                                    source="size"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.row"
                                    source="lrow"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.col"
                                    source="col"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.lev"
                                    source="lev"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.channel"
                                    source="channel"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.maxParts"
                                    source="maxParts"
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.maxPack"
                                    source="maxPack"
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.flagLabelMange"
                                    source="flagLabelMange"
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.locAttrs"
                                    source="locAttrs"
                                    parse={v => v}
                                    validate={required()}
                                />
                            </Grid>
                        </Grid>
                    </Grid>
                    <Grid item xs={12} md={4}>
                    <Grid item xs={12} md={2}>
                        <Typography variant="h6" gutterBottom>
                            {translate('common.edit.title.common')}
                        </Typography>
rsf-admin/src/page/loc/LocList.jsx
@@ -142,7 +142,7 @@
                    <TextField source="barcode" label="table.field.loc.barcode" />
                    <TextField source="unit" label="table.field.loc.unit" />
                    <TextField source="size" label="table.field.loc.size" />
                    <NumberField source="row" label="table.field.loc.row" />
                    <NumberField source="lrow" label="table.field.loc.row" />
                    <NumberField source="col" label="table.field.loc.col" />
                    <NumberField source="lev" label="table.field.loc.lev" />
                    <NumberField source="channel" label="table.field.loc.channel" />
rsf-admin/src/page/loc/LocPanel.jsx
@@ -13,7 +13,7 @@
    const translate = useTranslate();
    return (
        <>
            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 1400 }, margin: 'auto' }}>
                <CardContent>
                    <Grid container spacing={2}>
                        <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
@@ -40,103 +40,103 @@
                    </Grid>
                    <Box height={20}>&nbsp;</Box>
                    <Grid container spacing={2}>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.areaId" 
                                property={record.areaId}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.code" 
                                property={record.code}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.type" 
                                property={record.type}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.name" 
                                property={record.name}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.flagLogic" 
                                property={record.flagLogic}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.fucAtrrs" 
                                property={record.fucAtrrs}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.barcode" 
                                property={record.barcode}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.unit" 
                                property={record.unit}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.size" 
                                property={record.size}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.row" 
                                property={record.row}
                                property={record.lrow}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.col" 
                                property={record.col}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.lev" 
                                property={record.lev}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.channel" 
                                property={record.channel}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.maxParts" 
                                property={record.maxParts}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.maxPack" 
                                property={record.maxPack}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.flagLabelMange" 
                                property={record.flagLabelMange}
                            />
                        </Grid>
                        <Grid item xs={6}>
                        <Grid item xs={3}>
                            <PanelTypography
                                title="table.field.loc.locAttrs" 
                                property={record.locAttrs}
rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx
@@ -89,6 +89,7 @@
                                        label="table.field.warehouseAreas.uuid"
                                        source="uuid"
                                        parse={v => v}
                                        validate={[required()]}
                                        autoFocus
                                    />
                                </Grid>
@@ -96,6 +97,7 @@
                                    <TextInput
                                        label="table.field.warehouseAreas.name"
                                        source="name"
                                        validate={[required()]}
                                        parse={v => v}
                                    />
                                </Grid>
@@ -103,6 +105,7 @@
                                    <TextInput
                                        label="table.field.warehouseAreas.code"
                                        source="code"
                                        validate={[required()]}
                                        parse={v => v}
                                    />
                                </Grid>
@@ -114,6 +117,7 @@
                                        <AutocompleteInput
                                            label="table.field.warehouseAreas.shipperId"
                                            optionText="name"
                                            validate={[required()]}
                                            filterToQuery={(val) => ({ name: val })}
                                        />
                                    </ReferenceInput>
@@ -128,6 +132,7 @@
                                    <SelectInput
                                        label="table.field.warehouseAreas.flagMinus"
                                        source="flagMinus"
                                        validate={[required()]}
                                        choices={[
                                            { id: 0, name: '否' },
                                            { id:  1, name: '是' },
@@ -138,6 +143,7 @@
                                    <SelectInput
                                        label="table.field.warehouseAreas.flagLabelMange"
                                        source="flagLabelMange"
                                        validate={[required()]}
                                        choices={[
                                            { id: 0, name: ' 否' },
                                            { id:  1, name: ' 是' },
@@ -148,6 +154,7 @@
                                    <SelectInput
                                        label="table.field.warehouseAreas.flagMix"
                                        source="flagMix"
                                        validate={[required()]}
                                        choices={[
                                            { id: 0, name: '否' },
                                            { id:  1, name: '是' },
rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx
@@ -68,6 +68,7 @@
                                label="table.field.warehouseAreas.uuid"
                                source="uuid"
                                parse={v => v}
                                validate={[required()]}
                                autoFocus
                            />
                        </Stack>
@@ -75,6 +76,7 @@
                            <TextInput
                                label="table.field.warehouseAreas.name"
                                source="name"
                                validate={[required()]}
                                parse={v => v}
                            />
                        </Stack>
@@ -82,6 +84,7 @@
                            <TextInput
                                label="table.field.warehouseAreas.code"
                                source="code"
                                validate={[required()]}
                                parse={v => v}
                            />
                        </Stack>
@@ -94,6 +97,7 @@
                                <AutocompleteInput
                                    label="table.field.warehouseAreas.shipperId"
                                    optionText="name"
                                    validate={[required()]}
                                    filterToQuery={(val) => ({ name: val })}
                                />
                            </ReferenceInput>
@@ -108,6 +112,7 @@
                            <SelectInput
                                label="table.field.warehouseAreas.flagMinus"
                                source="flagMinus"
                                validate={[required()]}
                                choices={[
                                    { id: 0, name: '否' },
                                    { id:  1, name: '是' },
@@ -118,22 +123,22 @@
                            <SelectInput
                                label="table.field.warehouseAreas.flagLabelMange"
                                source="flagLabelMange"
                                validate={[required()]}
                                choices={[
                                    { id: 0, name: ' 否' },
                                    { id:  1, name: ' 是' },
                                ]}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <SelectInput
                                label="table.field.warehouseAreas.flagMix"
                                source="flagMix"
                                validate={[required()]}
                                choices={[
                                    { id: 0, name: '否' },
                                    { id:  1, name: '是' },
                                ]}
                                validate={required()}
                            />
                        </Stack>