Как получить сумму всех тарифов - PullRequest
0 голосов
/ 27 октября 2018

Я использую Laravel 5.7 & VueJs 2.5.* ...

Я хочу получить сумму всех тарифов в моем TotalFares. Я играл, но безуспешно ...

Вот мой Fares <Input>:

<tr v-for="(ticketInvoiceItem, key) in form.ticketInvoiceItems" :key="key">
  <td>
    <input v-model.number="ticketInvoiceItem.fares" type="number" size="10" name="fares" class="table-control form-control" :class="{ 'is-invalid': form.errors.has('fares') }">
    <has-error :form="form" field="fares"></has-error>
  </td>
</tr>

Вот мой TotalFares <input>:

<tfoot class="tfoot">
  <tr>
    <td class="table-amount">

      <input :value="getFareTotal()" type="text" name="ticket_invoice_fares_total" class="form-control" :class="{ 'is-invalid': form.errors.has('ticket_invoice_fares_total') }">

    </td>
  </tr>
</tfoot>

Мой data() в VueJs:

data() {
  return {
    ticketInvoices: {},
    vendors: null,
    form: new Form({
      id: "",
      vendor_id: "",
      ticket_invoice_no: "",
      ticket_invoice_date: "",
      ticket_invoice_fares_total: "",

      ticketInvoiceItems: [{
        id: "",
        ticket_invoice_id: "",
        passenger_name: "",
        fares: 0,
      }]
    })
  }
},

Я пытался получить FaresTotal что-то вроде этого, но не получилось:

getFareTotal() {
  let calFareTotal =
    parseInt(this.form.ticketInvoiceItems[key].fares) +
    parseInt(this.form.ticketInvoice.ticket_invoice_fares_total);

  this.form.ticketInvoice.ticket_invoice_fares_total = calFareTotal;

  return calFareTotal;
},

1 Ответ

0 голосов
/ 27 октября 2018
getFareTotal() {
  let sum = 0
  this.form.ticketInvoiceItems.forEach(i=> sum+=i.fares);
  console.log(sum)
}

ticketInvoiceItems - это коллекция. Таким образом, вы должны повторить об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...