решил таким образом, при изменении любого из инпутов вызываю метод что выше, из общего числа 80 вычитаю сумму значений всех инпутов минус значение текущего инпута, если остаток больше или равно 40(обьем авто) то беру его, иначе беру остаток вычитания.
prepareTripLimits() {
let availableAmount = !!this.orderForm.order
? this.orderForm.order.amount - (this.orderForm.order.planned - this.currentPlanSavedAmount)
: 0,
vehicleRoominess = parseInt(this.orderForm.vehicle.roominess),
capacity = 0
for (let i = 0; i < this.form.trips.length; i++) {
if (this.form.trips[i].status > TRIP_STATUS_LOADING) {
this.form.trips[i].limit = this.form.trips[i].plan_amount
} else {
capacity = availableAmount - ((this.unsavedPlanAmount + this.currentPlanAmount) - this.form.trips[i].plan_amount)
this.form.trips[i].limit = capacity >= vehicleRoominess ? vehicleRoominess : capacity
}
}
},