下单页面增加生日有礼弹窗,关注公众号弹窗,订单结算增加满减活动,修改霸王餐,增加结算成功私域引流和公众号弹窗

This commit is contained in:
2025-10-17 11:24:59 +08:00
parent b44c1c468b
commit d858a34698
23 changed files with 9193 additions and 5939 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,92 +1,107 @@
<template>
<!-- 充值免单 -->
<view class="rechargeFree">
<view class="rechargeFree_bg" @click="changeFree">
<view class="left">
<view class="icon">优惠</view>
<view class="text">
充值消费{{freeDineConfig.rechargeTimes}}订单满{{freeDineConfig.rechargeThreshold}}元可用本单立享免单</view>
</view>
<up-checkbox :disabled="!freeDineConfig.enable" @change="change" shape="circle" usedAlone v-model:checked="changeFreeenable" icon-size="20" size="20">
</up-checkbox>
<!-- <up-checkbox-group iconPlacement="right">
<!-- 充值免单 -->
<view class="rechargeFree">
<view class="rechargeFree_bg" @click="itemClick">
<view class="left">
<view class="icon">优惠</view>
<view class="text">
充值消费{{ freeDineConfig.rechargeTimes }}订单满{{
freeDineConfig.rechargeThreshold
}}元可用本单立享免单</view
>
</view>
<view @click.stop="()=>{}">
<up-checkbox
:disabled="!freeDineConfig.enable"
@change="changeFree"
shape="circle"
activeColor="#E8AD7B"
usedAlone
v-model:checked="changeFreeenable"
icon-size="20"
size="20"
>
</up-checkbox>
</view>
<!-- <up-checkbox-group iconPlacement="right">
<up-checkbox : v-model="changeFreeenable"
:checked="freeDineConfig.enable" @change="change" activeColor="#E8AD7B" shape="circle"
icon-size="16" size="16">
</up-checkbox>
</up-checkbox-group> -->
</view>
</view>
</view>
</view>
</template>
<script setup>
import {
ref,
defineProps,
defineEmits
} from 'vue';
import { ref, defineProps, defineEmits } from "vue";
// 定义接收的属性
const props = defineProps({
freeDineConfig: {
type: Object,
default: {}
},
payAmount: {
type: Number,
default: 0
},
});
// 定义接收的属性
const props = defineProps({
freeDineConfig: {
type: Object,
default: {},
},
payAmount: {
type: Number,
default: 0,
},
});
function itemClick(){
changeFreeenable.value = !changeFreeenable.value;
emits("changeFree", changeFreeenable.value);
const emits = defineEmits(['changeFree']);
}
const emits = defineEmits(["changeFree"]);
const changeFreeenable = ref(false)
const changeFreeenable = ref(false);
/**
* 监听是否免单
*/
const change = (e) => {
emits('changeFree', e);
}
/**
* 监听是否免单
*/
const changeFree = (e) => {
emits("changeFree", e);
};
</script>
<style lang="scss" scoped>
.rechargeFree {
// padding: 0 20rpx;
margin-top: 32rpx;
.rechargeFree {
// padding: 0 20rpx;
margin-top: 32rpx;
.rechargeFree_bg {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 24rpx;
border-radius: 24rpx;
background-color: #fff;
.rechargeFree_bg {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 24rpx;
border-radius: 24rpx;
background-color: #fff;
.left {
display: flex;
align-items: center;
.left {
display: flex;
align-items: center;
.icon {
width: 68rpx;
height: 36rpx;
text-align: center;
line-height: 36rpx;
background: linear-gradient(180deg, #FEDE81 0%, #FEB263 100%);
border-radius: 12rpx 0rpx 12rpx 0rpx;
font-weight: 500;
font-size: 20rpx;
color: #FFFFFF;
margin-right: 12rpx;
}
.icon {
width: 68rpx;
height: 36rpx;
text-align: center;
line-height: 36rpx;
background: linear-gradient(180deg, #fede81 0%, #feb263 100%);
border-radius: 12rpx 0rpx 12rpx 0rpx;
font-weight: 500;
font-size: 20rpx;
color: #ffffff;
margin-right: 12rpx;
}
.text {
width: 80%;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
}
}
.text {
width: 80%;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,65 +1,13 @@
<template>
<view class="u-p-30">
<view>
<up-button type="warning" @click="popupShow">初始化</up-button>
</view>
<view class="u-m-t-30">
<up-button type="primary" @click="toCreate">去下单</up-button>
</view>
<up-popup :show="show" mode="bottom" close-on-click-overlay @close="resetForm">
<view class="u-p-30">
<up-form label-width="80" ref="refForm">
<up-form-item label="台桌码">
<up-input v-model="form.tableCode" placeholder="请输入台桌码"></up-input>
</up-form-item>
</up-form>
<view class="u-flex gap-20 u-m-t-30">
<up-button @click="show=false">取消</up-button>
<up-button type="primary" @click="scanCodehandle">确定</up-button>
</view>
</view>
</up-popup>
</view>
<view class="u-p-30">
<birthdayGift></birthdayGift>
</view>
</template>
<script setup>
import {onLoad} from '@dcloudio/uni-app'
import { reactive,ref} from 'vue'
import {
productStore
} from '@/stores/user.js';
const store = productStore();
const scanCodehandle = async (i) => {
await store.scanCodeactions(form)
}
const show=ref(false);
const options=ref({})
function popupShow(){
show.value=true;
}
const refForm=ref(null);
const form=reactive({
tableCode:"40963902920"
})
function resetForm(){
form.tableCode=""
}
onLoad((opt)=>{
console.log(opt);
options.value=opt
})
function toCreate(){
uni.navigateTo({
url:'/pages/index/index'
})
}
import birthdayGift from "@/components/birthday-modal.vue";
</script>
<style lang="scss" scoped>
.gap-20{
gap: 20rpx;
}
</style>