watch监听之保险产品如何根据填写生效日期动态的产品的保险期间?

Posted ky-thompson23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了watch监听之保险产品如何根据填写生效日期动态的产品的保险期间?相关的知识,希望对你有一定的参考价值。

所要的需求是这样的:要根据你选择的生效日期,来动态的显示保险期间的时间

技术图片

 废话不多说,直接上代码:(核心是用watch监听,监听生效日期的变化并进行相关的操作

validate: function(newvalue) {
      if (this.productId * 1 === 13) {
        // 当天
        let nowtime = new Date(newvalue)
        let year = nowtime.getFullYear() + ‘年‘
        let month = nowtime.getMonth() + 1 + ‘月‘
        let day = nowtime.getDate() + ‘日‘
        let date = year + month + day
        // 7天后
        let mins = nowtime.getTime() + 604800000
        let months = new Date(mins).getMonth() + 1
        let days = new Date(mins).getDate()
        let maxs =
          new Date(mins).getFullYear() +
          ‘-‘ +
          (months < 10 ? ‘0‘ + months : months) +
          ‘-‘ +
          (days < 10 ? ‘0‘ + days : days)
        let lasttime = new Date(maxs)
        let yearlast = lasttime.getFullYear() + ‘年‘
        let monthlast = lasttime.getMonth() + 1 + ‘月‘
        let daylast = lasttime.getDate() + ‘日‘
        let datelast = yearlast + monthlast + daylast
        this.date = date
        this.datelast = datelast
        console.log(newvalue, nowtime, lasttime, date, datelast, ‘mike‘)
        console.log(this.date, this.datelast, ‘kobe‘)
        this.policytermList = [
          {
            name: `${this.date}0时起至${this.datelast}24时止,共7天`,
            value: ‘term_1‘
          }
        ]
      }
    }

先获取当天的时间并转化成“年月日”的格式:

技术图片

 再获取七天后的时间并转化成“年月日”的格式:

技术图片

 转化日期的时候要把日期转化成毫秒getTime()之后再进行换算

最后根据获取的前后时间再赋值给保险期间的字段就行了:

技术图片

 最后结果就是这样的:

技术图片

 

以上是关于watch监听之保险产品如何根据填写生效日期动态的产品的保险期间?的主要内容,如果未能解决你的问题,请参考以下文章

vue watch 不生效的解决方法

深度监听(vue中watch的deep)

vue3watch不生效

vue循环中添加路由跳转点击第一次不生效

vue-watch监听动态表单的数据

保险未起保是投保成功了吗?