<template>
	<view class="">
		<view id="store-order">
		    <view class="border-box">
		        <view class="order-item no-mar" v-if="initInfo && initInfo.pick_self == 1">
		            <view class="title mx-1px-bottom">
		                配送方式
		            </view>
		            <view class="ways">
		                <view class="item">
		                    <radio-group class="radio-group" @change="radioChange">
		                        <label class="radio">
		                            <radio value="0" color="#EA4448" checked="true" ></radio>快递到家
		                        </label>
								<label class="radio">
									<radio value="1" color="#EA4448" ></radio>门店自提
								</label>
		                    </radio-group>
		                </view>
		            </view>
		        </view> 
		        <view class="order-item mx-1px-top" v-if="valueR == 0">
		            <view class="title mx-1px-bottom">
		                 收货信息
		             </view>
		            <view class="address info" @tap="selectAddress">
		
		          
		
		                <view v-if="form && form.address && form.address.mobile">
		                    <view class="user">
		                        <i class="iconfont icon-yonghu1"></i>
		                        <view class="name-box">
		                            <text class="name">{{form.address.accept_name}}</text>
		                            <text class="telephone">{{form.address.mobile}}</text>
		                        </view>
		                    </view>
		                    <view class="address">
		                        <i class="iconfont icon-weizhi"></i>
		                        <text>{{form.address.address_name}} {{form.address.address}}</text>
		                    </view>
		                </view>
						<view class="user"  v-else>
						    <i class="iconfont icon-juxing"></i>
						    <view class="name-box">
						        <text class="add">添加收货地址</text>
						    </view>
						</view>
		
		
		                <!--<view class="name" wx:if="{{form.address}}">-->
		                <!--<text>{{form.address.accept_name}}</text>-->
		                <!--<text>{{form.address.mobile}}</text>-->
		                <!--</view>-->
		                <!--<view wx:if="{{form.address}}">-->
		                <!--{{form.address.address}}-->
		                <!--</view>-->
		            </view>
		        </view>
		        <view class="order-item mx-1px-top" v-if="valueR == 1">
		            <!-- <view class="title mx-1px-bottom">
		                 收货信息
		             </view>-->
		            <view class="address info" @tap="selectStore">
		
		                <view class="user" v-if="self_shop == ''">
		                    <i class="iconfont icon-juxing"></i>
		                    <view class="name-box">
		                        <text class="add">请选择自提门店</text>
		                    </view>
		                </view>
		
		                <view v-else>
		                    <view class="address">
		                        <i class="iconfont icon-weizhi"></i>
		                        <text>{{self_shop.name}}</text>
		                    </view>
		                </view>
		
		
		                <!--<view class="name" wx:if="{{form.address}}">-->
		                <!--<text>{{form.address.accept_name}}</text>-->
		                <!--<text>{{form.address.mobile}}</text>-->
		                <!--</view>-->
		                <!--<view wx:if="{{form.address}}">-->
		                <!--{{form.address.address}}-->
		                <!--</view>-->
		            </view>
		        </view>
		        <view class="order-item">
		            <view class="title mx-1px-bottom">
		                商品清单
		            </view>
		            <view class="goods info mx-1px-bottom" v-for="(item, index) in block.order.items" :key="index"  v-if="block.order.items.length == 1">
		                <view class="goods-item">
		                    <view class="item-left">
		                        <image :src="item.item_meta.image"></image>
		                    </view>
		                    <view class="item-right">
		                        <view class="goods-name item">
		                            <view class="name">
		                                {{item.item_name}}
		                            </view>
		                            <view>
		                                {{item.quantity}}件
		                            </view>
		                        </view>
		                        <view class="goods-money item">
		                            <view>
		                                {{item.item_meta.specs_text}}
		                            </view>
		                            <view>
		                                ￥{{(item.total / 100)}}
		                            </view>
		                        </view>
		                    </view>
		                </view>
		            </view>
		            <view class="info mx-1px-bottom all-goods" v-if="block.order.items.length > 1" @tap="jumpGoods">
		                <view class="good-box">
		                    <view class="good-img" v-for="(item, index) in block.order.items" :key="index"  wx:for-index="index" v-if="index < 4">
		                        <image :src="item.item_meta.image" alt></image>
		                    </view>
		                </view>
		                <div class="num">
		                    共{{block.order.count}}件
		                </div>
		            </view>
		
		            <view class="total">
		                {{block.order.count}}件商品，合计￥{{(block.order.total/100)}}
		            </view>
		        </view>
		
		        <view class="order-item">
		            <view class="title__point info" @tap="showDiscounts">
		                <text>促销活动</text>
		                <!--<view class="no-dis"  wx:if="{{!block.discounts || block.discounts.length == 0}}">
		                    您暂无可用优惠
		                </view>-->
		                <view v-if="available.currentDiscount.id" class="coupon-label">
		                    {{available.currentDiscount.label}}  ￥{{currentItem.discountAdjustment / 100}}
		                </view>
		                <view class="discounts-item" :style="'background: ' + config.mainColor" v-else>
		                    <text v-if="available.discounts || available.discounts.length !== 0">{{available.discounts.length || 0}}个可用活动</text>
		                </view>
		            </view>
		
		        </view>
		
		        <view class="order-item">
		            <view class="coupon info" @tap="select">
		                <view>优惠券</view>
		                <view class="coupon-item">
		                    <view v-if="available.currentCoupon.id" class="coupon-label">
		                        {{available.currentCoupon.discount.label}}  ￥{{currentItem.couponAdjustment / 100}}
		                    </view>
		                    <view class="coupon-num" :style="'background: ' + config.mainColor" v-else>
		                        {{available.coupons.length || 0}}个优惠可用
		                    </view>
		                </view>
		
		            </view>
		        </view>
		
		        <view class="order-item" v-if="(available.coupons && available.coupons.length) || (available.discounts && available.discounts.length)">
		            <view class="info best">
		                <view>推荐组合</view>
		                <view class="text">
		                    <block v-if="bestDiscount">
		                        使用推荐组合省￥{{currentItem.adjustmentTotal_yuan}}
		                    </block>
		                </view>
		                <switch :checked="bestDiscount" @change="bestSwitch" color="#FB5054"></switch>
		            </view>
		        </view>
		
		        <view class="order-item">
		            <view class="mx-1px-bottom title__point" v-if="newBlock.orderPoint.pointCanUse && newBlock.orderPoint.pointCanUse > 0">
		                <view>积分抵扣</view>
		                <view>
		                    <!--<switch checked />-->
		                    <switch @change="usePoint"></switch>
		                </view>
		            </view>
		            <view class="info title__point" v-if="!newBlock.orderPoint.pointCanUse || newBlock.orderPoint.pointCanUse <= 0">
		                <text>积分抵扣</text>
		
		                <view class="no-dis" v-if="newBlock.orderPoint.length === 0">
		                    此商品不支持积分
		                </view>
		                <view class="no-dis" v-else>
		                    您暂无可用积分
		                </view>
		            </view>
		            <view class="point info" v-else>
		                <view class="input-box mx-1px-bottom">
		                    <view style="overflow: hidden">
		                        <view class="input__text">共有{{newBlock.orderPoint.userPoint}}积分， 可使用积分{{newBlock.orderPoint.pointCanUse || 0}}  抵扣￥{{-pointAmount || 0}}</view>
		                        <!--<input placeholder="可使用积分{{block.orderPoint.pointCanUse || 0}}" type="number" bindinput="modifyPoint" @change="saveForm" value="{{form.point !== 0 ? form.point : ''}}"/>-->
		                    </view>
		                    <!--<view class="use-all" bindtap="usePoint">
		                        全部使用
		                    </view>-->
		                    <!--<view class="offset">
		
		                    </view>-->
		                </view>
		
		            </view>
		        </view>
		
		        <view class="order-item" v-if="block.invoice_status == 1">
		
		            <view class="invoice info" @tap="addInvoice">
		                <view>
		                    发票信息
		                </view>
		                <view class="invoice__item">
		                    <view v-if="form.invoice.name">
		                        {{form.invoice.name}}
		                    </view>
		                    <view v-else>
		                        不开发票
		                    </view>
		
		                </view>
		            </view>
		        </view>
		
		        <view class="order-item">
		            <view class="title mx-1px-bottom">
		                备注
		            </view>
		            <view class="remarks info">
		                <view>
		                    <input @input="inputNote" type="text" placeholder="选填：填写您的附加信息"></input>
		                </view>
		
		            </view>
		        </view>
		
		        <view class="order-info">
		            <view class="info-item">
		                <view class="item-left">
		                    商品件数
		                </view>
		                <view class="item-right">
		                    {{block.order.count}}件
		                </view>
		            </view>
		            <view class="info-item">
		                <view class="item-left">
		                    金额合计
		                </view>
		                <view class="item-right">
		                    ￥ {{block.order.total / 100}}
		                </view>
		            </view>
		            <view class="info-item">
		                <view class="item-left">
		                    积分抵扣
		                </view>
		                <view class="item-right">
		                   <!-- ￥{{discounts!=undefined?discounts.point_yuan:0}} -->
						   ￥{{discounts ? discounts.point_yuan:0}}
		                </view>
		            </view>
		            <view class="info-item">
		                <view class="item-left">
		                    优惠抵扣 ：
		                </view>
		                <view class="item-right">
		                    ￥{{discounts ? discounts.total_yuan:0}}
		                </view>
		            </view>
		            <view class="info-item">
		                <view class="item-left">
		                    运费
		                </view>
		                <view class="item-right">
		                    -￥{{newBlock.order.payable_freight}}
		                </view>
		            </view>

		            <!--<view class="info-item">-->
		                <!--<view class="item-left money-title">-->
		                    <!--实际支付金额-->
		                <!--</view>-->
		                <!--<view class="item-right money">-->
		                    <!--￥{{(paymentMoneys.total + block.order.payable_freight) / 100}}-->
		                <!--</view>-->
		            <!--</view>-->
		        </view>
		    </view>
		    <view class="sbumit-order mx-1px-top">
		        <view class="back" :style="'color: ' + config.mainColor">
		            {{newBlock.order.count}}件商品, 合计 ￥{{pay_amount_yuan}}
		        </view>
		        <button class="sbumit" :style="'background: ' + config.mainColor" @tap="submitOrder" :loading="loading">
		            提交订单
		        </button>
		    </view>
		</view>
		
		<view class="coupon-maks" :class="show ? 'cur' : ''">
		    <view class="coupon-box">
		        <radio-group @change="change">
		            <view class="coupon-item" v-for="(item, index) in available.coupons" :key="index">
		                <radio :id="'index-' + index" :value="String(index)" :checked="item.checked"></radio>
		                <label :for="'index-' + index">
		                    <view class="coupon">
		                        <view class="coupon-left" :style="'background: ' + config.mainColor">
		                            <view class="text-wrap">
		                                <view class="text-box">
		                                    <view class="text">
		                                        <text class="money" v-if="item.discount.action_type.type == 'cash'">￥</text>
		                                        <span>{{ item.discount.action_type.value }}</span>
		
		                                        <text class="money" v-if="item.discount.action_type.type == 'discount'">折</text>
		                                    </view>
		                                    <text class="label text">{{ item.discount.label }}</text>
		                                </view>
		
		                            </view>
		                            <view class="dot-wrap">
		                                <view class="dot-item">
		
		                                </view>
		                                <view class="dot-item">
		
		                                </view>
		                                <view class="dot-item">
		
		                                </view>
		                                <view class="dot-item">
		
		                                </view>
		                                <view class="dot-item">
		
		                                </view>
		                                <view class="dot-item">
		
		                                </view>
		                            </view>
		                        </view>
		                        <view class="coupon-right">
		                            <view class="top">
		                                <span class="type">
		                                    <span v-if="item.discount.channel == 'ec'">商城</span>
		                                    <span v-else>门店</span>
		                                </span>
		                                <text class="info">{{item.discount.title}}</text>
		                            </view>
		                            <view class="bottom">
		                                <view class="bottom-use">
		                                    <view class="tiem-box">
		                                        <text>{{item.discount.use_start_time}}至{{item.discount.use_end_time}}</text>
		                                    </view>
		                                </view>
		                            </view>
		
		                            <view class="select" :class=" index == couponCheckIndex ? 'activity' : ''">
		
		                            </view>
		                        </view>
		                    </view>
		
		                </label>
		            </view>
		
		        </radio-group>
		    </view>
		    <view class="button-box">
		        <button class="sure" type="primary" :style="'background: ' + config.mainColor" @tap="sure">确定</button>
		        <button type="default" @tap="cancel">取消</button>
		    </view>
		</view>
		
		<!--选择促销部分-->
		<view class="maks" :class="show_discounts ? 'cur' : ''" @tap="showDiscounts">
		
		</view>
		
		<view class="select-coupon-discounts" :class="show_discounts ? 'cur' : ''">
		    <view class="select-discounts">
		        <view class="select-discounts-top">
		            <view class="title">
		                促销活动
		                <view class="close" @tap="showDiscounts">
		                    X
		                </view>
		            </view>
		        </view>
		
		        <view class="select-discounts-bottom">
		            <view class="activity info">
		                <view v-if="!block.discounts || block.discounts.length == 0">
		                    您暂无可用优惠
		                </view>
		                <block v-else>
		                    <radio-group @change="changeDiscounts">
		                        <view class="input-box mx-1px-bottom" v-for="(item, index) in available.discounts" :key="index" >
		                            <view>
		                                <label class="radio">
		                                    <text>{{item.label}}</text>
		                                    <radio color="red" :value="String(index)" :checked="discountsCheckIndex == index"></radio>
		                                </label>
		                            </view>
		                        </view>
		                        <view class="input-box mx-1px-bottom">
		                            <view>
		                                <label class="radio">
		                                    <text>不使用优惠</text>
		                                    <radio value="-1" :checked="discountsCheckIndex == -1"></radio>
		                                </label>
		                            </view>
		                        </view>
		                    </radio-group>
		                </block>
		
		            </view>
		        </view>
		
		    </view>
		</view>
	</view>

