vue 单价校验 8位数 只允许输入数字 和一个小数点 计算金额

业务逻辑在table里面 , 可以校验到每一行的单价的

html如下 
          <el-table-column
            align="center"
            prop="address"
            label="单价"
            width="100"
          >
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.unitPrice"
                placeholder="请输入"
                style="width: 80px"
                maxlength="8"
                @input="
                  (e) => {
                    totalCostsUnitPrice(e, scope.$index);
                  }
                "
              ></el-input>
            </template>
          </el-table-column>
 js如下

 

/* 单价校验 + 计算金额*/
    totalCostsUnitPrice(e, ind) {
      let Tom = [];
      if (e.length > 6) e = e.slice(0, 8);
      let Blo = 0;
      for (let index = 0; index < e.length; index++) {
        if (e[index] == ".") Blo++;
        if (e[0] != ".") {
          let R = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "."];
          if (R.includes(e[index])) {
            if (e[index] == "." && Blo <= 1) {
              Tom.push(e[index]);
            } else {
              if (e[index] != ".") {
                Tom.push(e[index]);
              }
            }
          }
        }
      }
      console.log(ind);
      console.log(this.expenditures.expenseDetailedParams);
      this.expenditures.expenseDetailedParams[ind].unitPrice = Tom.join("");
      //计算金额
      const { unitPrice, quantity } =
        this.expenditures.expenseDetailedParams[ind];
      if (unitPrice && quantity) {
        this.expenditures.expenseDetailedParams[ind].expenseAmount = (
          Number(unitPrice) * Number(quantity)
        ).toFixed(2);
      } else {
        this.expenditures.expenseDetailedParams[ind].expenseAmount = 0;
      }
      this.totalCosts();
    },

只有学会分享,技能才会有进步(*^▽^*)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值