diff --git a/.env b/.env
index 58833d9..235df28 100644
--- a/.env
+++ b/.env
@@ -21,14 +21,14 @@ VITE_OAUTH2_APP_CLIENT='mini:mini'
#VITE_APP_DEV_SERVICE = http://59.202.170.152:81/api # 信创线上
# VITE_APP_DEV_SERVICE = http://192.168.101.174:9999 # 邓-本地
VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 # 邓-本地
-#VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上
+# VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上
# --------------------------- 开发环境 图片访问基础地址 ---------------------------
# VITE_IMAGE_DEV_PATH = https://stgl.pj.gov.cn/api # 域名线上
#VITE_IMAGE_DEV_PATH = http://59.202.170.152:81/api # 信创线上
# VITE_IMAGE_DEV_PATH = http://192.168.101.174:9999 # 邓-本地
-VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999
-#VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上
+#VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999
+VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上
# --------------------------- 生产环境 api地址 ----------------------------------
VITE_APP_PROD_SERVICE = https://stgl.pj.gov.cn/api # 域名线上
diff --git a/package.json b/package.json
index ea80943..c9270c2 100644
--- a/package.json
+++ b/package.json
@@ -90,4 +90,4 @@
"vite": "5.2.8",
"vue-tsc": "^1.0.24"
}
-}
+}
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index 667f094..f6c2fc5 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -119,6 +119,20 @@
"disableScroll": true
}
},
+ {
+ "path": "cancel-qrcode",
+ "style": {
+ "navigationBarTitleText": "活动",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "my-act-list",
+ "style": {
+ "navigationBarTitleText": "我参加的活动",
+ "disableScroll": true
+ }
+ },
{
"path": "merchant-activity",
"style": {
@@ -706,4 +720,4 @@
}
]
}
-}
+}
\ No newline at end of file
diff --git a/src/pages/cabinet/openDoor.vue b/src/pages/cabinet/openDoor.vue
index 1cc225d..8f222d9 100644
--- a/src/pages/cabinet/openDoor.vue
+++ b/src/pages/cabinet/openDoor.vue
@@ -1,23 +1,18 @@
-
+ }" @change="payMethodTabChange" />
-
+
{{ state.isUseDoorTip }}
去充值
@@ -55,18 +50,8 @@
-
+
{{ state.authDesc }}
@@ -147,7 +132,7 @@ const openDoor = async () => {
}
// 支付方式tab改变
-const payMethodTabChange = (e: number) => {}
+const payMethodTabChange = (e: number) => { }
// 确认或拒绝协议
const appAuthHardDoor = async (type: 1 | 0) => {
diff --git a/src/pages/integrated/notice/detail.vue b/src/pages/integrated/notice/detail.vue
index 0bdfd17..6f836d6 100644
--- a/src/pages/integrated/notice/detail.vue
+++ b/src/pages/integrated/notice/detail.vue
@@ -6,7 +6,8 @@
{{ detail.title }}
-
+ {{ getTypeLabel(detail.type)
+ }}
{{ formatTime(detail.createTime) }}
浏览 {{ detail.viewCount }}
@@ -18,7 +19,8 @@
附件
-
+
{{ file.name }}
{{ formatFileSize(file.size) }}
@@ -30,21 +32,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/merchant/components/cancel-card.vue b/src/pages/merchant/components/cancel-card.vue
new file mode 100644
index 0000000..4196fc5
--- /dev/null
+++ b/src/pages/merchant/components/cancel-card.vue
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥
+ {{ detail.faceValue }}
+
+ {{ detail.actTitlel }}
+
+
+ 活动商户:{{ detail.mchName }}
+
+
+ {{ actCouponTypeEnum[detail.couponType] }}
+ 有限期至 {{ detail.expireTime }}
+
+
+
+
+
+
+
+
+
+
+
+ 核销码
+
+
+
+
+
diff --git a/src/pages/merchant/components/coupon-card.vue b/src/pages/merchant/components/coupon-card.vue
new file mode 100644
index 0000000..e0b606c
--- /dev/null
+++ b/src/pages/merchant/components/coupon-card.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+ ¥
+ {{ detail.faceValue }}
+
+ {{ detail.couponName }}
+
+
+ 满{{ detail.minPoint }}可用
+
+
+ {{ actCouponTypeEnum[detail.couponType] }}
+ 有限期至 {{ detail.endTime }}
+
+
+
+
+
+
+
+
+
+
+
+ 核销码
+
+
+
+
+
diff --git a/src/pages/merchant/coupon-list.vue b/src/pages/merchant/coupon-list.vue
index db18065..2ebf57c 100644
--- a/src/pages/merchant/coupon-list.vue
+++ b/src/pages/merchant/coupon-list.vue
@@ -1,35 +1,13 @@
-
+
-
+
搜 索
@@ -39,12 +17,9 @@
-
+
{{ getActStatus(item.actStatus)?.name }}
diff --git a/src/pages/merchant/merchant-activity.vue b/src/pages/merchant/merchant-activity.vue
index 3b2041c..8907c12 100644
--- a/src/pages/merchant/merchant-activity.vue
+++ b/src/pages/merchant/merchant-activity.vue
@@ -1,77 +1,142 @@
-
+
兑换券
限时领取
- {{ (state.couponDetail.startTime?.split(" ")[0] || "") + "~" + (state.couponDetail.expireTime?.split(" ")[0] || "") }}
+ {{ (state.actDetail.startTime?.split(" ")[0] || "") + "~" +
+ (state.actDetail.expireTime?.split(" ")[0] || "") }}
- {{ state.couponDetail.actTitle }}
+ {{ state.actDetail.actTitle }}
- ¥{{ hooks.useMoney(state.couponDetail.activeCancelPrice) }}
- ¥{{ hooks.useMoney(state.couponDetail.activeOrgPrice) }}
+ ¥{{ hooks.useMoney(state.actDetail.activeCancelPrice) }}
+ ¥{{ hooks.useMoney(state.actDetail.activeOrgPrice)
+ }}
限量领取 先领先得
- 已 核 销
+
+
+
+
+
+ {{ actCouponTypeEnum[state.actDetail.type] }}
+
+
+
+ {{ actCouponTypeEnum[state.actDetail.type] }}
+
+ {{ state.actDetail.name }}
+
+
+ {{ state.actDetail.validStartTime }}
+ ~
+ {{ state.actDetail.validEndTime }}
+
+
+
+
+
+ 领取后请在
+ {{ state.actDetail.validStartTime }}
+ ~
+ {{ state.actDetail.validEndTime }}
+ 时间段内使用
+
+
+ 领取后请在
+ {{ state.actDetail.validDays }}
+ 天内使用
+
+
+
+ {{ state.actDetail.description }}
+
+
+
+ 已 核 销
+
- 立 即 领 取
- 已 领 取
+ 立 即 领 取
+
+ {{ actUserReceiveEnum[state.actUserReceiveStatus] || "未知状态" }}
+
-
-
- 我的核销码
+
+ 我的礼券
-
-
-
-
-
-
-
+
@@ -139,6 +245,14 @@ const genVerificationCode = async () => {
background-color: #1879ff77;
}
+.activity-sr-card {
+ /* background-image: url("../../static/page/act_li_quan.jpg");
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: 150%;
+ background-color: red; */
+}
+
.ribbon {
width: 160rpx;
height: 40rpx;
diff --git a/src/pages/merchant/my-act-list.vue b/src/pages/merchant/my-act-list.vue
new file mode 100644
index 0000000..c96fffb
--- /dev/null
+++ b/src/pages/merchant/my-act-list.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/tabbar/my.vue b/src/pages/tabbar/my.vue
index 8bcc75f..8c2c3b5 100644
--- a/src/pages/tabbar/my.vue
+++ b/src/pages/tabbar/my.vue
@@ -1,17 +1,25 @@
-
-
-
-
- {{ state.userInfo?.sysUser?.name }}
- ID {{ state.userInfo?.sysUser?.userId }}
+
+
+
+
+
+
+ {{ state.userInfo?.sysUser?.name }}
+
+
+
+ {{ dayjs(state.userInfo.sysUser.birthday).format("MM-DD") }}
+
+
+
+ ID {{ state.userInfo?.sysUser?.userId }}
+
请先登录
@@ -21,7 +29,8 @@
-
+
{{ v.text }}
@@ -31,13 +40,15 @@
-
+
退出登录
-
+
切换角色
@@ -50,7 +61,10 @@
-
+
+
+
是否核销该活动兑换券?
确认核销将自动对用户的 消费钱包 扣费
@@ -63,7 +77,8 @@
+
+
+
+
+ {{ warnText }}
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+
+
+
+
\ No newline at end of file
diff --git a/src/sheep/components/verifyDeviceImpModel/verifyDeviceImpModel.ts b/src/sheep/components/verifyDeviceImpModel/verifyDeviceImpModel.ts
index e2a25d8..29d3b00 100644
--- a/src/sheep/components/verifyDeviceImpModel/verifyDeviceImpModel.ts
+++ b/src/sheep/components/verifyDeviceImpModel/verifyDeviceImpModel.ts
@@ -1,3 +1,4 @@
+// #ifdef WEB
import { h, render } from "vue"
import VerifyDeviceImpModel from "./verify-device-imp-model.vue"
@@ -24,3 +25,9 @@ const showVerifyDeviceImpModel = (onClose: () => any = () => null) => {
}
export default showVerifyDeviceImpModel
+// #endif
+
+// #ifndef WEB
+const showVerifyDeviceImpModel = (onClose: () => any = () => null) => {}
+export default showVerifyDeviceImpModel
+// #endif
diff --git a/src/sheep/constant/service-enum.ts b/src/sheep/constant/service-enum.ts
index 1bde5f7..4feaea0 100644
--- a/src/sheep/constant/service-enum.ts
+++ b/src/sheep/constant/service-enum.ts
@@ -55,6 +55,35 @@ const actCancelStatusEnum = {
"3": "已过期",
}
+const actCouponLimitTypeEnum = {
+ "1": "活动期间一次",
+ "2": "每天",
+ "3": "每周",
+ "4": "每月",
+ "5": "每年",
+}
+
+const actCouponTypeEnum = {
+ "1": "满减券",
+ "2": "折扣券",
+ "3": "立减券",
+ "4": "兑换券",
+}
+
+// 用户活动状态
+const actUserReceiveEnum = {
+ "1": "活动不在进行中",
+ "2": "活动不存在",
+ "3": "活动未开启",
+ "4": "用户参加活动已达上限",
+ "5": "用户不能参加此活动",
+ "6": "其他错误",
+ "99": "用户可以参加活动",
+ // 特殊
+ "-100": "请在生日当月领取",
+ "-101": "请填写出生日期",
+}
+
export default {
hardwareOrderStatusEnum,
hardwareOrderTypeEnum,
@@ -64,4 +93,7 @@ export default {
hardwareRefundStatusEnum,
carTypeEnum,
actCancelStatusEnum,
+ actCouponLimitTypeEnum,
+ actCouponTypeEnum,
+ actUserReceiveEnum,
}
diff --git a/src/static/icon/act.png b/src/static/icon/act.png
new file mode 100644
index 0000000..7f49d45
Binary files /dev/null and b/src/static/icon/act.png differ
diff --git a/src/static/icon/act_cancel.png b/src/static/icon/act_cancel.png
new file mode 100644
index 0000000..56792bb
Binary files /dev/null and b/src/static/icon/act_cancel.png differ
diff --git a/src/static/icon/act_coupon.png b/src/static/icon/act_coupon.png
new file mode 100644
index 0000000..47da934
Binary files /dev/null and b/src/static/icon/act_coupon.png differ
diff --git a/src/static/icon/birthday.png b/src/static/icon/birthday.png
new file mode 100644
index 0000000..c383e4e
Binary files /dev/null and b/src/static/icon/birthday.png differ
diff --git a/src/static/icon/birthday_coupon.jpg b/src/static/icon/birthday_coupon.jpg
new file mode 100644
index 0000000..16d674c
Binary files /dev/null and b/src/static/icon/birthday_coupon.jpg differ
diff --git a/src/static/page/act_li_quan.jpg b/src/static/page/act_li_quan.jpg
new file mode 100644
index 0000000..38cb1f1
Binary files /dev/null and b/src/static/page/act_li_quan.jpg differ
diff --git a/unocss.config.ts b/unocss.config.ts
index e16d390..94e1092 100644
--- a/unocss.config.ts
+++ b/unocss.config.ts
@@ -1,103 +1,102 @@
-import presetWeapp from "unocss-preset-weapp";
-import {
- extractorAttributify,
- transformerClass,
-} from "unocss-preset-weapp/transformer";
+import { defineConfig } from "unocss"
+import { presetWeapp } from "unocss-preset-weapp"
+import { extractorAttributify, transformerClass } from "unocss-preset-weapp/transformer"
-const { presetWeappAttributify, transformerAttributify } =
- extractorAttributify();
+const { presetWeappAttributify, transformerAttributify } = extractorAttributify()
export default {
- presets: [
- presetWeapp({
- whRpx: true,
- }),
- presetWeappAttributify(),
- ],
- shortcuts: [
- {
- "border-base": "border border-gray-500_10",
- "flex-col-center": "flex flex-col justify-center items-center",
- "flex-row-center": "flex flex-row justify-center items-center",
- "flex-col": "flex flex-col",
- "flex-row": "flex flex-row",
- },
- ],
- theme: {
- colors: {
- blue: {
- DEFAULT: "#0094ff",
- },
- red: {
- DEFAULT: "#f63a36",
- },
- yellow: {
- DEFAULT: "#F2A817",
- },
- },
- },
- rules: [
- [
- /^main-text-(\d+)$/,
- ([, d]) => ({
- "font-size": `${d}rpx`,
- "font-weight": 800,
- color: "#000",
- "line-height": `1.4em`,
- }),
- ],
- [
- /^sub-text-(\d+)$/,
- ([, d]) => ({
- "font-size": `${d}rpx`,
- "font-weight": 500,
- color: "#333",
- "line-height": `1.4em`,
- }),
- ],
- [
- /^second-text-(\d+)$/,
- ([, d]) => ({
- "font-size": `${d}rpx`,
- "font-weight": 500,
- color: "#999",
- "line-height": `1.4em`,
- }),
- ],
- [
- "card",
- {
- "background-color": "white",
- "box-shadow": "0rpx 8rpx 26rpx -4rpx rgba(210,210,210,0.5)",
- "border-radius": "16rpx",
- },
- ],
- [
- "shadow-main",
- {
- "box-shadow": "0rpx 0rpx 4rpx 0rpx rgba(0, 0, 0, 0.1)",
- },
- ],
- [
- /^show-line$/,
- ([, d]) => ({
- overflow: "hidden",
- "white-space": "nowrap",
- "text-overflow": "ellipsis",
- }),
- ],
- [
- /^show-line-(\d+)$/,
- ([, d]) => ({
- display: "-webkit-box !important",
- overflow: "hidden",
- "text-overflow": "ellipsis !important",
- "word-break": "break-all",
- "-webkit-line-clamp": d,
- "-webkit-box-orient": "vertical !important",
- }),
- ],
- ],
-
- transformers: [transformerAttributify(), transformerClass()],
-};
+ content: {
+ filesystem: ["src/**/*.{vue,js,ts,jsx,tsx}"],
+ },
+ presets: [
+ presetWeapp({
+ whRpx: true,
+ }),
+ presetWeappAttributify(),
+ ],
+ transformers: [transformerAttributify(), transformerClass()],
+ shortcuts: [
+ {
+ "border-base": "border border-gray-500_10",
+ "flex-col-center": "flex flex-col justify-center items-center",
+ "flex-row-center": "flex flex-row justify-center items-center",
+ "flex-col": "flex flex-col",
+ "flex-row": "flex flex-row",
+ },
+ ],
+ theme: {
+ colors: {
+ blue: {
+ DEFAULT: "#0094ff",
+ },
+ red: {
+ DEFAULT: "#f63a36",
+ },
+ yellow: {
+ DEFAULT: "#F2A817",
+ },
+ },
+ },
+ rules: [
+ [
+ /^main-text-(\d+)$/,
+ ([, d]) => ({
+ "font-size": `${d}rpx`,
+ "font-weight": 800,
+ color: "#000",
+ "line-height": `1.4em`,
+ }),
+ ],
+ [
+ /^sub-text-(\d+)$/,
+ ([, d]) => ({
+ "font-size": `${d}rpx`,
+ "font-weight": 500,
+ color: "#333",
+ "line-height": `1.4em`,
+ }),
+ ],
+ [
+ /^second-text-(\d+)$/,
+ ([, d]) => ({
+ "font-size": `${d}rpx`,
+ "font-weight": 500,
+ color: "#999",
+ "line-height": `1.4em`,
+ }),
+ ],
+ [
+ "card",
+ {
+ "background-color": "white",
+ "box-shadow": "0rpx 8rpx 26rpx -4rpx rgba(210,210,210,0.5)",
+ "border-radius": "16rpx",
+ },
+ ],
+ [
+ "shadow-main",
+ {
+ "box-shadow": "0rpx 0rpx 4rpx 0rpx rgba(0, 0, 0, 0.1)",
+ },
+ ],
+ [
+ /^show-line$/,
+ ([, d]) => ({
+ overflow: "hidden",
+ "white-space": "nowrap",
+ "text-overflow": "ellipsis",
+ }),
+ ],
+ [
+ /^show-line-(\d+)$/,
+ ([, d]) => ({
+ display: "-webkit-box !important",
+ overflow: "hidden",
+ "text-overflow": "ellipsis !important",
+ "word-break": "break-all",
+ "-webkit-line-clamp": d,
+ "-webkit-box-orient": "vertical !important",
+ }),
+ ],
+ ],
+}