美文网首页
10-订单确认页商品数据

10-订单确认页商品数据

作者: 谷子多 | 来源:发表于2018-03-13 19:30 被阅读0次

一、商品部分

首先需要循环购物车数组,选中状态的数据全都push到一个数组,然后渲染这个数组即可。

//getters
// 统计所有被选中即将结算的商品
    checkedGoods (state) {
      let checkedGoods = []
      state.carPanelData.forEach((goods) => {
        if (goods.checked) {
          checkedGoods.push(goods)
        }
      })
      return checkedGoods
}
======
computed: {
        // 获取待结算数据
       checkedGoods(){
           return this.$store.getters.checkedGoods
       },
        // 商品全额
        checkedPrice(){
            return this.$store.getters.checkedPrice
      },
      //运费
      freight (){
          let freight = 8
          if(this.checkedPrice > 88){
              freight = 0
          }
          return freight
      }
}

二、 收货地址和发票信息

  1. 首先把默认的绑定
state: {
    carPanelData: [], // 新增了count属性计算数量,和checked属性判断是否选中
    maxOff: false, // 弹窗开关
    carShow: false, // 购物车开关
    carTimer: null, // 购物车定时器
    receiveInfo : [{ // 已存在的地址
      'name': '王某某',
      'phone': '13811111111',
      'areaCode': '010',
      'landLine': '64627856',
      'provinceId': 110000,
      'province': '北京市',
      'cityId': 110100,
      'city': '市辖区',
      'countyId': 110106,
      'county': '海淀区',
      'add': '上地十街辉煌国际西6号楼319室',
      'default': true
    }
==========
<li class="js-choose-address " 
   :class="{'selected-address-item':receiveIndex==index}"
   v-for="recevie,index in receiveInfo"
   @click="chooseReceive(index)"
>
  1. 添加新地址弹窗组件
<address-pop v-show="popShow"></address-pop>
import addressPop from '@/components/address-pop'
  export default {
    data() {
      return {
        receiveIndex : 0, // 地址切换
        popShow : true
      }
    },
    components: {
        addressPop
    }
  1. 子组件关闭按钮
    此类都是更改父级变量,子类改父类,都用触发父级的自定义事件。
<address-pop @close='closePop' v-show="popShow"></address-pop>
   methods : {
         closePop(){
             this.popShow = false
         }
    }
=====
//子级
methods: {
        chlosePop(){
            this.$emit('close')
        }
}
<span class="dialog-close" @click="chlosePop">x</span>
  1. 发票选择
    如果是个人,不显示抬头,如果是公司,显示抬头


    屏幕快照 2018-03-13 下午7.14.11.png

    思路 : 选中的样式,用class绑定即可,切换显示直接传布尔值

// 个人
 <label @click="checkedInvoice(true)">
// 公司
 <label  @click="checkedInvoice(false)">
   <input type="radio" class="hide">
   <span class="blue-radio"  
      :class="{'blue-radio-on':!invoice.personal}">
     <a></a>
   </span> 单位
</label>
 data() {
      return
        // 发票显示
        invoice : {
            personal : true, // 默认个人
            name : '' // 发票抬头,默认为空
        }
      }
    }
// 切换公司发票信息
         checkedInvoice(boole){
             this.invoice.personal = boole
         }
  1. 将发票填写的信息绑定到input的name中。
    思路 : 使用v-model双向绑定,name就是抬头,所以直接绑定这个name即可。v-model="invoice.name"
<div class="module-form-item-wrapper no-icon small-item">
  // 如果没有输入就显示
  <i v-show="!invoice.name">请填写公司发票抬头</i>
  <input type="text" class="js-verify" v-model="invoice.name">
</div>

相关文章

  • 10-订单确认页商品数据

    一、商品部分 首先需要循环购物车数组,选中状态的数据全都push到一个数组,然后渲染这个数组即可。 二、 收货地址...

  • A/B测试-基于电商场景的案例实战(干货,值得收藏)

    一、背景介绍 用户在电商平台通常会经历商品搜索-商品列表页-商品详情页-购物车-订单确认页-支付页等整套流程。如果...

  • 从数据中窥探用户运营

    一、了解你的用户 以电商运营为例来窥探用户浏览路径: 外部渠道——首页——商品列表页——商品详情页——订单确认页—...

  • Objective-C中的深浅拷贝

    项目中遇到把购物车中勾选的商品数据传递到订单确认页面时,我直接将整个购物车商品的数据模型传递过去,然后再在订单确认...

  • 无标题文章

    多彩app 刘立峰 订单确认页&逻辑 支付&预约类订单确认页&逻辑 优惠券页&逻辑 自提时间页&逻辑 选择门店页&...

  • 01 订单系统整体流程

    《1》订单系统业务流程 【1】确认订单信息 当用户对购物车中的选中的一批商品确认下单的时候,会先出来一个确认订单的...

  • app调用支付宝信用评估过程中的思考

    先看一下这个流程 在确认订单页中打开支付宝支付页面后image.png 从确认订单页到支付宝的信用评估页image...

  • 微服务时代Spring Boot企业微信点餐系统之项目设计

    数据库设计 商品表 类目表 订单表 订单详情表

  • 2018-10-21 问题汇总

    图面和交互类问题 1、活动详情页,商家模块对齐 2、提交订单页,确认支付 3、提交订单页,光标获取到电话、联系人字...

  • 阻止事件冒泡

    最近在做一个商城项目,在确认订单页选择地址列表中的某个地址时,跳转回确认订单页,当需要编辑的时候跳转到修改地址页面...

网友评论

      本文标题:10-订单确认页商品数据

      本文链接:https://www.haomeiwen.com/subject/lrcmfftx.html