Hundreds of flights cancelled as Shanghai tackles COVID-19 outbreak