You should go with moto g5 plus because this device capture good photos in not only daylight but also in low light as well. If you apply manual setting in camera it captures really good photos in low light.
From the design perspective both the phones look good Xiaomi looks almost similar to other metal body phones but The addition of a 2.5D curved glass on the fascia and chamfered edges on the side make the new phone seem much more premium in terms of look and feel. We also appreciate the white bezels on our gold unit
On the other hand, Moto G5 Plus is very different in terms of design the back is totally different from any other smartphone in the market right now but the from panel is a bit weird as it has big bezels and looks very plain
Moto G5 Plus is better option to buy. As it has good performance,strong battery backup, better cameras than Samsung Galaxy J5/J7 Prime . Moreover, it runs on latest Android Nougat and Motorola phones always get future OS updates way before than Samsung phones.
Overall considering performance and features , Lenovo Z2 Plus seems best option in my opinion. I am using this phone from past 2 months. However , my friend has recently purchased Moto G5 Plus and its cameras are better than my Z2 Plus. I am not worried about cameras much coz I like powerful performance phones for gaming. Moreover, G5 Plus has sound issues. It has low loudspeaker sound output. Xiaomi is good phone in its own ways and extra features like IR Blaster.
I am using Moto G5 Plus and it has better cameras and performance than my friend's Nokia 6. Though on paper Nokia 6 has better camera specs but when it comes to real life performance my G5 Plus captures better quality pictures. Both has good battery backup and display. Anyways looks wise Nokia 6 is more attractive.