I have

<div  range-slider show-values="true"  min="refinement.children[0].name" max="refinement.children[refinement.children.length-1].name" model-min="vm.selPubYearRange.min" model-max="vm.selPubYearRange.max" ></div>

refinement.children[0].name is considered a string not a number and hence

scope.modelMin = parseFloat((((proposal * range) / 100) + (scope.min)).toFixed(scope.decimalPlaces);
is concatinating the values "parseFloat((((proposal * range) / 100)" and "(scope.min)" instead of adding them

so changed it scope.min to int before adding.