appAddressToast.vue 5.85 KB
<template>
    <div class="toast_mask" @touchmove.stop.prevent>
        <div class="pointsToast_box">
            <div class="title">填写配送地址</div>
            <!--地址-->
            <div class="address">
                <div v-if="addressInfo">
                    <div class="userinfo_box">
                        <div class="user_info">
                            <div v-if="addressInfo.name">
                                {{ addressInfo.name }}
                            </div>
                            <div v-if="addressInfo.phone">
                                {{ addressInfo.phone }}
                            </div>
                        </div>
                        <div @click="changeAddress(addressInfo)" class="btn">更换</div>
                    </div>
                    <div v-if="addressInfo.address" class="info">
                        {{ addressInfo.address }}
                    </div>
                </div>
                <div class="tooltips" v-else @click="changeAddress(addressInfo)">
                    您未填写地址,<span class="active">去填写</span>
                </div>
            </div>
            <!--商品-->
            <!-- <div v-if="itemInfo" class="goods_box">
                <img v-if="itemInfo && itemInfo.img" v-lazy="itemInfo.img" />
                <div class="goods_info">
                    <div v-if="itemInfo && itemInfo.title" class="goods_title">
                        {{ itemInfo.title }}
                    </div>
                </div>
            </div> -->
            <!--底部按钮-->
            <div class="footer">
                <div @click="cancel" class="cancel">取消</div>
                <div @click="confirm" class="confirm">确认</div>
            </div>
        </div>
        <img @click="$parent.pointsToast_control=false"  class="pointsMall_close" src="static/img/addressClose.png" alt=""/>
    </div>
</template>

<script>
import { Toast, Indicator } from "mint-ui";
export default {
  name: "pointsToast",
  data () {
    return {
      itemInfo: null,
      addressInfo: null,
      // drawRecordItemInfo: null // 中奖记录单条信息
    };
  },
  props: ["isBuyLimit"],
  created () {

  },
  methods: {
    // 父组件点击兑换调用子组件传值商品商品信息
    getItemInfo (content, orderId) {
      this.itemInfo = content;
      // 获取订单ID
      if (orderId) {
        this.$set(this.itemInfo, "id", orderId)
      }
      // 获取首选地址接口
      this.myFirstAddress(this.itemInfo);
    },
    // app地址信息选中回调
    getAppAddressInfo (content) {
      // 选中赋值给addressInfo
      this.addressInfo = content;
    },
    // 我的首选地址
    /**
     * 我的首选地址
     * * @param {string} uid [用户id]
     */
    myFirstAddress () {
      // 加载中提示
      //            Indicator.open('加载中...');

      // 请求接口
      this.http(
        "/Api/" + this.getApiVersion().index + "/myFirstAddress",
        {
          uid: this.getStore("uid")
        },
        this.myFirstAddressCallback,
        {
          method: "POST"
        }
      );
    },

    /**
     * 我的首选地址信息
     * @param {object} res [服务器返回数据]
     * @param {object} ext [扩展参数]
     */
    myFirstAddressCallback (res, ext) {
      // 加载完成
      //            Indicator.close();

      // 返回处理
      if (res.code == 200) {
        // 解构数据
        let { data: datas } = res;
        this.addressInfo = datas;
        /* 我的首选地址信息 开始 */
      } else if (res.code == 400) {
        // 获取积分商场首页信息失败
        // Toast(res.message);
      } else {
        // 获取积分商场首页信息失败
        // Toast("获取我的首选地址失败");
      }
    },
    /**
     * 取消
     */
    cancel () {
      // 隐藏弹框
      this.$parent.pointsToast_control = false;
    },
    /**
     * 确定
     */
    confirm () {
      // 最新地址信息回传给父组件
      // this.$parent.addressInfo = this.addressInfo;
      // this.addLuckDrawAddress();
      this.$emit("toUpdate", this.addressInfo.id);
      // 隐藏弹框
      this.$parent.pointsToast_control = false;
    },
    //  更改地址跳转原生
    changeAddress (addressInfo) {
      // 进入赛场传值给原生toId
      var result = prompt(
        "wjjshop://selectAddress" + (addressInfo && addressInfo.id ? ("?addressId=" + addressInfo.id) : "")
      );
    },
    // 提交中奖的商品信息
    /**
     * 提交中奖的商品信息
     * * @param {string} addressId [地址id]
     * *@param {string} id [商品id]
     * *@param {string} id_card [身份证id]
     */
    // addLuckDrawAddress () {
    //   // 加载中提示
    //   Indicator.open("加载中...");
    //   // 请求接口
    //   this.http(
    //     "/Api/" + this.getApiVersion().LuckDraw + "/addLuckIntegralAddress",
    //     {
    //       uid: this.getStore("uid"),
    //       addressId: this.addressInfo.id,
    //       id: this.itemInfo.id // 商品ID
    //     },
    //     this.addLuckDrawAddressCallback,
    //     {
    //       method: "POST"
    //       // ext: this.itemInfo
    //     }
    //   );
    // },

    /**
     * 提交中奖的商品信息
     * @param {object} res [服务器返回数据]
     * @param {object} ext [扩展参数]
     */
    // addLuckDrawAddressCallback (res, ext) {
    //   // 加载完成
    //   Indicator.close();
    //   // 返回处理
    //   if (res.code == 200) {
    //     Toast("提交成功等待发货");
    //     this.$emit("toUpdate", this.itemInfo, this.addressInfo);
    //   } else {
    //     // 兑换礼品失败
    //     Toast(res.message);
    //   }
    // }
  }
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style rel="stylesheet/less" lang="less">
@import './appAddressToast';
</style>