#
vincentlu
2026-01-10 1bc33546a044cbc84dd9595c19dbcd9a4e309fc9
zy-acs-flow/src/map/areaSettings/AreaAdvancedTab.jsx
@@ -9,20 +9,40 @@
    setMaxQty,
    speedLimit,
    setSpeedLimit,
    shapeData,
    setShapeData,
    startPoint,
    endPoint,
    memo,
    setMemo,
    priority,
    setPriority,
    onSave,
}) => {
    const translate = useTranslate();
    const formatCoord = (value) => {
        if (value === null || value === undefined || value === '') {
            return '';
        }
        const num = Number(value);
        if (Number.isNaN(num)) {
            return String(value);
        }
        return num.toFixed(2);
    };
    const handleSubmit = (e) => {
        e.preventDefault();
        const confirmMsg = translate('page.map.area.confirm.save');
        if (window.confirm(confirmMsg)) {
            onSave?.();
        }
    };
    return (
        <Box component="form" onSubmit={(e) => { e.preventDefault(); onSave(); }}>
        <Box component="form" onSubmit={handleSubmit}>
            <Grid container spacing={2}>
                <Grid item xs={12}>
                    <TextField
                        label={translate('page.map.area.code', { _: '区域编码' })}
                        label={translate('page.map.area.form.code')}
                        fullWidth
                        value={areaCode}
                        onChange={(e) => setAreaCode(e.target.value)}
@@ -30,7 +50,7 @@
                </Grid>
                <Grid item xs={6}>
                    <TextField
                        label={translate('page.map.area.maxQty', { _: '最大数量' })}
                        label={translate('page.map.area.form.maxQty')}
                        fullWidth
                        type="number"
                        value={maxQty}
@@ -39,26 +59,48 @@
                </Grid>
                <Grid item xs={6}>
                    <TextField
                        label={translate('page.map.area.speedLimit', { _: '速度限制' })}
                        label={translate('page.map.area.form.speedLimit')}
                        fullWidth
                        type="number"
                        value={speedLimit}
                        onChange={(e) => setSpeedLimit(e.target.value)}
                    />
                </Grid>
                <Grid item xs={12}>
                <Grid item xs={12} sm={6}>
                    <TextField
                        label={translate('page.map.area.shape', { _: '形状数据' })}
                        label={translate('page.map.area.form.startX')}
                        fullWidth
                        multiline
                        minRows={3}
                        value={shapeData}
                        onChange={(e) => setShapeData(e.target.value)}
                        value={formatCoord(startPoint?.x)}
                        InputProps={{ readOnly: true }}
                    />
                </Grid>
                <Grid item xs={12} sm={6}>
                    <TextField
                        label={translate('page.map.area.form.startY')}
                        fullWidth
                        value={formatCoord(startPoint?.y)}
                        InputProps={{ readOnly: true }}
                    />
                </Grid>
                <Grid item xs={12} sm={6}>
                    <TextField
                        label={translate('page.map.area.form.endX')}
                        fullWidth
                        value={formatCoord(endPoint?.x)}
                        InputProps={{ readOnly: true }}
                    />
                </Grid>
                <Grid item xs={12} sm={6}>
                    <TextField
                        label={translate('page.map.area.form.endY')}
                        fullWidth
                        value={formatCoord(endPoint?.y)}
                        InputProps={{ readOnly: true }}
                    />
                </Grid>
                <Grid item xs={12}>
                    <TextField
                        label={translate('page.map.area.priority', { _: '优先级' })}
                        label={translate('page.map.area.form.priority')}
                        fullWidth
                        type="number"
                        value={priority}
@@ -66,8 +108,18 @@
                    />
                </Grid>
                <Grid item xs={12}>
                    <TextField
                        label={translate('page.map.area.form.memo')}
                        fullWidth
                        multiline
                        minRows={3}
                        value={memo}
                        onChange={(e) => setMemo(e.target.value)}
                    />
                </Grid>
                <Grid item xs={12}>
                    <Button variant="contained" type="submit">
                        {translate('common.action.save', { _: '保存' })}
                        {translate('ra.action.save')}
                    </Button>
                </Grid>
            </Grid>