Hi!
I must admit that I am not sure if I have understood correctly your question...
So, you are saying that when you do a search with your domain name, you see Google presenting you all URLs from your site. That is normal, because Google is offering you exactly what you were looking for with that search: pages your site domain name. That means that Google presents you also pages from others sites than your, but which have your domain name present in their content.
In the case of your competitor, Google present a different kind of Search Result Page. In this version www.emergencycity.com appears as first and with six sitelinks. This is also normal and usually it is a good health signal, because it means that Google present it as an online entity and with a better organized snippet (home page + the 6 pages it considers are the most used thanks to its own knowledge base).
After that snippet, you see all sites that have your competitor's domain name in their content.
And now it comes the part that I did not understand:
However when you do site:www.------.com All of these site are indexed in Google.
May I ask you what kind of query did you use? I mean... www.------.com is not a logical query, is it?
Finally, with a very fast view on Open Site Explorer, your site and emergencycity.com seem almost identical, but - even if your site has a better Home Page Page Authority and a bunch of unique domain names linking than emergencycity.com, the DA (Domain Authority) of your competitors is higher, because it owns backlinks also for some of its internal pages. Personally I would suggest you to not limit the linking to your site only to the homepage, but also to other pages in order to have a better DA, a better link equity distribution and offering Googlebot more entrances for crawling your site.