That's an odd one:
https://www.dfrobot.com/product-832.htmlWithout an XBee module plugged in, and with nothing on the extra sensor interface connector (which breaks out the SPI pins from the ISP header), it should be 100% Arduino Leonardo compatible. Try double-clicking its reset button twice to force bootloader mode. It should then appear as a serial port for 8 seconds, giving just enough time to upload a sketch to it that doesn't break USB Serial support. Clone bootloaders may give you less time.
N.B. Arduino IDE 2.x can be problematic and may not react fast enough to grab the new serial port before it goes away again - use the classic v1.8x IDE, and in Preferences, turn on verbose output during upload. When you see the message that it is searching for the upload port (a line reading PORTS with a list of COM ports in brackets after it), double click reset, and the IDE should detect the bootloader port and use it, even if a different port is nominally selected in the IDE.
If it *NEVER* appears as a COM port, either its got a hardware problem (but check you are using a known good host port and USB cable), or it may simply not have the Arduino Leonardo serial bootloader installed. As ATmega32U4 chips are shipped from the factory with a DFU bootloader installed, (and your board has a pulldown on PE2/HWB), you may be able to reprogram it with
Atmel FLIP. Assuming you have the v1.8x IDE installed, you'll find the Leonardo Caterina bootloader hex file in %ProgramFiles(x86)%\Arduino\hardware\arduino\avr\bootloaders\caterina
If you are using OSX or Linux or need more help for FLIP, see
https://support.arduino.cc/hc/en-us/articles/4408887452434-Flash-USB-to-serial-firmware-in-DFU-mode but ignore the firmware location as the Uno/Mega serial bridge firmware is useless to you - you need the Leonardo Caterina bootloader firmware.
Worst case you may need to use ISP programming to flash it with the Caterina bootloader. If you've got another 5V AVR Arduino, there is no need to buy an USBasp (though its certainly useful to have one) as you can run the ArduinoISP sketch on the good Arduino to use it as a programmer for the one with a messed-up bootloader. See:
https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/