| | |
| | | '': '', |
| | | '': '', |
| | | 'map.sensor.type.shuttle': 'Shuttle', |
| | | 'map.sensor.type.lift': 'Lift', |
| | | 'map.sensor.type.shelf': 'Shelf', |
| | | 'map.sensor.type.agv': 'Agv', |
| | | 'map.sensor.type.point': 'Point', |
| | |
| | | ) |
| | | }) |
| | | break; |
| | | case Utils.SENSOR_TYPE.CONVEYOR: |
| | | options.push({ |
| | | value: value, |
| | | label: |
| | | ( |
| | | <> |
| | | <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.conveyor', defaultMessage: '输送线' })}</span> |
| | | </> |
| | | ) |
| | | }) |
| | | break; |
| | | case Utils.SENSOR_TYPE.SHUTTLE: |
| | | options.push({ |
| | | value: value, |
| | |
| | | ) |
| | | }) |
| | | 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: '无人小车' })}</span> |
| | | <span style={{ fontWeight: 'bold' }} >{intl.formatMessage({ id: 'map.sensor.type.agv', defaultMessage: 'AGV' })}</span> |
| | | </> |
| | | ) |
| | | }) |
| | |
| | | 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; |
| | |
| | | // 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]) |
| | |
| | | SHUTTLE: "SHUTTLE", |
| | | POINT: "POINT", |
| | | AGV: "AGV", |
| | | LIFT: "LIFT", |
| | | }) |
| | | |
| | | export const SENSOR_ZINDEX = Object.freeze({ |
| | |
| | | |
| | | export const findSpriteByUuid = (uuid) => { |
| | | return mapContainer?.children?.find(child => child?.data?.uuid === uuid); |
| | | } |
| | | |
| | | export const sensorTypeSelectOptions = (intl) => { |
| | | let options = []; |
| | | Object.entries(SENSOR_TYPE).forEach(([key, value]) => { |
| | | switch (key) { |
| | | case SENSOR_TYPE.SHELF: |
| | | options.push({ |
| | | value: value, |
| | | label: intl.formatMessage({ id: 'map.sensor.type.shelf', defaultMessage: '货架' }) |
| | | }) |
| | | break; |
| | | case SENSOR_TYPE.SHUTTLE: |
| | | options.push({ |
| | | value: value, |
| | | label: intl.formatMessage({ id: 'map.sensor.type.shuttle', defaultMessage: '穿梭车' }) |
| | | }) |
| | | break; |
| | | case SENSOR_TYPE.AGV: |
| | | options.push({ |
| | | value: value, |
| | | label: intl.formatMessage({ id: 'map.sensor.type.agv', defaultMessage: '无人小车' }) |
| | | }) |
| | | break; |
| | | case SENSOR_TYPE.POINT: |
| | | options.push({ |
| | | value: value, |
| | | label: intl.formatMessage({ id: 'map.sensor.type.point', defaultMessage: '定位点' }) |
| | | }) |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | }) |
| | | return options; |
| | | } |
| | | |
| | | export const fetchMapFloor = async () => { |