From 0ad4b5daa7bee2e6f31372b1799d084911a36227 Mon Sep 17 00:00:00 2001
From: YeMingfei666 <1619116647@qq.com>
Date: Fri, 21 Nov 2025 10:48:16 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B7=BB=E5=8A=A0=E5=88=B8?=
=?UTF-8?q?=E5=85=91=E6=8D=A2=E7=A0=81=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../my-components/my-date-pickerview.vue | 2 +-
http/api/market/couponRedemption.js | 77 ++++
jsconfig.json | 22 ++
pageMarket/components/choose-coupon.vue | 198 ++++++++++
pageMarket/components/coupon-list.vue | 22 ++
pageMarket/components/date-time-picker.vue | 108 ++++++
pageMarket/couponExchangeCode/add.vue | 173 +++++++++
pageMarket/couponExchangeCode/index.vue | 351 ++++++++++++++++++
pageMarket/newUserDiscount/index.vue | 2 +-
pageMarket/static/images/coupon_code.png | Bin 0 -> 1142 bytes
pages.json | 16 +
pages/appliccation/marketing.vue | 2 +-
12 files changed, 970 insertions(+), 3 deletions(-)
create mode 100644 http/api/market/couponRedemption.js
create mode 100644 jsconfig.json
create mode 100644 pageMarket/components/choose-coupon.vue
create mode 100644 pageMarket/components/coupon-list.vue
create mode 100644 pageMarket/components/date-time-picker.vue
create mode 100644 pageMarket/couponExchangeCode/add.vue
create mode 100644 pageMarket/couponExchangeCode/index.vue
create mode 100644 pageMarket/static/images/coupon_code.png
diff --git a/components/my-components/my-date-pickerview.vue b/components/my-components/my-date-pickerview.vue
index ad2e996..1240179 100644
--- a/components/my-components/my-date-pickerview.vue
+++ b/components/my-components/my-date-pickerview.vue
@@ -495,7 +495,7 @@
right: 0;
bottom: 0;
top: 0;
- z-index: 999;
+ z-index: 9999;
background-color: rgba(51, 51, 51, .5);
.item {
diff --git a/http/api/market/couponRedemption.js b/http/api/market/couponRedemption.js
new file mode 100644
index 0000000..74b5956
--- /dev/null
+++ b/http/api/market/couponRedemption.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/couponRedemption/enable`,
+ method: "PUT",
+ params: {
+ ...params,
+ },
+ });
+}
+
+export function status(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption/enable/status`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function couponRedemption(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function couponRedemptionList(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption/list`,
+ method: "get",
+ params: {
+ ...params,
+ },
+ });
+}
+export function add(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption`,
+ method: "POST",
+ params: {
+ ...params,
+ },
+ });
+}
+export function edit(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption`,
+ method: "PUT",
+ params: {
+ ...params,
+ },
+ });
+}
+export function codeList(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption/code/list`,
+ method: "GET",
+ params: {
+ ...params,
+ },
+ });
+}
+export function codeExport(params) {
+ return request({
+ url: urlType + `/admin/couponRedemption/code/export`,
+ method: "GET",
+ params: {
+ ...params,
+ },
+ });
+}
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..75d624b
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "ES6",
+ "module": "ESNext",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["src/*"] // 适配 uni-app 的 @ 路径别名(关键,避免导入路径报错)
+ },
+ "jsx": "preserve",
+ "allowJs": true
+ },
+ "include": [
+ "src/**/*",
+ "pages.json",
+ "uni.pages.json" // 包含 uni-app 配置文件,让 Vetur 识别页面结构
+ ],
+ "exclude": [
+ "node_modules",
+ "dist",
+ "unpackage" // 排除编译产物和依赖目录
+ ]
+ }
\ No newline at end of file
diff --git a/pageMarket/components/choose-coupon.vue b/pageMarket/components/choose-coupon.vue
new file mode 100644
index 0000000..3e74159
--- /dev/null
+++ b/pageMarket/components/choose-coupon.vue
@@ -0,0 +1,198 @@
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+ ¥{{ item.lowPrice }}
+
+
+
+
+ {{ cancelText }}
+ {{ confirmText }}
+
+
+
+
+
+
+
+
diff --git a/pageMarket/components/coupon-list.vue b/pageMarket/components/coupon-list.vue
new file mode 100644
index 0000000..7ffbeee
--- /dev/null
+++ b/pageMarket/components/coupon-list.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pageMarket/components/date-time-picker.vue b/pageMarket/components/date-time-picker.vue
new file mode 100644
index 0000000..9234ac3
--- /dev/null
+++ b/pageMarket/components/date-time-picker.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+ 请选择日期范围
+ {{ startTime }} - {{ endTime }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/couponExchangeCode/add.vue b/pageMarket/couponExchangeCode/add.vue
new file mode 100644
index 0000000..58b12a3
--- /dev/null
+++ b/pageMarket/couponExchangeCode/add.vue
@@ -0,0 +1,173 @@
+
+
+
+
+ 兑换码名称
+
+
+
+
+
+
+ 活动日期
+
+
+
+
+
+ 优惠券
+
+
+
+
+ 指定时间段可用
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/couponExchangeCode/index.vue b/pageMarket/couponExchangeCode/index.vue
new file mode 100644
index 0000000..2b6b0e4
--- /dev/null
+++ b/pageMarket/couponExchangeCode/index.vue
@@ -0,0 +1,351 @@
+
+
+
+
+
+
+
+
+ 券兑换码
+ 可添加多券组合兑换
+
+
+
+
+
+
+
+
+
+ 适用门店
+
+ 全部
+ {{ returnStatusText }}
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{
+ item.status == 0 ? "有效" : "无效"
+ }}
+
+
+
+ 有效期:{{ item.startTime }} 至 {{ item.endTime }}
+ 优惠券(张):
+ {{
+ item.couponNum
+ }}
+ {{ returnCoupon(item) }}
+
+
+ 查看
+
+
+
+
+
+
+ 添加兑换码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/newUserDiscount/index.vue b/pageMarket/newUserDiscount/index.vue
index 9b88fff..6233117 100644
--- a/pageMarket/newUserDiscount/index.vue
+++ b/pageMarket/newUserDiscount/index.vue
@@ -246,7 +246,7 @@ function save() {
});
return;
}
- if(form.discountType == "FIXED" && form.discountAmount == ""){
+ if(form.discountType == "FIXED" && !form.discountAmount ){
uni.showToast({
title:'请填写减免金额',
icon:'none'
diff --git a/pageMarket/static/images/coupon_code.png b/pageMarket/static/images/coupon_code.png
new file mode 100644
index 0000000000000000000000000000000000000000..286ccd1b7429b2127b423515817847ad3f106eed
GIT binary patch
literal 1142
zcmV-+1d02JP)N%w=;^3k@w&`X!6Xtse%tG?`%<)2UEvGD|5f|C1=lD5ywdP((zKVbhrv
z<)mpDHX@_~Ev;tzR!I--1FXh6uI8b%X!}OzR&xd=lP!JeZJ4R
z0s2i|9bPwOb@-8_TN3uO9G%h>wpKTX*DExE1s96#TFjJ`O8WaMA;p}&KDHT%AP8BZ
zh{GfUeGLMyy`%U63O|xN)5pI3Z9Oe2%xkW7Tp5Pb7AAWbCXrIP=5my
zrPA?oh8zGRhrpY&VfxkZ*>A9NXa4fWH?U(rG*rN=HBh1#%SMm`;L(ZD{VyzRg>~)l
z$*=j#mS14ix3Ks_7+nSr-JBgBJOG!AjJJ=4SJV}HPUITrt2x*$Aj-z9au{6Xd+`92
zkAz+Y?)b|$D#U81j>3YE8SZ=Y02FI={FHByw7TLV9nnqj#3Yzs0hbO+y=o>$-_$Kjs$
zVS#*iY3_F27`U518q#&&!!-4RXva8Qrw^z(jdaodC1u3GbsdA1s`f}TSf+HFE|NWBjrEO(#rO7ukrqak!LgIjc{roX
zo(0*8XkDrEw(~miKP%SnhPTz2LZ$rc&dAE$jTJ3*kWH~po%w}>l54{~iQkA!S#|-;
zxCZ7`z~nz5^BrEmL0iIcmQnMDu2x`*K9W2r_MI(+{An|
zh_WxJ8)o+pidXhEu^xS)4|q-sSbgt
zB4i_K1CoMX3C`@uH(N}L{T~1T0RR8JtKD+|000I_L_t&o0Fs8*sXY5!rT_o{07*qo
IM6N<$f~1-%{r~^~
literal 0
HcmV?d00001
diff --git a/pages.json b/pages.json
index 43be175..d634a26 100644
--- a/pages.json
+++ b/pages.json
@@ -712,7 +712,23 @@
"style": {
"navigationBarTitleText": "添加"
}
+ },
+ {
+ "pageId": "PAGES_MARKET_COUPON_EXCHANGE_CODE",
+ "path": "couponExchangeCode/index",
+ "style": {
+ "navigationBarTitleText": "券兑换码"
+ }
+ },
+ {
+ "pageId": "PAGES_MARKET_COUPON_EXCHANGE_CODE_ADD",
+ "path": "couponExchangeCode/add",
+ "style": {
+ "navigationBarTitleText": "添加券兑换码"
+ }
}
+
+
]
},
{
diff --git a/pages/appliccation/marketing.vue b/pages/appliccation/marketing.vue
index 70f09fd..5ddba3d 100644
--- a/pages/appliccation/marketing.vue
+++ b/pages/appliccation/marketing.vue
@@ -124,7 +124,7 @@ const menuList = ref([
{
title: '券兑换码',
icon: '',
- pageUrl: '',
+ pageUrl: 'PAGES_MARKET_COUPON_EXCHANGE_CODE',
intro: '可添加多券组合兑换'
},
{