修改霸王餐页面,增加私域引流,消费返现,满减活动页面
This commit is contained in:
@@ -1,36 +1,51 @@
|
||||
<template>
|
||||
<view class="boxconstant">
|
||||
<view class="boxconstant min-page">
|
||||
<view class="bg-fff u-flex u-m-b-32 top">
|
||||
<image style="width: 60rpx;height:60rpx;" src="/pageBwc/static/images/bwc.png"></image>
|
||||
<view class="u-flex-1 u-flex u-p-l-24">
|
||||
<view class=" u-font-28 u-flex-1 u-p-r-4">
|
||||
<view class="color-333 font-bold">霸王餐</view>
|
||||
<view class="color-666 u-m-t-4 u-font-24">设置充值消费的N倍,当前订单立即免单</view>
|
||||
</view>
|
||||
<up-switch v-model="form.enable" size="18"></up-switch>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxconstantbox"
|
||||
style="border-radius: 18px 18px 0 0;padding:32rpx 24rpx;border-bottom: 2rpx solid #E5E5E5;">
|
||||
>
|
||||
<view class="boxconstantbox_one">
|
||||
充值设置
|
||||
</view>
|
||||
<view class="boxconstantbox_tow">
|
||||
<text>用户消费结账时,成功充值</text>
|
||||
<input class="text" type="number" :min='2' v-model="form.rechargeTimes" @change="rechargeTimesInput"/>
|
||||
<text>倍的金额本单即可享受免单</text>
|
||||
<view class="u-flex u-m-t-32">
|
||||
<input class="number-box" type="number" :min='2' v-model="form.rechargeTimes" @blur="rechargeTimesInput" />
|
||||
<view class="bei">倍</view>
|
||||
</view>
|
||||
<view class="color-666 u-font-28 u-m-t-16">
|
||||
用户消费结账时,成功充值订单金额的X倍即可享受免单
|
||||
</view>
|
||||
<view class="u-m-t-20 u-m-b-20">
|
||||
<up-line class=""></up-line>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxconstantbox" style="border-radius: 0 0 18px 18px;">
|
||||
<view class="boxconstantbox_one">
|
||||
充值门槛
|
||||
</view>
|
||||
<view class="boxconstantbox_tow">
|
||||
<text>订单支付金额需满</text>
|
||||
<input class="text" type="digit" v-model="form.rechargeThreshold" @change="form.rechargeThreshold = $utils.isMoney(form.rechargeThreshold)"></input>
|
||||
<!-- <input class="text" type="digit" v-model="form.rechargeThreshold" @input="form.rechargeThreshold = 2"></input> -->
|
||||
<!-- <input class="text" type="digit" v-model.lazy="form.rechargeThreshold" @input="form.rechargeThreshold = $utils.debounce($utils.isMoney(form.rechargeThreshold))"></input> -->
|
||||
<!-- <input class="text" type="digit" v-model="form.rechargeThreshold" @input="form.rechargeThreshold = $utils.isMoney(form.rechargeThreshold)"></input> -->
|
||||
<text> 元,才能使用</text>
|
||||
<view class="u-flex u-m-t-32">
|
||||
<input class="number-box" type="number" v-model="form.rechargeThreshold" @blur="rechargeThresholdInput" />
|
||||
<view class="bei">元</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="oneboxconstant">
|
||||
<view class="oneboxconstant_one">
|
||||
功能启用
|
||||
<view class="color-666 u-font-28 u-m-t-16">
|
||||
订单的支付金额满足X元,才能使用
|
||||
</view>
|
||||
<up-switch v-model="form.enable" size="18"></up-switch>
|
||||
</view>
|
||||
<view class="boxconstantbox"
|
||||
>
|
||||
<view class="boxconstantbox_one">
|
||||
可用门店
|
||||
</view>
|
||||
<view class="u-m-t-16">
|
||||
<my-shop-select @shop-select="shopSelect" v-model:selShops="form.shopIdList" v-model:useType="form.useShopType"></my-shop-select>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="boxconstantbox"
|
||||
style="margin-top:24rpx; padding:32rpx 24rpx; border-radius: 0 0 18px 18px;">
|
||||
<view class="boxconstantbox_one" style="margin-bottom: 15rpx;">
|
||||
充值说明
|
||||
@@ -38,139 +53,240 @@
|
||||
<view>
|
||||
<up-textarea v-model="form.rechargeDesc" placeholder="请输入内容"></up-textarea>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="boxconstantbox">
|
||||
<view class="boxconstantbox_one">
|
||||
可使用类型
|
||||
</view>
|
||||
<view class="u-m-t-16">
|
||||
<my-dine-types v-model="form.useType"></my-dine-types>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="save" @click="editFreeDing">
|
||||
保存
|
||||
<view class="boxconstantbox ">
|
||||
<view class="u-flex u-col-center u-row-between">
|
||||
<view>
|
||||
<view class="color-333 u-font-32 font-bold">与优惠券同享</view>
|
||||
<view class="color-666 u-font-24 u-m-t-4">不能和优惠券同时使用</view>
|
||||
</view>
|
||||
<up-switch v-model="form.withCoupon" size="18"></up-switch>
|
||||
</view>
|
||||
<view class="u-flex u-col-center u-row-between u-m-t-24">
|
||||
<view>
|
||||
<view class="color-333 u-font-32 font-bold">与积分抵扣同享</view>
|
||||
<view class="color-666 u-font-24 u-m-t-4">开启后,可与积分抵扣同时使用</view>
|
||||
</view>
|
||||
<up-switch v-model="form.withPoints" size="18"></up-switch>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<my-bottom-btn-group @cancel="cancel" @save="editFreeDing"></my-bottom-btn-group>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onShow ,onLoad} from '@dcloudio/uni-app';
|
||||
import { reactive, ref, watch } from 'vue';
|
||||
|
||||
import { getFreeDing, updateFreeDing } from '@/http/api/freeDing.js'
|
||||
const form = reactive({
|
||||
rechargeTimes: 2,
|
||||
rechargeThreshold: '',
|
||||
enable: false,
|
||||
rechargeDesc: '',
|
||||
});
|
||||
onLoad(()=>{
|
||||
// uni.$utils.inputReg.bind()()
|
||||
})
|
||||
onShow(() => {
|
||||
getlist()
|
||||
})
|
||||
/**
|
||||
* 获取配置信息
|
||||
*/
|
||||
const getlist = async () => {
|
||||
let res = await getFreeDing()
|
||||
Object.assign(form, res)
|
||||
}
|
||||
|
||||
let rechargeTimesInput = (e) => {
|
||||
if( uni.$utils.isNumber(e.detail.value) == '' || uni.$utils.isNumber(e.detail.value) < 2 ){
|
||||
form.rechargeTimes = 2;
|
||||
return;
|
||||
}
|
||||
form.rechargeTimes = uni.$utils.isNumber(e.detail.value)
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改配置信息
|
||||
*/
|
||||
const editFreeDing = async () => {
|
||||
let res = await updateFreeDing(form)
|
||||
uni.showToast({
|
||||
title: '保存成功'
|
||||
})
|
||||
Object.assign(form, res)
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 1500)
|
||||
}
|
||||
import { onShow, onLoad } from "@dcloudio/uni-app";
|
||||
import { reactive, ref, watch } from "vue";
|
||||
|
||||
import { getFreeDing, updateFreeDing } from "@/http/api/freeDing.js";
|
||||
const form = reactive({
|
||||
rechargeTimes: 2,
|
||||
rechargeThreshold: "",
|
||||
enable: false,
|
||||
rechargeDesc: "",
|
||||
useShopType: "all",
|
||||
useType: [],
|
||||
shopIdList: [],
|
||||
withCoupon: false,
|
||||
withPoints: false,
|
||||
});
|
||||
onLoad(() => {
|
||||
// uni.$utils.inputReg.bind()()
|
||||
});
|
||||
onShow(() => {
|
||||
getlist();
|
||||
});
|
||||
/**
|
||||
* 获取配置信息
|
||||
*/
|
||||
const getlist = async () => {
|
||||
let res = await getFreeDing();
|
||||
res.shopIdList = res.shopIdList || [];
|
||||
Object.assign(form, res);
|
||||
};
|
||||
|
||||
let rechargeTimesInput = (e) => {
|
||||
console.log(e);
|
||||
if (e.detail.value == "" || e.detail.value < 2) {
|
||||
form.rechargeTimes = 2;
|
||||
uni.showToast({
|
||||
title: "请输入大于等于2的整数",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
};
|
||||
function rechargeThresholdInput(e){
|
||||
if (e.detail.value == "" || e.detail.value <= 0.01) {
|
||||
form.rechargeThreshold = 0.01;
|
||||
uni.showToast({
|
||||
title: "请输入大于0的数字",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 修改配置信息
|
||||
*/
|
||||
const editFreeDing = async () => {
|
||||
if (!form.rechargeTimes) {
|
||||
uni.showToast({
|
||||
title: "请输入充值设置",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!form.rechargeThreshold) {
|
||||
uni.showToast({
|
||||
title: "请输入充值门槛",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (form.useShopType != "all" && !form.shopIdList.length) {
|
||||
uni.showToast({
|
||||
title: "请选择可用门店",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (form.useType.length == 0) {
|
||||
uni.showToast({
|
||||
title: "请选择可使用类型",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
let res = await updateFreeDing(form);
|
||||
uni.showToast({
|
||||
title: "保存成功",
|
||||
});
|
||||
Object.assign(form, res);
|
||||
setTimeout(() => {
|
||||
// uni.navigateBack();
|
||||
}, 1500);
|
||||
};
|
||||
|
||||
function cancel() {
|
||||
uni.navigateBack();
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
.boxconstant {
|
||||
background: #f7f7f7;
|
||||
padding: 32rpx 28rpx;
|
||||
|
||||
.boxconstant {
|
||||
padding: 32rpx 28rpx;
|
||||
.boxconstantbox {
|
||||
padding: 32rpx 24rpx;
|
||||
border-radius: 16rpx;
|
||||
margin-top: 32rpx;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
|
||||
.boxconstantbox {
|
||||
padding: 32rpx 24rpx;
|
||||
width: 100%;
|
||||
background: #FFFFFF;
|
||||
.boxconstantbox_one {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.boxconstantbox_one {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.boxconstantbox_tow {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
// display: flex;
|
||||
// justify-content: flex-start;
|
||||
// align-items: center;
|
||||
// flex-wrap: wrap;
|
||||
// align-content: flex-start;
|
||||
.text {
|
||||
display: inline-flex;
|
||||
text-align: center;
|
||||
margin: 0 12rpx;
|
||||
width: 118rpx;
|
||||
height: 48rpx;
|
||||
line-height: 48rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #e5e5e5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxconstantbox_tow {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
// display: flex;
|
||||
// justify-content: flex-start;
|
||||
// align-items: center;
|
||||
// flex-wrap: wrap;
|
||||
// align-content: flex-start;
|
||||
.text {
|
||||
display:inline-flex;
|
||||
text-align: center;
|
||||
margin: 0 12rpx;
|
||||
width: 118rpx;
|
||||
height: 48rpx;
|
||||
line-height: 48rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #E5E5E5;
|
||||
}
|
||||
}
|
||||
}
|
||||
.oneboxconstant {
|
||||
margin-top: 32rpx;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
padding: 32rpx 24rpx;
|
||||
|
||||
.oneboxconstant {
|
||||
margin-top: 32rpx;
|
||||
width: 100%;
|
||||
background: #FFFFFF;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
padding: 32rpx 24rpx;
|
||||
.oneboxconstant_one {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
.oneboxconstant_one {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.save {
|
||||
margin: 100rpx auto 50rpx auto;
|
||||
width: 530rpx;
|
||||
height: 80rpx;
|
||||
background: #318AFE;
|
||||
border-radius: 56rpx 56rpx 56rpx 56rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.save {
|
||||
margin: 100rpx auto 50rpx auto;
|
||||
width: 530rpx;
|
||||
height: 80rpx;
|
||||
background: #318afe;
|
||||
border-radius: 56rpx 56rpx 56rpx 56rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #ffffff;
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.top {
|
||||
padding: 24rpx 20rpx 28rpx 28rpx;
|
||||
}
|
||||
.number-box {
|
||||
width: 260rpx;
|
||||
font-size: 28rpx;
|
||||
padding: 0 26rpx;
|
||||
border-radius: 6rpx 0 0 6rpx;
|
||||
border-top: 2rpx solid #d9d9d9;
|
||||
border-bottom: 2rpx solid #d9d9d9;
|
||||
border-left: 2rpx solid #d9d9d9;
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
.bei {
|
||||
display: flex;
|
||||
padding: 0 38rpx;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
align-items: center;
|
||||
border-radius: 0 6rpx 6rpx 0;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
background: #f7f7fa;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
</style>
|
||||
BIN
pageBwc/static/images/bwc.png
Normal file
BIN
pageBwc/static/images/bwc.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Reference in New Issue
Block a user