From 798c4a4c74358a3df7a4752ff7202bc5edff7ab7 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Fri, 21 Nov 2025 17:21:24 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
http/api/market/rechargeRedemption.js | 77 ++++
pageMarket/couponExchangeCode/detail.vue | 13 +-
pageMarket/couponExchangeCode/index.vue | 4 +-
pageMarket/orderRecommendation/add.vue | 41 +-
pageMarket/orderRecommendation/index.vue | 2 +-
pageMarket/rechargeExchangeCode/add.vue | 161 ++++++++
.../components/status.vue | 52 +++
pageMarket/rechargeExchangeCode/detail.vue | 321 +++++++++++++++
pageMarket/rechargeExchangeCode/index.vue | 366 ++++++++++++++++++
pages.json | 23 +-
pages/appliccation/marketing.vue | 4 +-
11 files changed, 1045 insertions(+), 19 deletions(-)
create mode 100644 http/api/market/rechargeRedemption.js
create mode 100644 pageMarket/rechargeExchangeCode/add.vue
create mode 100644 pageMarket/rechargeExchangeCode/components/status.vue
create mode 100644 pageMarket/rechargeExchangeCode/detail.vue
create mode 100644 pageMarket/rechargeExchangeCode/index.vue
diff --git a/http/api/market/rechargeRedemption.js b/http/api/market/rechargeRedemption.js
new file mode 100644
index 0000000..9898730
--- /dev/null
+++ b/http/api/market/rechargeRedemption.js
@@ -0,0 +1,77 @@
+import http from "@/http/http.js";
+const request = http.request;
+const urlType = "market";
+
+export function enable(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption/enable`,
+ method: "PUT",
+ params: {
+ ...params,
+ },
+ });
+}
+
+export function status(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption/enable/status`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function couponRedemption(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function couponRedemptionList(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption/list`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function add(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption`,
+ method: "POST",
+ params: {
+ ...params,
+ },
+ });
+}
+export function edit(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption`,
+ method: "PUT",
+ params: {
+ ...params,
+ },
+ });
+}
+export function codeList(params) {
+ return request({
+ url: urlType + `/admin/rechargeRedemption/code/list`,
+ method: "GET",
+ params: {
+ ...params,
+ },
+ });
+}
+export function codeExport(params) {
+ return http.download({
+ url: urlType + `/admin/rechargeRedemption/code/export`,
+ method: "GET",
+ params: {
+ ...params,
+ },
+ });
+}
diff --git a/pageMarket/couponExchangeCode/detail.vue b/pageMarket/couponExchangeCode/detail.vue
index 2c0a752..9864a77 100644
--- a/pageMarket/couponExchangeCode/detail.vue
+++ b/pageMarket/couponExchangeCode/detail.vue
@@ -3,7 +3,9 @@
兑换码名称
- {{ form.name }}
+
+
+
@@ -128,6 +130,7 @@ import {
} from "@dcloudio/uni-app";
import couponStatus from "./components/status.vue";
import CouponList from "@/pageMarket/components/coupon-list.vue";
+import DateTimePicker from "@/pageMarket/components/date-time-picker.vue";
import Modal from "@/pageMarket/components/modal.vue";
import * as couponRedemptionApi from "@/http/api/market/couponRedemption.js";
@@ -325,4 +328,12 @@ onReachBottom(() => {
border-bottom: none;
}
}
+:deep(.uni-input-input){
+ text-align: right;
+}
+:deep(.input-placeholder){
+ text-align: right;
+ color: #999;
+ font-size: 28rpx;
+}
diff --git a/pageMarket/couponExchangeCode/index.vue b/pageMarket/couponExchangeCode/index.vue
index 23add6a..bc4928d 100644
--- a/pageMarket/couponExchangeCode/index.vue
+++ b/pageMarket/couponExchangeCode/index.vue
@@ -122,6 +122,7 @@ const loadFinish = ref(false);
const form = reactive({
isEnable: 0,
useType: "all",
+ shopIdList:[]
});
const actions = [
@@ -222,7 +223,7 @@ const handleConfirm = async () => {
}
couponRedemptionApi.enable({
- shopIdList: form.shopIdList,
+ shopIdList: form.shopIdList||[],
useType: form.useType,
isEnable: form.isEnable,
});
@@ -281,6 +282,7 @@ watch(
async function getConfig() {
couponRedemptionApi.status().then((res) => {
+ res.shopIdList = res.shopIdList || [];
Object.assign(form, res);
});
}
diff --git a/pageMarket/orderRecommendation/add.vue b/pageMarket/orderRecommendation/add.vue
index 0629530..44d4ce2 100644
--- a/pageMarket/orderRecommendation/add.vue
+++ b/pageMarket/orderRecommendation/add.vue
@@ -17,14 +17,24 @@
选择商品
-
+
自定义引导语
+
+
+ 是否启用
+
+
可用周期
@@ -63,12 +73,20 @@ import {
onBackPress,
} from "@dcloudio/uni-app";
+function cancel() {
+ uni.navigateBack({
+ delta: 1,
+ });
+}
+
const form = reactive({
foods: "",
useDays: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
useStartTime: "",
useTimeType: "all",
useEndTime: "",
+ guideDetail:'',
+ status:1
});
function save() {
@@ -112,13 +130,8 @@ function save() {
if(options.type=='edit'){
suggestApi
.editSuggest({
- title: form.title,
- id: form.id,
- foods: form.foods,
+ ...form,
useDays: form.useDays.join(","),
- useStartTime: form.useStartTime,
- useTimeType: form.useTimeType,
- useEndTime: form.useEndTime,
})
.then((res) => {
uni.showToast({
@@ -136,12 +149,8 @@ function save() {
}
suggestApi
.addSuggest({
- title: form.title,
- foods: form.foods,
- useDays: form.useDays.join(","),
- useStartTime: form.useStartTime,
- useTimeType: form.useTimeType,
- useEndTime: form.useEndTime,
+ ...form,
+ useDays: form.useDays.join(",")
})
.then((res) => {
uni.showToast({
@@ -168,8 +177,14 @@ onLoad((opt) => {
form.useTimeType = item.useTimeType;
form.useEndTime = item.useEndTime;
form.id = item.id;
+ form.guideDetail=item.guideDetail
+ form.status=item.status
console.log(form);
+
}
+ uni.setNavigationBarTitle({
+ title:opt.type=="edit"?"编辑":"添加",
+ });
});
diff --git a/pageMarket/orderRecommendation/index.vue b/pageMarket/orderRecommendation/index.vue
index ffc3bb5..0097c7d 100644
--- a/pageMarket/orderRecommendation/index.vue
+++ b/pageMarket/orderRecommendation/index.vue
@@ -31,7 +31,7 @@
秒
多个弹窗时,每个弹窗之间关闭和弹出间隔为15秒
+ >多个弹窗时,每个弹窗之间关闭和弹出间隔为30秒
diff --git a/pageMarket/rechargeExchangeCode/add.vue b/pageMarket/rechargeExchangeCode/add.vue
new file mode 100644
index 0000000..082e686
--- /dev/null
+++ b/pageMarket/rechargeExchangeCode/add.vue
@@ -0,0 +1,161 @@
+
+
+
+
+ 兑换码名称
+
+
+
+
+
+
+
+ 活动日期
+
+
+
+
+
+ 发放数量(个)
+
+
+ 个
+
+
+
+
+ 金额(元)
+
+
+
+ 元
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/rechargeExchangeCode/components/status.vue b/pageMarket/rechargeExchangeCode/components/status.vue
new file mode 100644
index 0000000..2767a97
--- /dev/null
+++ b/pageMarket/rechargeExchangeCode/components/status.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+ {{ statusText }}
+
+
+
+
+
+
+
+
diff --git a/pageMarket/rechargeExchangeCode/detail.vue b/pageMarket/rechargeExchangeCode/detail.vue
new file mode 100644
index 0000000..53c9cb3
--- /dev/null
+++ b/pageMarket/rechargeExchangeCode/detail.vue
@@ -0,0 +1,321 @@
+
+
+
+
+ 兑换码名称
+
+
+
+
+
+
+ 活动日期
+ {{ form.startTime }} 至 {{ form.endTime }}
+
+
+
+ 金额
+ {{ form.amount }}
+
+
+
+ 总数
+ {{ form.total }}
+
+
+
+ 库存
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+ 导出
+
+
+
+
+
+
+ {{
+ item.status == 0 ? "未兑换" : "已兑换"
+ }}
+
+ {{ item.code }}
+ 复制
+
+
+
+ {{ item.redemptionTime }}
+
+ {{ item.nickName }}
+ {{ item.phone }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/rechargeExchangeCode/index.vue b/pageMarket/rechargeExchangeCode/index.vue
new file mode 100644
index 0000000..32826c5
--- /dev/null
+++ b/pageMarket/rechargeExchangeCode/index.vue
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+
+
+ 充值兑换码
+ 兑换码直充余额,可当作礼品赠送
+
+
+
+
+
+
+
+
+
+ 适用门店
+
+ 全部
+ {{ returnStatusText }}
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ 金额:{{ item.amount }}元
+
+ {{
+ item.status == 0 ? "有效" : "无效"
+ }}
+
+
+
+ {{ item.startTime }} 至 {{ item.endTime }}
+
+
+ 总数:
+ {{
+ item.total
+ }}
+
+
+ 库存:
+ {{
+ item.stock
+ }}
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+ 添加兑换码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages.json b/pages.json
index a90ce45..6f9db8b 100644
--- a/pages.json
+++ b/pages.json
@@ -724,7 +724,7 @@
"pageId": "PAGES_MARKET_ORDER_RECOMMENDATION_ADD",
"path": "orderRecommendation/add",
"style": {
- "navigationBarTitleText": "添加"
+ "navigationBarTitleText": ""
}
},
{
@@ -747,6 +747,27 @@
"style": {
"navigationBarTitleText": "券兑换码详情"
}
+ },
+ {
+ "pageId": "PAGES_MARKET_RECHARGE_EXCHANGE_CODE",
+ "path": "rechargeExchangeCode/index",
+ "style": {
+ "navigationBarTitleText": "充值兑换码"
+ }
+ },
+ {
+ "pageId": "PAGES_MARKET_RECHARGE_EXCHANGE_CODE_ADD",
+ "path": "rechargeExchangeCode/add",
+ "style": {
+ "navigationBarTitleText": "添加充值兑换码"
+ }
+ },
+ {
+ "pageId": "PAGES_MARKET_RECHARGE_EXCHANGE_CODE_ADD_DWTAIL",
+ "path": "rechargeExchangeCode/detail",
+ "style": {
+ "navigationBarTitleText": "充值兑换码详情"
+ }
}
diff --git a/pages/appliccation/marketing.vue b/pages/appliccation/marketing.vue
index 791fc19..22f1dbd 100644
--- a/pages/appliccation/marketing.vue
+++ b/pages/appliccation/marketing.vue
@@ -100,7 +100,7 @@ const menuList = ref([
{
title: '点餐智能推荐',
icon: '',
- pageUrl: '',
+ pageUrl: 'PAGES_MARKET_ORDER_RECOMMENDATION',
intro: '进入点单页X秒未点自动推荐商品,此推荐设置启用即生效'
},
{
@@ -118,7 +118,7 @@ const menuList = ref([
{
title: '充值兑换码',
icon: '',
- pageUrl: '',
+ pageUrl: 'PAGES_MARKET_RECHARGE_EXCHANGE_CODE',
intro: '兑换码直充余额,可当作礼品赠送'
},
{
From 3d6d8438850f9d939466c196dbd9481f016404d5 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Fri, 21 Nov 2025 17:40:12 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?=
=?UTF-8?q?=E5=9B=BE=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
static/logo.png | Bin 4023 -> 0 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 static/logo.png
diff --git a/static/logo.png b/static/logo.png
deleted file mode 100644
index b5771e209bb677e2ebd5ff766ad5ee11790f305a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 4023
zcmaJ^c|25Y`#+XyC`+5OUafkYqmlSEl)+V
zC53EJB$S8m@9Vz4*Y&-Yb3W(3Y;(d~fM1#)0003Cvn<7K1}HtM`$d{YenwQ;C^-S(Bw!dKGPRQ{5d$=<+Bb^=&62=9
zyT3g7ffNAnXPh^N0JjBz*>4v5+kn2(URc+5KlGCVF`&OikMw
zfqqB8XK2+;V}LL3B>(G>)mVo1y5YXue4A!H*}eQbcg`t##g9HFply&`y$2%Ui`qzhj;o^=JbnXrW48s;xu1fDr
z0))La)fp=QkX*N#V0eTJXiqO11AyvJlBY^iBrIQo0Kg>g;^BKnJ9a%2Wz`F2Ka;Jl
zm*B>3H!<9`zg|z+c>6eWFMqydnvs-!J))2I(LEmNyxo~2!VjOpv<0SyMNVCup-60Z
zm&|RDtd8R2HEIU!!OA0Ic6-G4K{`MZ8S%UjEL!s#vj{vLBWeqI(M&DkE;aT|aziV8
zRiTRN#GNwykvPx{R==`-rP>^pa`AyJ&s**Q!zU$j(pO&Q(YolGLT=2o0>3Wlhx?Gs
z#|6b*$3F$ofzT`QIA#}2(Cg}Z?5V5KrtX)WrInh*aTCsP#{@V|*7<0lm`r^xmJQm^
z9n0J^3p#yCxWPX>G11)F(iv5vIIHkbqzdH37jX&JZ~&5AV*OAtL}axw*aLAt(b-!Vf)wRw=S8((e`~WLqlDBobRbj)NXB
zS>W`fibSDA>uYN*&&Ml75iep!E%^%eV~SElj=}K;6TCNXs2gYG-L`En&3y~H9fP=W
z(t?;5Xalv2F5ROUkg3?7C5~z>QYq|tok{Q}toT5u=~a9mBKDc4zfSM=`?OF-lS(V+pE1(m&x$HE_9vj;Cy)b@OiPMS0bs1
zRL9h?)T!I{4m1aY9>(pR_IDhF?wocEy=CU`m(5ry-&^rJJ*Bb^PfNARJ1{|*1e;FV
zGljKhHo|}41Rg|1n&m~I3+-_gFQww-#b2u97o3fIsg67|%6`|aJX{~F&RPa;TayWd
zp0l(=(QbROypp_fCeOBW3BJ5PJg@UU`&fs3hd{?U6&@7>mHWNEWnN`rWk>r%`fK|=
z=BRVxb2I(y07{Nwj&jZtf{0iN;H%QAvaO1&8VKn8tp5f#!
zN#ZlRm)#|IR8144l_=#8)5guWCE`B$T_;p_&0iWR+1=_>mDK1{*kw_8pi=2ewD%Z1
zSVG^6Mc(Vd()@@Y^wYz75Yz{X8jD_x*B)w5@yqn8>U#Kw-qzNvJjm)}wamur^knR_o)EvaGVkz%1gB=%{GIq3%OVcBFpT?D{PKZ079tIh|$fvf?svxl^`nuZV1~
zE?xILl^)O*=ufGhDH_pyUfNjteA>xd#yg*uvj~^Cbv&_EBt0-)!j4#crI>Uhq&0Oy
z`b$;!qc=;1Sx>VD%ia^;erQ9!2)(mrrJ5zv;`SWLHu^Td;yik`Z7ioatGHn?aSD1m
z@U+Y6wVHj_e`PD>_Noz^2O3?6Yg*5_BlMB@A05*?`Y-jlZ-m^4uDw+Y8A8@7g!P7H
zgzZ?*UDN&1x{>g`ZiMkweBs14cdln#6I?YHr7!-)nyY$73
zckv0h$WfEY^%7rYR&g4G-pZL>Vy{3sVkc#OsI@6s?(5whAJqvO5)LEZTD6>Rdkl&h
zHusOIlp{!GNUVm69y+XkTlKT;Lp%Ce`igQdYushcyC!}iq4eq#-2van)Ie{RuRq2g
zH=9+-th`-$F*y3W=|Z{)eb0Wrxy$2?eT~S=V>Iq5|4fbS@l5+PI<90O)5aZFv-
z{-7I*`r#90Z5HrSgU=dsgpnk5?TNyom7_`TM^@+iv+q@OQnFLB3o!zOw1-FDsZ|`T
zu=YA~Bw1jbF-d$SlN|kOWn5vEwm2Z>A8FZD_z+WWBPebOEjbeGD(MZ=TPSr~@YnLZU)h_#alQiZu;syu@U^WCAXKCKVZHf%!^8wGMR7*MP@UWP13nuk#~M$mU%
z$uszs);TA=a{4!`8Qm`Sn+rdD>w9SLzQ0p-yTPboznqn+ASr#=Td7#J^gVESP9li^
zi{+qONJ8-4_1gZ8&pUnyeZKH;^FF?wIQ-qc-o5j=ix69oFFJQK<>#B|k#6%g^Bx5=
zg}8(qIXM{t>6)*e9mylb4~qA6z6x{v$(W(tnHt&{T|3_Cyxupzb2YZJuAEW2NM+wC
zy^Cm4Xp*b$U?3N6t(SESgt9ByRYOfRav2BL4L5BTyMExBieFo==ue&BT!*e)T3lo5
zDDLL`TT0PQo#}RDFM1G`iU*85$sTyH1rh6w$KbJ^jI%9xJpkZ2Ot5#RJ6l;IaAcw?
zc1uS!m`LHE0YJ|nn1aRm;pt!xyf=Y_gs`91LBIr0B*Y1BrDjDz;e80`5Gvj-jfh?28eh%7933UC(#hWNXRd{2+nv*426JysnGq9kiSVeTiJk7WGWsE
zSJhI%!8FvtM|D(Ta2<7RO=YmU8cYkSrU`}VsK7K3oKsT`{QH1#yiq;95Ev7)-@Z6A
zB*ceKry!uvpr9btAPrSA)tiIW(SfR|L)Fz)I2tN628oUhRw2<8{#Y=<({NM*g-#%o
zz*`ov9^?Qz62f8ncL+p^mDN9nNwnXI;-m~3jHN(fs%lUoaVxH0+B7-_|6dyas!g+J
zQ1DO;o<-jJ7|Hhj9zgQ@T40Nl&|EJ)8M4T?#8vfJ1oXI~g0G`C@dMc;A
zjqo=rI2*RN7A8ja!Tlbd0QX!*+E1x@K*^ZD{)%J_pe^QRp=+j?jCO1cZN?ryPlN&29$7&Ac>xMM*DwQ*NxtIV%NlmI`lJr2JVZ!|SUM)s{m5-r-hrCim
zGEunpTX?76P{|0K32-Ym!wnJFjcNAROWZ-AL8+J1F_-(QHNzMCON{8s2|iO0D*vNr
zQhflINtwvCi<$Z|n(_I*HbSmD?h6-!bQZ5=hQ8L&m)|I~)%u)gyCW_QRg`w5P~OC1
z%uCbu%`2nB5zR=>{took!+yKEDi`b>pzAf)^KDGtUM8R*t#G@mH2=PKe4(Ipz-y*c
zc~Kzl;GA)s+53_RGg-}F1`$4QjX29!BLu$pn{&KmMu86HO}Y2@q{Jb7v=N}{+PQWx
zHF2LIb9qiO+DI~r+eb9ubK7oh6KFdUL6e;9wKv_RvXh$HuqHw)inh2kQGM>}%G4V%
zmjkEYsw}?{m%gW>#P7wTXwk}cZO--qydYul`!3w~l(JgX@=yG7|6z{6kO^>c^P;zI
zAmO}-iEA~6%U7@PbJN4EXW!v;|5owjl2$w4ZZqafWPCshmRxS}7Zwlg(*rDz;hg}s
SYs}WS&%*SCNx89m_
Date: Fri, 21 Nov 2025 18:05:02 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=99=BA=E6=85=A7=E5=85=85=E5=80=BC?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pageMarket/orderRecommendation/add.vue | 7 +++++++
pages/appliccation/marketing.vue | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/pageMarket/orderRecommendation/add.vue b/pageMarket/orderRecommendation/add.vue
index 44d4ce2..f192584 100644
--- a/pageMarket/orderRecommendation/add.vue
+++ b/pageMarket/orderRecommendation/add.vue
@@ -127,6 +127,13 @@ function save() {
});
return;
}
+ if(!form.guideDetail){
+ uni.showToast({
+ title: "请输入自定义引导语",
+ icon: "none",
+ });
+ return;
+ }
if(options.type=='edit'){
suggestApi
.editSuggest({
diff --git a/pages/appliccation/marketing.vue b/pages/appliccation/marketing.vue
index 22f1dbd..e15262a 100644
--- a/pages/appliccation/marketing.vue
+++ b/pages/appliccation/marketing.vue
@@ -64,7 +64,7 @@ const menuList = ref([
{
title: '智慧充值',
icon: '',
- pageUrl: 'PAGES_ORDER_INDEX',
+ pageUrl: 'PAGES_RECHARGE_INDEX',
intro: '允许客户充值并使用余额支付'
},
{