#
Junjie
2024-10-17 d835d1b51f832889929cdf69010034a30ef44d02
zy-asrs-flow/src/pages/map/header/search.jsx
@@ -26,28 +26,61 @@
                        )
                })
                break;
            case Utils.SENSOR_TYPE.AGV:
            case Utils.SENSOR_TYPE.CONVEYOR:
                options.push({
                    value: value,
                    label:
                        (
                            <>
                                <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.agv', defaultMessage: '无人小车' })}</span>
                                <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.conveyor', defaultMessage: '输送线' })}</span>
                            </>
                        )
                })
                break;
            case Utils.SENSOR_TYPE.POINT:
            case Utils.SENSOR_TYPE.SHUTTLE:
                options.push({
                    value: value,
                    label:
                        (
                            <>
                                <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.point', defaultMessage: '定位点' })}</span>
                                <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.shuttle', defaultMessage: '穿梭车' })}</span>
                            </>
                        )
                })
                break;
            case Utils.SENSOR_TYPE.LIFT:
                options.push({
                    value: value,
                    label:
                        (
                            <>
                                <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.lift', defaultMessage: '提升机' })}</span>
                            </>
                        )
                })
                break;
            // case Utils.SENSOR_TYPE.AGV:
            //     options.push({
            //         value: value,
            //         label:
            //             (
            //                 <>
            //                     <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.agv', defaultMessage: 'AGV' })}</span>
            //                 </>
            //             )
            //     })
            //     break;
            // case Utils.SENSOR_TYPE.POINT:
            //     options.push({
            //         value: value,
            //         label:
            //             (
            //                 <>
            //                     <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.point', defaultMessage: '定位点' })}</span>
            //                 </>
            //             )
            //     })
            //     break;
            default:
                break;
        }
@@ -64,6 +97,15 @@
                value: child.data.no,
                label: renderTitle(child.data.no, child.data.uuid)
            })
        }
        // lift special handling
        if (curSensorType === Utils.SENSOR_TYPE.LIFT) {
            if (child?.data?.type === Utils.SENSOR_TYPE.SHELF && child?.data?.shelfType === Utils.SHELF_TYPE.LIFT) {
                sensorListAll.push({
                    value: child.data.liftNo + '',
                    label: renderTitle(child.data.liftNo + '', child.data.uuid)
                })
            }
        }
    });
    return sensorListAll;
@@ -87,20 +129,25 @@
    const [filterSensorList, setFilterSensorList] = React.useState([]);
    const [curSensorLabel, setCurSensorLabel] = React.useState(null);
    // first select
    React.useEffect(() => {
        if (!Utils.getMapContainer()) { return; }
    const resetSearch = () => {
        let sensorListAll = getAllSensorList(curSensorType);
        setSensorList(sensorListAll);
        setFilterSensorList(sensorListAll);
        setCurSensorLabel(null);
    }, [curSensorType])
    }
    // second select
    // first select and switch floor
    React.useEffect(() => {
        if (!Utils.getMapContainer()) { return }
        setTimeout(() => {
            resetSearch();
        }, 200)
    }, [curSensorType, props.curFloor])
    // second select condition
    React.useEffect(() => {
        if (!Utils.getMapContainer()) { return; }
        if ((curSensorLabel !== null || curSensorLabel != undefined)
            && sensorList && sensorList.length > 0) {
        if (!Utils.isNullOfUndefined(curSensorLabel) && sensorList && sensorList.length > 0) {
            setFilterSensorList(sensorList.filter(item => item.value.includes(curSensorLabel)));
        }
    }, [curSensorLabel])
@@ -120,7 +167,7 @@
                // avoid model modify which will clear spriteBySettings
                setTimeout(() => {
                    setSpriteBySettings(selectSensor);
                }, 300)
                }, 200)
                break;
            case ModelEnum.SETTINGS_MODEL:
                setSpriteBySettings(selectSensor);