From 23d4ddb7c54fc494c16787480856f2028d61e8d5 Mon Sep 17 00:00:00 2001 From: xixi <123@qq.com> Date: Wed, 11 Sep 2024 14:04:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CouponModal/HeadCouponModal.css | 7 +- .../CouponModal/HeadCouponModal.tsx | 92 ++++++++---- .../CouponModal/SelectCouponModal.tsx | 2 +- src/route/index/Index.tsx | 141 ++++++++++++++++-- src/static/coupon/overdueImg.png | Bin 14093 -> 13023 bytes 5 files changed, 195 insertions(+), 47 deletions(-) diff --git a/src/components/CouponModal/HeadCouponModal.css b/src/components/CouponModal/HeadCouponModal.css index 2f6624d..4a89d0f 100644 --- a/src/components/CouponModal/HeadCouponModal.css +++ b/src/components/CouponModal/HeadCouponModal.css @@ -124,13 +124,14 @@ .content-button { width: 94px; height: 32px; - background: #1677FF; + background: #d3d3d3; border-radius: 10px; font-size: 16px; color: #FFFFFF; text-align: center; line-height: 32px; cursor: pointer; + } .content-projName { @@ -143,6 +144,10 @@ height: 30px; line-height: 30px; border-top: 1px dashed #DCDCDC; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } .noDatebox { diff --git a/src/components/CouponModal/HeadCouponModal.tsx b/src/components/CouponModal/HeadCouponModal.tsx index 411b795..67cbd1f 100644 --- a/src/components/CouponModal/HeadCouponModal.tsx +++ b/src/components/CouponModal/HeadCouponModal.tsx @@ -1,8 +1,9 @@ import { useEffect, useState } from 'react' import './HeadCouponModal.css' -import { get, - // getCouponUrl - } from '../../util/AjaxUtils' +import { + get, + getCouponUrl +} from '../../util/AjaxUtils' import { Pagination, message, @@ -17,12 +18,12 @@ import overdueImg from '../../static/coupon/overdueImg.png' export default function HeadCouponModal(props: any) { const [messageApi, contextHolder] = message.useMessage(); const [loading, setLoading] = useState(false) - const [title, setTitle] = useState('未使用') + const [title, setTitle] = useState('可用') // 分页 const [page, setPage] = useState(1) const [total, setTotal] = useState(0) // 是否有效 - const [isEffective, setisEffective] = useState(1) + const [isEffective, setisEffective] = useState(null) const [isUsed, setisUsed] = useState(0) // 展示的优惠券数组 const [couponArray, setCouponArray] = useState([]) @@ -62,34 +63,34 @@ export default function HeadCouponModal(props: any) {
{contextHolder}
-
{ - setTitle('未使用') + setTitle('可用') setisUsed(0) setisEffective(1) setPage(1) }} - >未使用
+ >可用
{ setTitle('已使用') setisUsed(1) - setisEffective(1) + setisEffective(null) setPage(1) }} >已使用
-
{ - setTitle('已过期') + setTitle('不可用') setisUsed(0) setisEffective(0) setPage(1) }} - >已过期
+ >不可用
-
+
{/*
@@ -148,16 +149,36 @@ export default function HeadCouponModal(props: any) {
-
- 可购买平台内任意软著时使用 +
+
+ 可购买平台内任意软著时使用 +
+
{ + // window.open('https://www.aimzhu.com/CouponRule.html') + + getCouponUrl() + }}> + 使用规则 +
- 有效期:{item.coupon.gmtStart} 至 {item.coupon.gmtEnd} + 有效期 : {item.coupon.useGmtStart} 至 {item.coupon.useGmtEnd}
-
{ - props.closeModal() - }}> +
{ + if (item.coupon.isEffective) { + props.closeModal() + } + }} + title={item.coupon.isEffective ? '' : '不在有效期'} + > 去使用
@@ -181,7 +202,7 @@ export default function HeadCouponModal(props: any) {
- +
@@ -207,11 +228,11 @@ export default function HeadCouponModal(props: any) {
- 有效期:{item.coupon.gmtStart} 至 {item.coupon.gmtEnd} + 有效期 : {item.coupon.useGmtStart} 至 {item.coupon.useGmtEnd}
-
+
{/* 使用的产品 */} {item.productName}
@@ -239,7 +260,7 @@ export default function HeadCouponModal(props: any) {
-
+
{couponArray.map((item) => { return (
@@ -256,22 +277,31 @@ export default function HeadCouponModal(props: any) {
-
- 可购买平台内任意软著时使用 +
+
+ 可购买平台内任意软著时使用 +
+
- 有效期至:{item.coupon.gmtEnd} + 有效期 : {item.coupon.useGmtStart} 至 {item.coupon.useGmtEnd}
+
-
- -
+ +
+
+
- -
+ ) })}
10 ? 'unset' : 'none' }}> diff --git a/src/components/CouponModal/SelectCouponModal.tsx b/src/components/CouponModal/SelectCouponModal.tsx index d9ee118..5b1f993 100644 --- a/src/components/CouponModal/SelectCouponModal.tsx +++ b/src/components/CouponModal/SelectCouponModal.tsx @@ -102,7 +102,7 @@ export default function SelectCouponModal(props: any) { {item.coupon.title}
- 有效期至{item.coupon.gmtEnd} + 有效期 : {item.coupon.useGmtStart} 至 {item.coupon.useGmtEnd}
diff --git a/src/route/index/Index.tsx b/src/route/index/Index.tsx index dcd3297..a6d4d3f 100644 --- a/src/route/index/Index.tsx +++ b/src/route/index/Index.tsx @@ -33,7 +33,7 @@ import { CloseOutlined } from '@ant-design/icons'; import { useLocation } from 'react-router-dom'; -import { get, downloadUrl, post } from '../../util/AjaxUtils.ts' +import { get, downloadUrl, post, getCouponUrl } from '../../util/AjaxUtils.ts' import { setMenuActive } from '../../util/cache.ts' import gpsImg from '../../static/right/gps.png' import backImg from '../../static/right/back.png' @@ -485,6 +485,10 @@ export default function Index() { const [correctionSearchBox, setCorrectionSearchBox] = useState(false) // 优惠券遮罩层是否i西安市 const [coupon, setCoupon] = useState(false) + // 获取优惠券弹出层是否显示 + const [getCouponModal, setGetCouponModal] = useState(false) + // 优惠券数组 + const [couponArray, setCouponArray] = useState([]) //优惠券id const [couponId, setCouponId] = useState('') // 优惠券图片 const imgSrc = `${Axios.defaults?.baseURL}/route/file/v2/download/true/${data.data.couponId}`; @@ -493,7 +497,7 @@ export default function Index() { const getCoupon = () => { get({ messageApi, - url: `/api/coupon/get-can-claim`, + url: `/api/coupon/list-can-claim`, // url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`, config: { params: { @@ -505,11 +509,20 @@ export default function Index() { }, onSuccess(data: any) { // console.log(data.data); - if (data.data.couponId) { - setCouponId(data.data.couponId) - setCouponImg(data.data.logo) + // if (data.data.couponId) { + // setCouponId(data.data.couponId) + // setCouponImg(data.data.logo) + // setCoupon(true) + // } + setCouponArray(data.data) + if (data.data.length == 1) { + setCouponId((data.data)[0].couponId) + setCouponImg((data.data)[0].logo) setCoupon(true) } + if (data.data.length > 1) { + setGetCouponModal(true) + } }, onFinally() { @@ -517,7 +530,7 @@ export default function Index() { }, }) } - // 领取优惠券 + // 领取优惠券单张 const receiveCoupon = () => { post({ messageApi, @@ -540,6 +553,52 @@ export default function Index() { } }) } + // 领取优惠券(多张) + const receiveCoupons = (id: string) => { + post({ + messageApi, + url: `/api/coupon/user/save`, + body: { + couponId: id + }, + onBefore() { + + }, + onSuccess() { + messageApi.success('领取成功') + //更新列表 + get({ + messageApi, + url: `/api/coupon/list-can-claim`, + // url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`, + config: { + params: { + + } + }, + onBefore() { + + }, + onSuccess(data: any) { + setCouponArray(data.data) + if (data.data.length == 0) { + setTimeout(() => { + setGetCouponModal(false) + // getCoupon() + }, 500) + } + + }, + onFinally() { + + }, + }) + }, + onFinally() { + + } + }) + } useEffect(() => { // const nowname = sessionStorage.getItem('now') if (location.pathname == '/') { @@ -1575,22 +1634,74 @@ export default function Index() { setMenuActive('ALL') }}> - {/* { // setCouponModal(false) // setUnRead(0) - + setGetCouponModal(false) }}> - 嘻嘻嘻 - */} -
-
+
+ {couponArray.map((item: any) => { + return ( +
+
+
+
+
+ + {item.amount / 100} +
+ +
+
+
+
+
+ 可购买平台内任意软著时使用 +
+
{ + // window.open('https://www.aimzhu.com/CouponRule.html') + + getCouponUrl() + }}> + 使用规则 +
+
+
+
+ 有效期:{item.useGmtStart} 至 {item.useGmtEnd} +
+ +
{ + // props.closeModal() + receiveCoupons(item.couponId) + + }}> + 立即领取 +
+
+
+ +
+ +
+ ) + + })} +
+ +
+ +
{ @@ -1612,6 +1723,8 @@ export default function Index() {
+ + ) } \ No newline at end of file diff --git a/src/static/coupon/overdueImg.png b/src/static/coupon/overdueImg.png index ff460262cb5376b3d49c6c1b9138ff5d21bfc581..b6d9c0e24a06c8b01cfcb6b2842c8dc2d7005c10 100644 GIT binary patch literal 13023 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 V_krUcz&BPv5P5aEDjD;T{{h}aI&uI2 literal 14093 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 SUjxs#LCJnnl&pmq2mTNB06Fgf