简体   繁体   English

如何获得所有票价的总和

[英]How To Get The Sum Of All Fares

I'm using Laravel 5.7 & VueJs 2.5.* ... 我正在使用Laravel 5.7VueJs 2.5.* ...

I want to get the sum of all fares in my TotalFares . 我想在TotalFares获取所有票价的总和。 I was playing around but didn't get any success... 我当时在玩耍,但是没有获得成功...

Here is my Fares <Input> : 这是我的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>

Here is my TotalFares <input> : 这是我的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>

My data() in VueJs : 我在VueJs data()

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,
      }]
    })
  }
},

I tried to get FaresTotal something Like this but failed: 我试图让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;
},
getFareTotal() {
  let sum = 0
  this.form.ticketInvoiceItems.forEach(i=> sum+=i.fares);
  console.log(sum)
}

ticketInvoiceItems is a collection. ticketInvoiceItems是一个集合。 So you have to iterate about it. 因此,您必须对此进行迭代。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM