优化代客下单限时折扣

This commit is contained in:
gyq
2025-11-13 18:16:11 +08:00
parent 2db23c3370
commit fa7a9f87fb
8 changed files with 330 additions and 398 deletions

View File

@@ -28,6 +28,7 @@
<div class="flex u-col-top">
<div class="img">
<div class="xszk" v-if="item.isLimitDiscount || item.is_time_discount">限时折扣</div>
<!-- <div class="xszk" v-if="cartStore.useVipPrice">会员价</div> -->
<div class="isSeatFee img u-line-1 u-flex u-col-center u-row-center" v-if="isSeatFee">
<span>{{ item.name }}</span>
</div>
@@ -109,9 +110,9 @@
</div>
</template>
<template v-else>
<div v-if="item.isLimitDiscount || item.is_time_discount">
<div v-if="item.is_time_discount">
<div>
¥{{ to2(item.limitDiscountPrice) }}
¥{{ to2(item.time_discount_price) }}
</div>
<div class="free-price">
<span>¥{{ to2(item.salePrice) }}</span>
@@ -135,6 +136,9 @@
<script setup>
import { customTruncateToTwoDecimals } from "@/views/tool/Instead/util";
import { useCartsStore } from '@/store/modules/carts'
const cartStore = useCartsStore()
const props = defineProps({
dinerType: {

View File

@@ -3,23 +3,23 @@
<el-image v-if="item.coverImg" class="goods-image"
:src="item.coverImg + '?x-oss-process=image/resize,m_lfit,w_100,h_100'" fit="cover"></el-image>
<div class="info" @click="itemClick">
<div class="dot" v-if="item.isLimitDiscount">限时折扣</div>
<div class="dot" v-if="cartStore.useVipPrice">会员价</div>
<div class="dot" v-if="item.is_time_discount">限时折扣</div>
<!-- <div class="dot" v-if="cartStore.useVipPrice">会员价</div> -->
<div class="btm">
<div class="name u-flex u-flex-wrap">
<span class="weight" v-if="item.type == 'weight'">称重</span>
<span class="u-line-3">{{ item.name }}</span>
</div>
<div class="limit_wrap" v-if="item.isLimitDiscount">
<div class="limit_wrap" v-if="item.is_time_discount">
<span class="o_price">{{ item.lowPrice }}</span>
<span class="sale_price">{{ item.limitDiscountPrice }}</span>
<span class="sale_price">{{ item.time_discount_price }}</span>
</div>
<div class="limit_wrap" v-else>
<template v-if="cartStore.useVipPrice">
<span class="o_price">{{ item.lowPrice }}</span>
<span>{{ item.lowMemberPrice }}</span>
</template>
<template>
<template v-else>
{{ item.lowPrice }}
</template>
</div>

View File

@@ -175,6 +175,10 @@
<span class="title">商品优惠券</span>
<span class="u-m-l-10 value">-{{ productCouponDiscountAmount }}</span>
</div>
<div class="u-flex u-m-b-10 u-row-between">
<span class="title">会员折扣</span>
<span class="u-m-l-10 value">-{{ carts.orderCostSummary.vipDiscountAmount }}</span>
</div>
<div class="u-flex u-m-b-10 u-row-between">
<span class="title">其他优惠券</span>
<span class="u-m-l-10 value">-{{ fullCouponDiscountAmount }}</span>

View File

@@ -6,20 +6,21 @@
<span class="title">代客下单</span>
<div class="u-m-l-20 flex">
<div class="choose-user flex u-font-14" @click="showChooseUser">
<el-button type="primary" v-if="!user.id">选择用户</el-button>
<el-button type="primary" v-if="!carts.vipUser.id">选择用户</el-button>
<div v-else class="flex cur-pointer">
<img v-if="user.headImg && user.headImg != 'null'" class="headimg" :src="user.headImg" alt="" />
<img v-if="carts.vipUser.headImg && carts.vipUser.headImg != 'null'" class="headimg"
:src="carts.vipUser.headImg" alt="" />
<div v-else class="headimg flex flex-x-y-center">
<i class="el-icon-user"></i>
</div>
<div>
<div class="u-flex">
<div class="ft-13 color-000 no-wrap">{{ user.nickName }}</div>
<div class="vip" v-if="user.isVip">VIP{{ user.isVip }}</div>
<div class="ft-13 color-000 no-wrap">{{ carts.vipUser.nickName }}</div>
<div class="vip" v-if="carts.vipUser.isVip">{{ carts.vipUser.memberLevelName }}</div>
</div>
<div style="margin-top: 2px" class="no-wrap color-666 ft-12">
余额{{ user.amount }}
余额{{ carts.vipUser.amount }}
</div>
</div>
</div>
@@ -711,9 +712,6 @@ function clearCarts() {
}
function addCarts(item, isWeight = false) {
console.log('index.addCarts===', item);
if (isWeight) {
carts.add({ pack_number: diners.sel ? 1 : 0, ...item, is_time_discount: item.isLimitDiscount ? 1 : 0 });
return;