|
|
@@ -34,7 +34,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 可选优惠 -->
|
|
|
- <div class="module-com discount-wrap" v-if="!$util.isEmpty(shopUser) && shopUser.userAsset.member && shopUser.userAsset.getCouponNum">
|
|
|
+ <div class="module-com discount-wrap" v-if="!$util.isEmpty(discountArr)">
|
|
|
<div class="module-tit">可选优惠</div>
|
|
|
<div class="module-det">
|
|
|
<app-coupon-sel ref="couponSel" :price="goodsInfo.price * option.goodsNum" :discountArr="['member', 'coupon']" />
|
|
|
@@ -45,7 +45,7 @@
|
|
|
<!-- <div class="none-name-delivery flex-center">
|
|
|
<checkbox class="ljd-checkbox" @change="anonymityChange"></checkbox>
|
|
|
<span class="none-name-text">匿名派送</span>
|
|
|
- </div> -->
|
|
|
+ </div>-->
|
|
|
|
|
|
<app-trademark />
|
|
|
<!-- 按钮 -->
|
|
|
@@ -77,159 +77,164 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { mapGetters } from 'vuex'
|
|
|
-import AppTabs from '@/components/plugin/tabs'
|
|
|
-import TuiListCell from '@/components/plugin/list-cell'
|
|
|
-import AppDeliveryModule from '@/components/app-delivery'
|
|
|
-import AppTrademark from '@/components/module/app-trademark'
|
|
|
-import AppListModule from '@/components/module/app-order-list'
|
|
|
-import AppCouponSel from '@/components/app-coupon-sel'
|
|
|
-import AlertModule from '@/components/plugin/alert'
|
|
|
-const form = require('@/utils/formValidation.js')
|
|
|
-// api
|
|
|
-import { getShopUser } from '@/utils/auth'
|
|
|
-import { getOrderShop } from '@/utils/config'
|
|
|
-import { createOrder } from '@/api/order'
|
|
|
-export default {
|
|
|
- name: 'order-buy',
|
|
|
- components: {
|
|
|
- AppTabs,
|
|
|
- AppDeliveryModule,
|
|
|
- TuiListCell,
|
|
|
- AppListModule,
|
|
|
- AppCouponSel,
|
|
|
- AppTrademark,
|
|
|
- AlertModule
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- goodsInfo: {},
|
|
|
- tabIndex: 0,
|
|
|
- tabs: [
|
|
|
- {
|
|
|
- name: '配送'
|
|
|
+ import { mapGetters } from 'vuex'
|
|
|
+ import AppTabs from '@/components/plugin/tabs'
|
|
|
+ import TuiListCell from '@/components/plugin/list-cell'
|
|
|
+ import AppDeliveryModule from '@/components/app-delivery'
|
|
|
+ import AppTrademark from '@/components/module/app-trademark'
|
|
|
+ import AppListModule from '@/components/module/app-order-list'
|
|
|
+ import AppCouponSel from '@/components/app-coupon-sel'
|
|
|
+ import AlertModule from '@/components/plugin/alert'
|
|
|
+ const form = require('@/utils/formValidation.js')
|
|
|
+ // api
|
|
|
+ import { getShopUser } from '@/utils/auth'
|
|
|
+ import { getOrderShop } from '@/utils/config'
|
|
|
+ import { createOrder } from '@/api/order'
|
|
|
+ export default {
|
|
|
+ name: 'order-buy',
|
|
|
+ components: {
|
|
|
+ AppTabs,
|
|
|
+ AppDeliveryModule,
|
|
|
+ TuiListCell,
|
|
|
+ AppListModule,
|
|
|
+ AppCouponSel,
|
|
|
+ AppTrademark,
|
|
|
+ AlertModule
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ goodsInfo: {},
|
|
|
+ tabIndex: 0,
|
|
|
+ tabs: [
|
|
|
+ {
|
|
|
+ name: '配送'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '我要自提'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ showAlert: false,
|
|
|
+ // form
|
|
|
+ // 初始form
|
|
|
+ form: {
|
|
|
+ anonymity: '0', // 是否匿名 0不 1要
|
|
|
+ sendDistance: '', // 配送距离,根据腾讯js进行计算
|
|
|
+ goodsId: '', // 【商城下单特有字段】商品id
|
|
|
+ goodsStyleId: '', // 【商城下单特有字段】商品款式id
|
|
|
+ goodsNum: '', // 【商城下单特有字段】商品数量
|
|
|
+ couponId: '0', // 优惠券id,默认0没有使用优惠券
|
|
|
+ receiveLat: '', // 收花人纬度
|
|
|
+ receiveLong: '' // 收花人经度
|
|
|
},
|
|
|
- {
|
|
|
- name: '我要自提'
|
|
|
- }
|
|
|
- ],
|
|
|
- showAlert: false,
|
|
|
- // form
|
|
|
- // 初始form
|
|
|
- form: {
|
|
|
- anonymity: '0', // 是否匿名 0不 1要
|
|
|
- sendDistance: '', // 配送距离,根据腾讯js进行计算
|
|
|
- goodsId: '', // 【商城下单特有字段】商品id
|
|
|
- goodsStyleId: '', // 【商城下单特有字段】商品款式id
|
|
|
- goodsNum: '', // 【商城下单特有字段】商品数量
|
|
|
- couponId: '0', // 优惠券id,默认0没有使用优惠券
|
|
|
- receiveLat: '', // 收花人纬度
|
|
|
- receiveLong: '' // 收花人经度
|
|
|
- },
|
|
|
- // 自提form
|
|
|
- mentionForm: {
|
|
|
- bookMobile: ''
|
|
|
+ // 自提form
|
|
|
+ mentionForm: {
|
|
|
+ bookMobile: ''
|
|
|
+ },
|
|
|
+ discountArr: false
|
|
|
}
|
|
|
- }
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapGetters({ orderShop: 'getOrderShop' }),
|
|
|
- ...mapGetters({ shopUser: 'getShopUser' }),
|
|
|
- // 计算总金额
|
|
|
- totalPrice() {
|
|
|
- let totalPrice = this.goodsInfo.price * this.option.goodsNum
|
|
|
- let discountMember = this.$util.isEmpty(this.shopUser) ? this.shopUser.userAsset.discount * totalPrice : 1 * totalPrice
|
|
|
- discountMember = discountMember / 10
|
|
|
- return discountMember.toFixed(2)
|
|
|
- }
|
|
|
- },
|
|
|
- onLoad(option) {
|
|
|
- // this.init()
|
|
|
- },
|
|
|
- methods: {
|
|
|
- init() {
|
|
|
- let goodsInfo = uni.getStorageSync('buyGoodsDetil')
|
|
|
- // if (this.$util.isEmpty(goodsInfo)) {
|
|
|
- // this.$util.pageTo({
|
|
|
- // url: `/pages/goods/detail`,
|
|
|
- // query: {
|
|
|
- // id: this.option.goodsId
|
|
|
- // }
|
|
|
- // })
|
|
|
- // return false
|
|
|
- // }
|
|
|
- getOrderShop()
|
|
|
- getShopUser()
|
|
|
- goodsInfo.buyNum = this.option.goodsNum
|
|
|
- this.goodsInfo = goodsInfo
|
|
|
- // 初始化上个页面带入的值
|
|
|
- Object.keys(this.form).forEach((i, index) => {
|
|
|
- this.form[i] = this.option[i]
|
|
|
- })
|
|
|
},
|
|
|
- // api
|
|
|
- // 生成订单
|
|
|
- createOrderFn() {
|
|
|
- let addForm = {}
|
|
|
- let form = this.tabIndex == 0 ? this.$refs.appDelivery.form : this.mentionForm
|
|
|
- let region = this.tabIndex == 0 ? this.$refs.appDelivery.region : {}
|
|
|
- if (this.$refs.couponSel) {
|
|
|
- addForm.couponId = this.$refs.couponSel.couponId
|
|
|
+ computed: {
|
|
|
+ ...mapGetters({ orderShop: 'getOrderShop' }),
|
|
|
+ ...mapGetters({ shopUser: 'getShopUser' }),
|
|
|
+ // 计算总金额
|
|
|
+ totalPrice() {
|
|
|
+ let totalPrice = this.goodsInfo.price * this.option.goodsNum
|
|
|
+ let discountMember = this.$util.isEmpty(this.shopUser) ? this.shopUser.userAsset.discount * totalPrice : 1 * totalPrice
|
|
|
+ discountMember = discountMember / 10
|
|
|
+ return discountMember.toFixed(2)
|
|
|
}
|
|
|
- createOrder({
|
|
|
- needSend: this.tabIndex == 0 ? '1' : '0',
|
|
|
- ...form,
|
|
|
- ...this.form,
|
|
|
- ...addForm,
|
|
|
- ...region
|
|
|
- }).then(res => {
|
|
|
- uni.removeStorageSync('buyGoodsDetil')
|
|
|
- this.$util.pageTo({
|
|
|
- url: '/pages/callback/index',
|
|
|
- query: {
|
|
|
- pagestatus: 1,
|
|
|
- ...res.data
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- // operate
|
|
|
- confirmFn() {
|
|
|
- console.log(this.$refs.appDelivery)
|
|
|
- this.createOrderFn()
|
|
|
- },
|
|
|
- tabChange(e) {
|
|
|
- this.tabIndex = e.index
|
|
|
- },
|
|
|
- hideAlert() {
|
|
|
- this.showAlert = false
|
|
|
},
|
|
|
- anonymityChange(e) {
|
|
|
- this.form.anonymity = this.form.anonymity == 1 ? 0 : 1
|
|
|
+ onLoad(option) {
|
|
|
+ // this.init()
|
|
|
},
|
|
|
- // 表单验证
|
|
|
- formSubmit(e) {
|
|
|
- console.log(e)
|
|
|
- // 表单规则
|
|
|
- let rules = [
|
|
|
- // {
|
|
|
- // name: 'receiveUserName',
|
|
|
- // rule: ['required'],
|
|
|
- // msg: ['请输入姓名']
|
|
|
+ methods: {
|
|
|
+ init() {
|
|
|
+ let goodsInfo = uni.getStorageSync('buyGoodsDetil')
|
|
|
+ // if (this.$util.isEmpty(goodsInfo)) {
|
|
|
+ // this.$util.pageTo({
|
|
|
+ // url: `/pages/goods/detail`,
|
|
|
+ // query: {
|
|
|
+ // id: this.option.goodsId
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // return false
|
|
|
// }
|
|
|
- ]
|
|
|
- // 进行表单检查
|
|
|
- let formData = e.detail.value
|
|
|
- let checkRes = form.validation(formData, rules)
|
|
|
- // 验证通过!
|
|
|
- if (!checkRes) {
|
|
|
- this.confirmFn()
|
|
|
- } else {
|
|
|
- this.$msg(checkRes)
|
|
|
+ getOrderShop().then(() => {
|
|
|
+ this.$refs.couponSel._getUserDiscount().then(status => {
|
|
|
+ this.discountArr = status
|
|
|
+ })
|
|
|
+ })
|
|
|
+ getShopUser()
|
|
|
+ goodsInfo.buyNum = this.option.goodsNum
|
|
|
+ this.goodsInfo = goodsInfo
|
|
|
+ // 初始化上个页面带入的值
|
|
|
+ Object.keys(this.form).forEach((i, index) => {
|
|
|
+ this.form[i] = this.option[i]
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // api
|
|
|
+ // 生成订单
|
|
|
+ createOrderFn() {
|
|
|
+ let addForm = {}
|
|
|
+ let form = this.tabIndex == 0 ? this.$refs.appDelivery.form : this.mentionForm
|
|
|
+ let region = this.tabIndex == 0 ? this.$refs.appDelivery.region : {}
|
|
|
+ if (this.$refs.couponSel) {
|
|
|
+ addForm.couponId = this.$refs.couponSel.couponId
|
|
|
+ }
|
|
|
+ createOrder({
|
|
|
+ needSend: this.tabIndex == 0 ? '1' : '0',
|
|
|
+ ...form,
|
|
|
+ ...this.form,
|
|
|
+ ...addForm,
|
|
|
+ ...region
|
|
|
+ }).then(res => {
|
|
|
+ uni.removeStorageSync('buyGoodsDetil')
|
|
|
+ this.$util.pageTo({
|
|
|
+ url: '/pages/callback/index',
|
|
|
+ query: {
|
|
|
+ pagestatus: 1,
|
|
|
+ ...res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // operate
|
|
|
+ confirmFn() {
|
|
|
+ console.log(this.$refs.appDelivery)
|
|
|
+ this.createOrderFn()
|
|
|
+ },
|
|
|
+ tabChange(e) {
|
|
|
+ this.tabIndex = e.index
|
|
|
+ },
|
|
|
+ hideAlert() {
|
|
|
+ this.showAlert = false
|
|
|
+ },
|
|
|
+ anonymityChange(e) {
|
|
|
+ this.form.anonymity = this.form.anonymity == 1 ? 0 : 1
|
|
|
+ },
|
|
|
+ // 表单验证
|
|
|
+ formSubmit(e) {
|
|
|
+ console.log(e)
|
|
|
+ // 表单规则
|
|
|
+ let rules = [
|
|
|
+ // {
|
|
|
+ // name: 'receiveUserName',
|
|
|
+ // rule: ['required'],
|
|
|
+ // msg: ['请输入姓名']
|
|
|
+ // }
|
|
|
+ ]
|
|
|
+ // 进行表单检查
|
|
|
+ let formData = e.detail.value
|
|
|
+ let checkRes = form.validation(formData, rules)
|
|
|
+ // 验证通过!
|
|
|
+ if (!checkRes) {
|
|
|
+ this.confirmFn()
|
|
|
+ } else {
|
|
|
+ this.$msg(checkRes)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
</script>
|
|
|
|
|
|
<style lang='scss' scoped>
|