| | |
| | | ) |
| | | }) |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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]) |
| | |
| | | // avoid model modify which will clear spriteBySettings |
| | | setTimeout(() => { |
| | | setSpriteBySettings(selectSensor); |
| | | }, 300) |
| | | }, 200) |
| | | break; |
| | | case ModelEnum.SETTINGS_MODEL: |
| | | setSpriteBySettings(selectSensor); |