<!--
<view class="select-coupon-box {{show_discounts ? 'cur' : ''}}">

</view>-->

</template>
<script>
import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';

export default {
  data() {
    return {
	  currentItem:{},
      loading: false,
      show: false,
      block: {
        order: {
          items: []
        },
        orderPoint: {
          pointAmount: 0,
          pointCanUse: 0
        },
        otherCoupon: {}
      },
        pointAmount: 0,
      newBlock: {},
      newForm: {},
      discountStatus: {},
      bestDiscount: false,
      // 是否为最优折扣
      discountsCheckIndex: -1,
      // 选择的id
      couponCheckIndex: -1,
      available: {
        coupons: [],
        //可选择的优惠券
        currentCoupon: '',
        //当前选择的优惠券
        discounts: [],
        // 可使用的促销折扣
        currentDiscount: '',
        // 当前选择促销折扣
        currentPoint: '',
        pointStatus: false
      },
      pay_amount: '',
      extra: {
        point: {}
      },
      form: {
        order_no: '',
        address: {},
        coupon: {},
        invoice: {},
        discount: {},
        point: 0,
        note: '',
        formStates: {},
        isDisabled: false //是否禁用优惠折扣按钮

      },
      useList: [[{
        name: '不使用',
        value: 0
      }, {
        name: '使用',
        value: 1
      }]],
      formStates: {
        discountsCheckIndex: -1,
        noDiscountsCheckList: -1,
        pointStatus: false
      },
      temporary: {
        coupons: [],
        //可选择的优惠券
        coupon: {},
        //当前选择的优惠券
        discounts: [],
        // 可使用的促销折扣
        discount: {} // 当前选择促销折扣

      },
      paymentMoneys: {
        discounts: {},
        total: 0
      },
	  reduce_items_id:'',
      check: null,
      is_login: '',
      type: '',
      show_discounts: false,
      task_id: '',
      valueR: 0,
      initInfo: '',
      config: '',
      accountInfo: '',
      self_shop: '',
	  coupon: {},
	  pay_amount_yuan:'',
        discounts: ''
    };
  },

  onShow() {
    var block = this.$cookieStorage.get('local_order');
    var form = this.$cookieStorage.get('order_form');
    let self_shop = this.$cookieStorage.get('selfShop');

    if (block) {
      if (!form || form.order_no !== block.order.order_no) {
        form = Object.assign({}, this.form);
        form.order_no = block.order.order_no;

        if (block.address) {
          form.address = block.address;
        } // Cache.set(cache_keys.order_form, form);


        this.$cookieStorage.set('order_form', form);
      }
    }

    if (self_shop) {
      this.setData({
        self_shop: self_shop
      });
    }

    this.setData({
      block: Object.assign({}, this.block, block),
      form: Object.assign({}, this.form, form)
    }); // let app =getApp();
    // app.isBirthday().then(()=>{
    //     if(this.$cookieStorage.get("birthday_gift")){
    //         var giftData=this.$cookieStorage.get("birthday_gift").data;
    //         new app.ToastPannel().__page.showText(giftData);
    //     }
    // });
  },

  onLoad(e) {
   
	var accountInfo='';
	// #ifdef MP-WEIXIN
	  var accountInfo = wx.getAccountInfoSync(); // 第三方平台配置颜色
	// #endif
	

    var gbConfig = this.$cookieStorage.get('globalConfig') || '';
    this.setData({
      config: gbConfig,
      accountInfo: accountInfo
    });

    if (e.type) {
      this.setData({
        type: e.type
      });
    }

    if (e.task_id) {
      this.setData({
        task_id: e.task_id
      });
    }
	if(e.reduce_items_id){
		this.reduce_items_id = e.reduce_items_id
	}

    var info = this.$cookieStorage.get('init');

    /* if (info && info.pick_self == 1) {
      this.setData({
        valueR: 1
      });
    } */

    this.setData({
      initInfo: info
    });
    this.initData();
  },
  methods: {
    

    //配送方式选择
    radioChange(e) {
      this.setData({
        valueR: e.detail.value
      });
    },

    selectStore() {
      wx.navigateTo({
        url: '/pages/store/selfShop/selfShop'
      });
    },

    showDiscounts() {
      if (!this.available.discounts || this.available.discounts.length == 0) {
        wx.showModal({
          content: '您暂无可用优惠',
          showCancel: false
        });
      } else {
        this.setData({
          show_discounts: !this.show_discounts
        });
      }
    },

    addInvoice() {
      wx.navigateTo({
        url: `/pages/store/invoice/invoice?order_no=${this.block.order.order_no}&url=${getCurrentPages()[getCurrentPages().length - 1].route}`
      });
    },

    selectAddress() {
      wx.navigateTo({
        url: `/pages/address/list/list?order_no=${this.block.order.order_no}&url=${getCurrentPages()[getCurrentPages().length - 1].route}`
      });
    },

    jumpGoods() {
      wx.navigateTo({
        url: '/pages/store/orderGoods/orderGoods?no=' + this.block.order.order_no
      });
    },

    change(e) {
      let value = e.detail.value;
      let couponList = this.available.coupons;
      let item = '';
      couponList.forEach((items, index) => {
        if (index == value) {
          item = items;
        }
      });
      let exclusive = item.discount.exclusive;

      if (exclusive) {
          this.available.discounts = [];
          this.available.currentDiscount = '';
          this.discountsCheckIndex = -1;
        /*this.setData({
          'available.discounts': [],
          'available.currentDiscount': '',
          discountsCheckIndex: -1
        });*/
      }

      this.available.currentCoupon = item;
      this.show = false;
      setTimeout(() => {
          this.calculateOrder();
	  }, 100)
      /*this.setData({
        [`available.currentCoupon`]: item,
        show: false
      }, () => {
        this.calculateOrder();
      });*/
      /*this.setData({
          check: e.detail.value
      })
      var coupons = this.block.coupons
      var item = coupons[e.detail.value]
       var data = this.$cookieStorage.get('order_form')
      let exclusive = item.discount.exclusive
      if (!data) return;
      coupons.forEach((v, key) => v.checked = key == e.detail.value)
        if (Array.isArray(item.adjustments)) {
          item.adjustments.sort((a, b) => {
              return Math.abs(a.amount) < Math.abs(b.amount);
          });
      }
      //                    排他
      if (exclusive) {
          data.formStates.discountsCheckIndex = -1;
          data.isDisabled = true;
      } else {
          data.isDisabled = false;
      }
      data.otherCoupon = item;
      data.coupons = coupons;
      // Cache.set(cache_keys.order_form, data);
      this.setData({
          block: Object.assign({}, this.block, data)
      })
       this.$cookieStorage.set('order_form', data)
       this.paymentMoney()*/
    },

    sure() {
      var block = this.block.otherCoupon;
      this.setData({
        /* [`block.coupon`]: block,
         [`form.coupon`]:block,
         [`temporary.coupon`]: block,*/
        show: false
      });
     
    },

    select() {
      if (this.available.coupons.length) {
        this.setData({
          show: true
        });
      } else {
        wx.showModal({
          content: '暂无可使用的优惠券',
          showCancel: false
        });
      }
    },

    cancel() {
      var coupons = this.available.coupons;
      coupons.forEach(v => v.checked = false);
      this.couponCheckIndex = -1;
      this.available.coupons = coupons;
      this.available.currentCoupon = '';
      this.show = false;

      setTimeout(() => {
          this.calculateOrder();
	  }, 100)
     /* this.setData({
        couponCheckIndex: -1,
        'available.coupons': coupons,
        'available.currentCoupon': '',
        show: false
      }, () => {
        this.calculateOrder();
      });*/
    },

    inputNote(e) {
        this.form.note = e.detail.value
     /* this.setData({
        'form.note': e.detail.value
      });*/
    },

    initData() {
      var block = this.$cookieStorage.get('local_order');
      var form = this.$cookieStorage.get('order_form');
      var is_login = this.$cookieStorage.get('user_token');
      this.setData({
        is_login: is_login,
        loading: false
      });
	  
      if (block) {
        if (!form || form.order_no !== block.order.order_no) {
          form = Object.assign({}, this.form);
		  
          form.order_no = block.order.order_no;

          if (block.address) {
            form.address = block.address;
          } // Cache.set(cache_keys.order_form, form);

          this.$cookieStorage.set('order_form', form);
		  
        } else {}
		
        /*if (form.formStates) {
            this.setData({
                [`formStates.discountsCheckIndex`]: form.formStates.discountsCheckIndex,
                [`formStates.pointStatus`]: form.formStates.pointStatus
            })
        }
        this.setData({
            [`form.isDisabled`]: form.isDisabled,
            [`temporary.coupon`]: form.coupon
        })*/
        // 自动选择最优优惠活动

        /*if (JSON.stringify(form.discount) == '{}' && block.best_discount_id) {
            if (Array.isArray(block.discounts)) {
                block.discounts.forEach((item, index) => {
                    if (item.id == block.best_discount_id) {
                        var data = {
                            detail: {
                                value: index
                            }
                        }
                        this.changeDiscounts(data);
                    }
                })
            }
        }*/
        // 自动选择最优的优惠券

        /*if (JSON.stringify(form.coupon) == '{}' && block.best_coupon_id) {
            if (Array.isArray(block.coupons)) {
                block.coupons.forEach((item, index) => {
                    if (item.id == block.best_coupon_id) {
                        this.setData({
                           'block.otherCoupon': item
                        }, () => {
                            this.sure();
                        });
                        this.setData({
                            check: index
                        })
                    }
                })
            }
        }*/

        /*this.setData({
            [`temporary.coupons`]: block.coupons,
            [`temporary.discounts`]: block.discounts
        })*/


        this.queryOrderExtra();
		
        this.setData({
          block: Object.assign({}, this.block, block),
          form: Object.assign({}, this.form, form),
          newBlock: Object.assign({}, this.block, block),
          newForm: Object.assign({}, this.form, form)
        });

        if (block.discountGroup && block.discountGroup.length) {
          let currentItem = block.discountGroup[0]; // 第一个为最优促销

          if (JSON.stringify(form.discount) == '{}' && currentItem.discount) {
            if (Array.isArray(block.discounts)) {
              block.discounts.forEach((item, index) => {
                if (item.id == currentItem.discount) {
                    this.available.currentDiscount = item;
                 /* this.setData({
                    'available.currentDiscount': item
                  });*/
                }
              });
              this.available.discounts = block.discounts
              /*this.setData({
                'available.discounts': block.discounts
              });*/
            }
          }

          if (JSON.stringify(form.coupon) == '{}' && currentItem.coupon) {
            if (Array.isArray(block.coupons)) {
              block.coupons.forEach((item, index) => {
                if (item.id == currentItem.coupon) {
                    this.available.currentCoupon = item
                 /* this.setData({
                    'available.currentCoupon': item
                  });*/
                }
              });
              this.available.coupons = block.coupons
              /*this.setData({
                'available.coupons': block.coupons
              });*/
            }
          }
        } // this.paymentMoney();


        setTimeout(() => {
          this.calculateOrder();
        }, 300); // t.next({block, form});
      } else {// this.addHistory();
          // t.to.router.forward({name: 'user-order-online', params: {status: 1}});
        }
    },

    queryOrderExtra() {
      var oauth = this.is_login;
      this.$http.get({
        api: `api/shopping/order/extraInfo`,
        header: {
          Authorization: oauth
        }
      }).then(res => {
        res = res.data;
        var data = res.data;

        if (res.status) {
          var extra = {
            point: data.userPoint,
            limit: data.pointLimit,
            factor: data.pointToMoney
          };
          this.setData({
            extra: extra
          }); // dispatch(UserOrderExtra, extra);
        }
      });
    },

    changeDiscounts(e) {
      let value = e.detail.value;
      let discountsList = this.available.discounts;
      let item = '';

      if (value == -1) {
        item == '';
      } else {
        discountsList.forEach((items, index) => {
          if (index == value) {
            item = items;
          }
        });
      }

      let exclusive = item.exclusive;

      if (exclusive) {
          this.available.coupons = [];
          this.available.currentCoupon = '';
          this.couponCheckIndex = -1;
       /* this.setData({
          'available.coupons': [],
          'available.currentCoupon': '',
          couponCheckIndex: -1
        });*/
      }

      this.available.currentDiscount = item;
      setTimeout(() => {
          this.calculateOrder();
	  }, 100)
     /* this.setData({
        [`available.currentDiscount`]: item
      }, () => {
        this.calculateOrder();
      });*/
    },

    submitOrder() {
      if (this.loading) return;
      var info = this.initInfo;
      this.setData({
        loading: true
      });
      var data = {
        order_no: this.form.order_no,
        // 订单编号
        note: this.form.note // 用户留言

      };
      var itemId = this.block.order.items[0].item_meta.detail_id;

      if (info && info.pick_self == 1 && this.valueR != "shop" || info && info.pick_self == 0) {
          if (this.form.address && this.form.address.id) {
            data.address_id = this.form.address.id;
          } else {
            this.setData({
              loading: false
            });
            wx.showModal({
              content: '请填写收货地址',
              success: function (res) {
                if (res.confirm) {}
              }
            });
            return;
          }
      }

      data.pick_self = this.valueR;

      if (this.available.currentCoupon && this.available.currentCoupon.id) {
        data.coupon_id = this.available.currentCoupon.id;
      }

      if (this.form.invoice && this.form.invoice.name) {
        data.invoice = this.form.invoice;
      }

      if (this.available.currentDiscount && this.available.currentDiscount.id) {
        data.discount_id = this.available.currentDiscount.id;
      }

      if (this.available.pointStatus) {
        data.point = this.available.currentPoint;
      }

      if (this.task_id) {
        data.task_id = this.task_id;
      }

      var agent_code = this.$cookieStorage.get('agent_code');

      if (agent_code) {
        data.agent_code = agent_code;
        data.agent_goods_id = this.$cookieStorage.get('agent_goods_id');

        if (this.$cookieStorage.get('agent_suit_id')) {
          data.agent_suit_id = this.$cookieStorage.get('agent_suit_id');
        }
      }

      if (this.$cookieStorage.get('shop_id')) {
        data.shop_id = this.$cookieStorage.get('shop_id');
      }

      if (this.$cookieStorage.get('agent_code_time')) {
        data.agent_code_time = this.$cookieStorage.get('agent_code_time');
      }

      if (this.$cookieStorage.get('clerk_id')) {
        data.clerk_id = this.$cookieStorage.get('clerk_id');
      }

      if (this.$cookieStorage.get('shop_id_time')) {
        data.shop_id_time = this.$cookieStorage.get('shop_id_time');
      }

      if (this.$cookieStorage.get('selfShop')) {
        let storelocator_id = this.$cookieStorage.get('selfShop').id;
        data.storelocator_id = storelocator_id;
      }

      var group_info = this.$cookieStorage.get('group_info');

      if (this.type == 'groupon' && group_info) {
        data.multi_groupon_id = group_info.multi_groupon_id;
        data.multi_groupon_item_id = group_info.multi_groupon_item_id;
      }

      if (this.$cookieStorage.get('openGId')) {
        data.wechat_group_id = this.$cookieStorage.get('openGId');
      }

      this.confirmOrder(data);
    },

    confirmOrder(data) {

      var that = this;
      var oauth = this.is_login;
      this.$http.post({
        api: 'api/shopping/order/confirm?reduce_items_id='+this.reduce_items_id,
        data: data,
        header: {
          Authorization: oauth
        }
      }).then(res => {
        res = res.data;
        if (res.status) {
          this.$cookieStorage.clear('local_order');
          this.$cookieStorage.clear('selfShop'); // this.$emit('confirm', true, res.data);

          that.confirm(true, res.data);
        } else {
          that.confirm(false, res.message);
        }
      }).catch(rej => {
        wx.showToast({
          title: '提交订单失败，请重试！'
        });
      });
    },

    confirm(success, data) {
      if (success) {
        this.setData({
          loading: false
        }); // this.$refs.button.finish();

        var registration = this.block.registration_id;
        var pay_status = data.order.pay_status;

        if (registration || pay_status == 1) {
          // this.addHistory();
          // this.$router.forward({name: 'user-order-online', params: {status: 0}});
          //                        this.$router.forward({name: 'user-order-online', params: {status: 0}, query: {registration}});
          wx.redirectTo({
            url: `/pages/order/index/index?status=0`,
            success: function () {}
          });
        } else {
          wx.redirectTo({
            url: `/pages/store/payment/payment?order_no=${data.order.order_no}`,
            success: function () {} // this.$router.forward({name: 'store-payment', params: {order_no: data.order.order_no}});

          });
        }
      } else {
        this.setData({
          loading: false
        });
        wx.showModal({
          content: data || '提交订单失败',
          showCancel: false
        });
      }
    },

    // 计算订单优惠以及积分等信息
    calculateOrder() {
      let dis = {
        order: 0,
        discounts: 0,
        // 促销抵扣的钱
        coupon: 0,
        // 优惠券抵扣的钱
        point: 0,
        // 积分抵扣的钱
        pointCanUse: 0 // 可用多少积分

      };
      let amount = this.newBlock.order.total; // 订单应付金额

      var fixedTotal = this.newBlock.order.total;
      let pay_amount = amount;
      let block = this.newBlock;
      let pointCanotUseAmount =block.orderPoint ? block.orderPoint.pointCanotUseAmount : 0;
      let currentDiscount = this.available.currentDiscount;
      let currentDiscountID = currentDiscount ? currentDiscount.id : 0;
      let currentCoupon = this.available.currentCoupon;
      let currentCouponId = currentCoupon ? currentCoupon.id : 0;
      let couponList = this.available.coupons;
      let discountsList = this.available.discounts;
      let currentItem = this.currentItemF(currentDiscountID, currentCouponId); // 拿到当前的组合方式

      let pointStatus = this.available.pointStatus; // 如果有选择促销

      if (currentDiscount) {
        // 促销能减掉的钱
        let discount = -currentDiscount.adjustmentTotal; // 是否排优惠券

        let exclusive = currentDiscount.exclusive;
        /* console.log(pay_amount); */

        if (discount <= pay_amount) {
          /* console.log(1); */
          dis.discounts = -currentItem.discountAdjustment;
          pay_amount = pay_amount + currentItem.discountAdjustment; // 值为负数，所以得加

          discountsList.forEach((item, index) => {
            if (item.id == currentDiscountID) {
              this.setData({
                discountsCheckIndex: index
              });
            }
          }); // 如果排他,将选择的优惠券取消

          if (exclusive) {
              this.available.coupons = [];
              this.available.currentCoupon = '';
              this.couponCheckIndex = -1;
           /* this.setData({
              'available.coupons': [],
              'available.currentCoupon': '',
              couponCheckIndex: -1
            });*/
            currentCoupon = '';
            currentCouponId = 0;
            couponList = [];
            currentItem = this.currentItemF(currentDiscountID, 0); // 拿到当前的组合方式

            pay_amount = amount;
            dis.discounts = -currentItem.discountAdjustment;
            pay_amount = pay_amount + currentItem.discountAdjustment; // 值为负数，所以得加
          } else {
             // 开始筛选优惠券

            let couponArr = [];

            if (block.coupons && block.coupons.length) {
              block.coupons.forEach(item => {
                if (item.orderAmountLimit == 0 || item.orderAmountLimit <= pay_amount) {
                  item.checked = false;
                  couponArr.push(item);
                }
              });
              this.available.coupons = couponArr;
              /*this.setData({
                'available.coupons': couponArr
              });*/
              couponList = couponArr;
            }
          }
        } else {
          wx.showModal({
            content: '超过最大折扣',
            showCancel: false
          });
          this.available.currentDiscount = '';
         /* this.setData({
            'available.currentDiscount': ''
          });*/
        }

        
      } else {
        // 不用促销将数据还原
        dis.discounts = 0;
        this.available.coupons = block.coupons;
        this.discountsCheckIndex = -1;
       /* this.setData({
          'available.coupons': block.coupons,
          discountsCheckIndex: -1
        });*/
      } // 如果有选择优惠券


      if (currentCoupon) {
        // 优惠券能减掉的钱
        let discount = -currentCoupon.adjustmentTotal; // 是否排促销

        let exclusive = currentCoupon.discount.exclusive;

        if (discount <= pay_amount) {
         
          dis.coupon = -currentItem.couponAdjustment;
          pay_amount = pay_amount + currentItem.couponAdjustment; // 值为负数，所以得加

          couponList.forEach((item, index) => {
            if (item.id == currentCouponId) {
              item.checked = true;
              this.setData({
                couponCheckIndex: index
              });
            } else {
              item.checked = false;
            }
          });
         
          this.available.coupons = couponList
          /*this.setData({
            'available.coupons': couponList
          });*/

          if (exclusive) {
              this.available.discounts = [];
              this.available.currentDiscount = '';
              this.discountsCheckIndex = -1;
           /* this.setData({
              'available.discounts': [],
              'available.currentDiscount': '',
              discountsCheckIndex: -1
            });*/
            currentDiscount = '';
            discountsList = [];
            currentDiscountID = 0;
            currentItem = this.currentItemF(0, currentCouponId); // 拿到当前的组合方式

            pay_amount = amount;
            dis.coupon = -currentItem.couponAdjustment;
            pay_amount = pay_amount + currentItem.couponAdjustment; // 值为负数，所以得加
          } else {
            // 筛选促销
            if (!currentDiscount) {
              let discountArr = [];

              if (block.discounts && block.discounts.length) {
                block.discounts.forEach(item => {
                  if (item.orderAmountLimit == 0 || item.orderAmountLimit <= pay_amount) {
                    discountArr.push(item);
                  }
                });
                this.available.discounts = discountArr
               /* this.setData({
                  'available.discounts': discountArr
                });*/
                discountsList = discountArr;
              }
            }
          }
        } else {
         
          wx.showModal({
            content: '超过最大折扣',
            showCancel: false
          });
          this.available.currentCoupon = '';

         /* this.setData({
            'available.currentCoupon': ''
          });*/
        }

        
      } else {
        dis.coupon = 0;
        this.available.discounts = block.discounts
       /* this.setData({
          'available.discounts': block.discounts
        });*/
      }

      this.newBlock.orderPoint.pointCanUse = Number(Math.min((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2));
      this.newBlock.orderPoint.pointAmount = Number(Math.max(-((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2));

      setTimeout(() => {
          this.available.currentPoint = this.newBlock.orderPoint.pointCanUse;
          this.pointAmount = (this.newBlock.orderPoint.pointAmount / 100).toFixed(2)
	  }, 100)
     /* this.setData({
        [`newBlock.orderPoint.pointCanUse`]: Number(Math.min((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
        [`newBlock.orderPoint.pointAmount`]: Number(Math.max(-((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2))
      }, () => {
        this.setData({
          [`available.currentPoint`]: this.newBlock.orderPoint.pointCanUse,
          pointAmount: (this.newBlock.orderPoint.pointAmount / 100).toFixed(2)
        });
      });*/
      /*dis.pointCanUse = Number(Math.min((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney,this.block.orderPoint.userPoint).toFixed(2));
      dis.point = Number(Math.min((pay_amount - pointCanotUseAmount) * this.block.orderPoint.pointLimit, this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney).toFixed(2))*/
      // 如果使用了积分

      if (pointStatus) {
   
        let factor = this.extra.factor;
        let discount = this.available.currentPoint * factor;
  
        if (discount <= pay_amount) {
          dis.point = -discount;
          pay_amount -= discount;

          if (pay_amount < 0) {
            pay_amount = 0;

            if (dis.point != 0) {
              pay_amount = -(fixedTotal + dis.point);
            }
          }
        } else {
            this.available.currentPoint = 0;

         /* this.setData({
            [`available.currentPoint`]: 0
          });*/
        }
      } else {
          this.available.currentPoint = 0;
       /* this.setData({
          [`available.currentPoint`]: 0
        });*/
      }

      let bestDiscount = false;
      let bestDiscountItem = block.discountGroup[0];

      if (bestDiscountItem && currentDiscountID == bestDiscountItem.discount && currentCouponId == bestDiscountItem.coupon) {
        bestDiscount = true;
      }

      dis.coupon_yuan = -(dis.coupon / 100).toFixed(2);
      dis.discounts_yuan = -(dis.discounts / 100).toFixed(2);
      dis.total_yuan = -((dis.coupon + dis.discounts) / 100).toFixed(2);
      dis.point_yuan = (dis.point / 100).toFixed(2);
      currentItem.adjustmentTotal_yuan = (currentItem.adjustmentTotal / 100).toFixed(2);
     
	  
  //     this.setData({
  //       discounts: dis,
  //       pay_amount: pay_amount,
  //       pay_amount_yuan: ((pay_amount + block.order.payable_freight) / 100).toFixed(2),
  //       currentItem: currentItem,
  //       bestDiscount: bestDiscount
  //     });
	 // 
	 
	 this.discounts=dis;
	 this.pay_amount=pay_amount;
	 this.pay_amount_yuan=((pay_amount + block.order.payable_freight) / 100).toFixed(2);
	 this.currentItem=currentItem;
	 this.bestDiscount=bestDiscount;
	  
    },

    // 当前选择的组合方式
    currentItemF(currentDiscountID, currentCouponId) {
     
      let block = this.newBlock;
      let currentItem = {
        adjustmentTotal: 0,
        // 总共减掉多少钱
        coupon: 0,
        // 优惠券id
        couponAdjustment: 0,
        // 优惠券减掉多少钱
        discount: 0,
        // 促销id
        discountAdjustment: 0 // 促销减掉多少钱

      };

      if (block.discountGroup && block.discountGroup.length) {
        block.discountGroup.forEach(item => {
          if (item.discount == currentDiscountID && item.coupon == currentCouponId) {
            currentItem = item;
          }
        });
      }

      return currentItem;
    },

    // 使用了最优组合
    bestSwitch(e) {
      var block = this.$cookieStorage.get('local_order');
      var form = this.$cookieStorage.get('order_form');

      if (e.detail.value) {
        if (block.discountGroup && block.discountGroup.length) {
          let currentItem = block.discountGroup[0]; // 第一个为最优促销

          if (JSON.stringify(form.discount) == '{}' && currentItem.discount) {
            if (Array.isArray(block.discounts)) {
              block.discounts.forEach((item, index) => {
                if (item.id == currentItem.discount) {
                  this.setData({
                    'available.currentDiscount': item
                  });
                }
              });
              this.setData({
                'available.discounts': block.discounts
              });
            }
          }

          if (JSON.stringify(form.coupon) == '{}' && currentItem.coupon) {
            if (Array.isArray(block.coupons)) {
              block.coupons.forEach((item, index) => {
                if (item.id == currentItem.coupon) {
                  this.setData({
                    'available.currentCoupon': item
                  });
                }
              });
              this.setData({
                'available.coupons': block.coupons
              });
            }
          }
        }
      } else {
        this.setData({
          'available.currentCoupon': '',
          'available.currentDiscount': '',
          discountsCheckIndex: -1,
          couponCheckIndex: -1
        });
      }

      setTimeout(() => {
        this.calculateOrder();
      }, 300);
    },

    paymentMoney() {
      return;
      var dis = {
        order: 0,
        point: 0,
        coupon: 0
      };
      var total = this.block.order.total;
      var fixedTotal = this.block.order.total;
      var block = this.$cookieStorage.get('local_order');
      var pointCanotUseAmount = block.orderPoint.pointCanotUseAmount || 0; // var pointToMoney = block.orderPoint.pointToMoney;
      //                订单折扣

      if (this.block.discounts && Array.isArray(this.block.discounts)) {
        let discounts = this.block.discounts;
        let check = this.formStates.discountsCheckIndex;
      

        if (check == -1) {
          //                        当选择不使用优惠的情况
          dis.order = 0;
          this.setData({
            [`form.discount`]: {},
            [`form.formStates.discountsCheckIndex`]: check
          });

          if (this.temporary.coupons.length) {
            this.setData({
              [`block.coupons`]: this.temporary.coupons
            });
          } //                            操作积分
          // this.block.orderPoint.pointCanUse = Math.min(total * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint);
          // this.block.orderPoint.pointAmount = Math.max(-(total * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney));
          //
          // this.form.coupon = this.temporary.coupon;     // 将选择的优惠券还原

			this.block.orderPoint.pointCanUse = Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2));
                this.block.orderPoint.pointAmount = Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2));
                this.form.coupon = this.temporary.coupon;

                setTimeout(() => {
                    this.available.currentPoint = this.newBlock.orderPoint.pointCanUse
                }, 100)
          /*this.setData({
            [`block.orderPoint.pointCanUse`]: Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
            [`block.orderPoint.pointAmount`]: Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2)),
            [`form.coupon`]: this.temporary.coupon
          }, () => {
            this.setData({
              [`available.currentPoint`]: this.newBlock.orderPoint.pointCanUse
            });
          });*/
          this.$cookieStorage.set('order_form', this.form);
        } else {
          //                        当使用了优惠的情况
          let discount = -discounts[check].adjustmentTotal;
          
          let exclusive = discounts[check].exclusive; //是否排他(优惠券);

          if (discount <= total) {
            if (exclusive) {
              this.setData({
                [`block.coupon`]: {},
                [`block.coupons`]: [],
                [`form.coupon`]: {}
              });
            } else {
              this.setData({
                [`block.coupons`]: this.temporary.coupons,
                [`form.coupon`]: this.temporary.coupon
              });
            }

            dis.order = discounts[check].adjustmentTotal;
            this.setData({
              [`form.discount`]: discounts[check]
            });
            total -= discount; // 操作积分

			  this.block.orderPoint.pointCanUse = Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
                  this.block.orderPoint.pointAmount = Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2)),
                  this.form.formStates.discountsCheckIndex = check;

			  this.setTimeout(() => {
                  this.available.currentPoint = this.newBlock.orderPoint.pointCanUse
			  }, 100)
            /*this.setData({
              [`block.orderPoint.pointCanUse`]: Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
              [`block.orderPoint.pointAmount`]: Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2)),
              [`form.formStates.discountsCheckIndex`]: check
            }, () => {
              this.setData({
                [`available.currentPoint`]: this.newBlock.orderPoint.pointCanUse
              });
            });*/ // Cache.set(cache_keys.order_form, this.form);

            this.$cookieStorage.set('order_form', this.form);
          } else {
            // this.$Alert('超过最大优惠折扣', () => {
            //     check = -1;
            // });
            wx.showModal({
              content: '超过最大折扣',
              showCancel: false,
              success: function (res) {
                if (res.confirm) check = -1;
              }
            });
            this.setData({
              [`form.discount`]: {}
            });
            this.$cookieStorage.set('order_form', this.form);
          }
        }
      } //                优惠券折扣


      if (this.block.coupon && this.block.coupon.adjustments && Array.isArray(this.block.coupon.adjustments)) {
        let adjustments = this.block.coupon.adjustments;
        let exclusive = this.form.coupon.discount.exclusive;
        let discount = -adjustments[0].amount;

        if (discount <= total) {
          if (exclusive) {
            // 是否排他
          

            if (dis.order != 0) {
              // debugger
              total -= dis.order;
             
            }

            dis.order = 0;
            this.setData({
              'form.isDisabled': true,
              'form.discount': {},
              'block.discounts': [],
              'formStates.discountsCheckIndex': -1,
              'form.formStates.discountsCheckIndex': -1
            });
          } else {
            this.setData({
              [`block.discounts`]: this.temporary.discounts,
              [`form.isDisabled`]: false
            }); // console.log(32424242);
          }

          dis.coupon = adjustments[0].amount;
          total -= discount; //                        操作积分

         
          this.block.orderPoint.pointCanUse = Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
			  this.block.orderPoint.pointAmount = Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2))
			setTimeout(() => {
                this.available.currentPoint = this.newBlock.orderPoint.pointCanUse
			}, 100)
          /*this.setData({
            [`block.orderPoint.pointCanUse`]: Number(Math.min((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit / this.block.orderPoint.pointToMoney, this.block.orderPoint.userPoint).toFixed(2)),
            [`block.orderPoint.pointAmount`]: Number(Math.max(-((total - pointCanotUseAmount) * this.block.orderPoint.pointLimit), -(this.block.orderPoint.userPoint * this.block.orderPoint.pointToMoney)).toFixed(2))
          }, () => {
            this.setData({
              [`available.currentPoint`]: this.newBlock.orderPoint.pointCanUse
            });
          });*/
        } else {
          wx.showModal({
            content: '超过最大折扣',
            showCancel: false
          });
          this.setData({
            [`form.coupon`]: {},
            [`temporary.coupon`]: {},
            [`form.isDisabled`]: false
          });
          this.$cookieStorage.set('order_form', this.form);
        }
      } //              积分折扣


      if (this.form.point) {
        let factor = this.extra.factor;
        let discount = this.form.point * factor;

        if (discount <= total) {
          dis.point = -discount;
          total -= discount;

          if (total < 0) {
            total = 0;

            if (dis.point != 0) {
              dis.total = -(fixedTotal + dis.point);
            }
          } else {
            //                除积分外的优惠
            dis.total = dis.order + dis.coupon;
          }

          this.$cookieStorage.set('order_form', this.form);
        } else {
          this.setData({
            [`form.point`]: 0
          });
          this.$cookieStorage.set('order_form', this.form);
        }
      } // 除积分外的优惠


      dis.total = dis.order + dis.coupon;

      if (this.form.point > this.block.orderPoint.pointCanUse && this.block.orderPoint.pointCanUse > 0) {
        this.setData({
          [`form.point`]: this.block.orderPoint.pointCanUse
        });
        dis.point = Number((this.block.orderPoint.pointCanUse * 10).toFixed(2));
      }

      this.setData({
        [`paymentMoneys.discounts`]: dis,
        [`paymentMoneys.total`]: total
      });
    },

    usePoint(e) {
      /*if (e.detail.value) {
          this.setData({
              [`formStates.pointStatus`]: true,
              [`form.point`]: this.block.orderPoint.pointCanUse
          })
          this.paymentMoney()
      } else {
          this.setData({
              [`formStates.pointStatus`]: false,
              [`form.point`]: 0
          })
          this.paymentMoney()
      }*/
      if (e.detail.value) {
        this.setData({
          [`available.pointStatus`]: true,
          [`available.currentPoint`]: this.newBlock.orderPoint.pointCanUse
        });
      } else {
        this.setData({
          [`available.pointStatus`]: false,
          [`available.currentPoint`]: 0
        });
      }

      setTimeout(() => {
        this.calculateOrder();
      }, 300);
    },

    modifyPoint(e) {
      var min = 0;
      var max = this.extra.point;
      var val = e.detail.value;
      var use = Math.floor(this.block.order.total * this.extra.limit / this.extra.factor);
      var sun = Math.floor((this.block.order.total + this.paymentMoneys.discounts.total) / this.extra.factor);
      if (!isFinite(use)) use = max;
      if (!isFinite(sun)) sun = max;
      max = Math.min(max, use, sun);
      val = parseInt(val);

      if (isNaN(val)) {
        val = '';
      } else if (val < min) {
        val = min;
      } else if (val > max) {
        val = max;
      }

      e.detail.value = val;
      this.form.point = val
     /* this.setData({
        [`form.point`]: val
      });*/
      this.paymentMoney();
    },

    saveForm(e) {
      this.$cookieStorage.set('order_form', this.form);
    },

    back() {
      wx.navigateBack();
    },

    setData: function (obj) {
      let that = this;
      let keys = [];
      let val, data;
      Object.keys(obj).forEach(function (key) {
        keys = key.split('.');
        val = obj[key];
        data = that.$data;
        keys.forEach(function (key2, index) {
          if (index + 1 == keys.length) {
            that.$set(data, key2, val);
          } else {
            if (!data[key2]) {
              that.$set(data, key2, {});
            }
          }

          data = data[key2];
        });
      });
    }
  },
  computed: {},
  watch: {}
};
</script>
<style rel="stylesheet/less" lang="less">
    @import "order";
</style>
