Flagellated bacteria propel themselves by rotating flexible flagella driven by independent motors. Depending on the rotation direction of the motors and the handedness of the helical filaments, the flagella either pull or push the cell body. Motivated by experimental observations of Magnetococcus marinus, we develop an elastohydrodynamic model to study the locomotion of a bi-flagellated bacterium with one puller flagellum and one pusher flagellum. In this model, the boundary integral technique and Kirchhoff rod model are employed respectively to calculate the hydrodynamic forces on the swimmer and model the elastic deformations of the flagella. Our numerical results demonstrate that the model bacterium travels along a double helical trajectory, which is consistent with the experimental observations. Varying the stiffness, orientations or positions of the flagella significantly changes the swimming characteristics. Notably, when either the applied torque is higher than a critical value or the flagellum stiffness is lower than a critical stiffness, the pusher flagellum exhibits overwhirling motion, resulting in a more complicated swimming style and a lower swimming speed. For a moderate flagellum stiffness, the swimming speed is insensitive to the rest configuration orientation over a wide range of orientation angles as the flagella deform to maintain alignment with the swimming direction.