Верно: в Шанхае.
Бабушка права лишь отчасти. Она права в том, что уменьшительное Вика от Виктор действительно существовало, оно до сих пор зафиксировано в словарях русских личных имен (см., например, «Словарь русских личных имен» Н. А. Петровского) – так же как и Витя от Виталий (см. фиксацию в том же словаре). Однако в современном русском языке Витя – основная уменьшительно-ласкательная форма от Виктор. Это норма, зафиксированная словарями.