The only one who thought they were winning was Sharon, who had badly misled the Israeli cabinet about the whole operation and ended up being essentially sacked before its end. The Israelis has suffered 3000+ casulaties and had not taken Beruit itself, which comes to about 50 a day or a platoon day. It was unsutainable, and they actually saw senior officers refuse outright to assult the city center since they knew they were going to get cut to ribbons.
It was done by Reagan to save Israeli face. Only the major leadership of the PLO evacuated, the cadres remained.
Israel had taken heavy losses, but it was winning. The Syrians had been decisively defeated, and the PLO had been pushed back to Beirut where it was under siege. Also, Israeli casualties in the war from the start in 1982 to the pullback to the security zone in 1985 were 657 dead, 3,887 wounded, and 4 missing. A hard price to pay, but not utterly devastating, and it must be remembered that PLO and Syrian losses were far heavier.
With regard to senior officers refusing an assault, I believe you're referring to Colonel Eli Geva, who commanded the 211th Armored Brigade, and refused to attack both because he believed his own forces would suffer heavy casualties but also because he wanted to spare civilian lives. However, despite the fact that casualties would likely have been heavy, there's no doubt the IDF would have won in the end. The IDF had already faced that kind of heavy urban combat in that war during the battle to take the Ain al-Hilweh camp.
Reagan didn't intervene to save Israeli face. The IDF was, more than anything, annoyed, and as stated before, there were severe tensions and cases where fire was almost exchanged.