discount.js 1.94 KB
// pack-checkout/components/discount.js
import util from '../../utils/util'
import App from '../../utils/api'
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    checkout:Object,
  },

  /**
   * 组件的初始数据
   */
  data: {
    checkedNum:0,
    display:false,
    checkoutObj:null,
  },
  observers: {
    'checkout': function(checkout) {
      this.discountFormat(checkout)
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    show(){
      this.setData({
        display:true,
      })
    },
    hide(){
      this.triggerEvent('event',{act:'reflush'});
      setTimeout(()=>{
        this.setData({
          display:false,
        })
      },0)
    },
    discountFormat(checkout){
      if(!checkout) return;
      let num=0;
      let disObj={}
      let subsidy_price=0;
      checkout.discount.forEach(q=>{
        q.disabled=false
        if(q.checked){
          num++;
          disObj[q.owner+'-'+q.receive_condition]=true
          subsidy_price+=q.price/1
        }
      })
      checkout.discount.forEach(q=>{
        if(!q.checked && disObj[q.owner+'-'+q.receive_condition]){
          q.disabled=true
        }
      })
      checkout.subsidy_price=subsidy_price
      this.setData({
        checkedNum:num,
        checkoutObj:checkout
      })
      console.log('discountFormat',checkout)
    },
    discountChecked(e) {
      console.log('discountChecked', e)
      let index = util.attr(e, 'index')
      let checkout = this.data.checkout
      if(checkout.discount[index].disabled) return false;
      checkout.discount[index].checked = !checkout.discount[index].checked
      this.discountFormat(checkout)
      App.Customer.ChangeDiscountCombination({
        id:checkout.id,
        rel_id:checkout.discount[index].rel_id,
        owner:checkout.discount[index].owner,
        status:checkout.discount[index].checked?1:0,
      }).then(()=>{
        //this.triggerEvent('event',{act:'reflush'});
      })
    },
  }
})