Place a rimmed baking sheet on center rack of oven; preheat to 220°C.
Toss potatoes, artichokes, 3 tbsp oil, ½ tsp salt, and ¼ tsp pepper in a large bowl. Arrange in an even layer on preheated sheet and roast, tossing once halfway through, until nicely browned, about 18 minutes.
Toss green beans, olives, 1 tbsp oil, and ¼ tsp salt in same bowl. Season fish on both sides with ½ tsp salt and ¼ tsp pepper, then coat with remaining 1 tbsp oil.
Remove baking sheet from oven and push potatoes and artichokes to one side, taking up about a third of pan. Place fish on another third, then bean mixture on remaining third. Roast until fish is cooked through, about 8 minutes.
Meanwhile, whisk mayonnaise, lemon zest, lemon juice, and remaining ¼ tsp salt and ½ tsp pepper in a small bowl.
Flake halibut into pieces and transfer to a platter. Serve with roasted vegetables and sauce alongside. Top with basil.