Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue Js-反向计算标准_Javascript_Vue.js - Fatal编程技术网

Javascript Vue Js-反向计算标准

Javascript Vue Js-反向计算标准,javascript,vue.js,Javascript,Vue.js,我的情况是,我必须颠倒计算标准,以明确: 我有sub_total字段,它是可编辑的,用户可以更改它的值 首先,将税前金额应用于此小计,然后给我税前总额 第二,vato税适用于(小计和预计)的总和,并给我vato总额 第三,将tx税应用于小计,并给我tx_总计 最后一步是总计,即子总计+预总计+vato总计+tx总计之和 下面是上述步骤的演示代码: let subtotal_with_ewa = Number((this.subtotal_price / 100) * this.unit.rese

我的情况是,我必须颠倒计算标准,以明确:

  • 我有sub_total字段,它是可编辑的,用户可以更改它的值
  • 首先,将税前金额应用于此小计,然后给我税前总额
  • 第二,vato税适用于(小计和预计)的总和,并给我vato总额
  • 第三,将tx税应用于小计,并给我tx_总计
  • 最后一步是总计,即子总计+预总计+vato总计+tx总计之和 下面是上述步骤的演示代码:

    let subtotal_with_ewa = Number((this.subtotal_price / 100) * this.unit.reservation.prices.ewa_parentage) + Number(this.subtotal_price);
                this.total_ewa = parseFloat((this.subtotal_price / 100) * this.unit.reservation.prices.ewa_parentage).toFixed(2)
                this.total_vat = parseFloat((subtotal_with_ewa / 100 ) * this.unit.reservation.prices.vat_parentage).toFixed(2);
                this.total_ttx = parseFloat((this.subtotal_price / 100) * this.unit.reservation.prices.tourism_percentage).toFixed(2);
                this.total_price = parseFloat(subtotal_with_ewa + Number(this.total_vat) + Number(this.total_tourism)).toFixed(2);
                this.unit.reservation.prices.total_price_raw = parseFloat(subtotal_with_ewa + Number(this.total_vat) + Number(this.total_ttx) ).toFixed(2);
                this.unit.reservation.prices.total_price = this.unit.reservation.prices.total_price_raw ;
                this.total_price = this.unit.reservation.prices.total_price ;
                this.unit.reservation.prices.price = this.subtotal_price
    
    它的工作原理与下面的屏幕截图一样完美


    现在的问题是:我该怎么做才能使整个操作相反我的意思是,如果我改变了总值,我必须做什么,我需要重新计算这些值,直到再次得到小计。。。。有什么想法吗?

    您需要使计算属性在依赖关系更改时重新计算,例如:

    subtotal_with_ewa(){
         return Number((this.subtotal_price / 100) * 
         this.unit.reservation.prices.ewa_parentage) + Number(this.subtotal_price);
        }
    

    您可以将getter和setter与计算属性一起使用,也可以将它们与字段上的绑定v-model分开。

    下面的函数应该可以解决这个问题

    函数接受每个税的百分比作为参数,并返回一个包含所有值的json

    函数来自小计(小计、预计、vato、tx){
    施工前安装=小计*pre/100
    常数vatoAmount=(小计+前期)*vato/100
    常量txAmount=小计*tx/100
    常量合计=小计+预装载+vatoAmount+txAmount
    返回{小计、预装载、vatoAmount、txAmount、总计}
    }
    函数fromTotal(总计、前置、vato、tx){
    施工小计=(总计*100)/(100+pre+tx+(1.01*pre*vato))
    小计返回(小计、预计、vato、tx)
    }
    //例如。
    控制台日志(来自小计(100,1,1,1))
    控制台日志(来自总计(103.01,1,1,1))
    
    Pre、Vato和Tx字段不可编辑,对吗?是的,它们是在flyset小计->计算总计、设置总计->计算小计上计算的?@Estradiaz,我这里的问题是(Pre&Tx tax)应用于小计,但是(Vato tax)仅适用于sub_total+pre_total,因此我无法获取tx_total的值