Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
华
华夏模拟理财_20250701
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
SparkProjects
华夏模拟理财_20250701
Commits
76e7e2f6
Commit
76e7e2f6
authored
Jul 18, 2025
by
haiyoucuv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
4dac8fc5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
290 additions
and
118 deletions
+290
-118
index.ts
mock/index.ts
+4
-118
我的奖品.jpg
src/assets/PrizePage/我的奖品.jpg
+0
-0
我的奖品按钮.png
src/assets/homePage/我的奖品按钮.png
+0
-0
HomePage.less
src/pages/HomePage/HomePage.less
+8
-0
HomePage.tsx
src/pages/HomePage/HomePage.tsx
+7
-0
PrizePage.module.less
src/pages/PrizePage/PrizePage.module.less
+212
-0
PrizePage.tsx
src/pages/PrizePage/PrizePage.tsx
+59
-0
No files found.
mock/index.ts
View file @
76e7e2f6
...
...
@@ -66,8 +66,8 @@ export default [
"success"
:
true
,
"message"
:
"message"
,
"timeStamp"
:
Date
.
now
(),
"data"
:
[
{
"data"
:
new
Array
(
100
).
fill
(
1
).
map
(()
=>
{
return
{
"extra"
:
{
"name"
:
"优惠券-大转盘02优惠券-大转盘02优惠券-大转盘02"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
...
...
@@ -84,122 +84,8 @@ export default [
"moneyStatus"
:
1
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘03"
,
"icon"
:
"//yun.duiba.com.cn/polaris/%E6%95%B0%E6%8D%AE%E5%86%B3%E7%AD%96%E5%B7%A5%E5%85%B7.531c2dae250ab379fd6216eb038e60bc12ab9dd6.png"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"strategyId"
:
11
,
"gmtCreate"
:
1565213116000
,
"id"
:
330
,
"prizeId"
:
"g0e432eeb"
,
"type"
:
4
,
"moneyStatus"
:
10
,
"moneyCanReissueStartTimestamp"
:
Date
.
now
()
-
1565213353000
,
"moneyCanReissueEndTimestamp"
:
Date
.
now
()
+
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘05"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"strategyId"
:
11
,
"gmtCreate"
:
1565212826000
,
"id"
:
329
,
"prizeId"
:
"g900c8442"
,
"type"
:
4
,
"moneyStatus"
:
11
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘01"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"gmtCreate"
:
1565205625000
,
"id"
:
328
,
"strategyId"
:
11
,
"prizeId"
:
"g4c7ba888"
,
"type"
:
4
,
"moneyStatus"
:
2
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘05"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"strategyId"
:
11
,
"gmtCreate"
:
1565203101000
,
"id"
:
327
,
"prizeId"
:
"g900c8442"
,
"type"
:
1
,
"moneyStatus"
:
1
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘03"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"strategyId"
:
11
,
"gmtCreate"
:
1565203040000
,
"id"
:
326
,
"prizeId"
:
"g0e432eeb"
,
"type"
:
1
,
"moneyStatus"
:
1
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
{
"extra"
:
{
"name"
:
"优惠券-大转盘04"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"gmtCreate"
:
1565197386000
,
"id"
:
325
,
"prizeId"
:
"gc1a8c03c"
},
{
"extra"
:
{
"name"
:
"last"
,
"icon"
:
"//yun.dui88.com/images/201907/tua0um9jjp.jpg"
,
"refType"
:
"coupon"
,
"refId"
:
"49354"
,
"type"
:
2
},
"gmtCreate"
:
1565197080000
,
"id"
:
324
,
"strategyId"
:
11
,
"prizeId"
:
"g0e432eeb"
,
"type"
:
1
,
"moneyStatus"
:
1
,
"moneyCanReissueStartTimestamp"
:
1565213353000
,
"moneyCanReissueEndTimestamp"
:
1565213353000
,
},
],
}
})
}
},
},
...
...
src/assets/PrizePage/我的奖品.jpg
0 → 100644
View file @
76e7e2f6
59 KB
src/assets/homePage/我的奖品按钮.png
0 → 100644
View file @
76e7e2f6
2.61 KB
src/pages/HomePage/HomePage.less
View file @
76e7e2f6
...
...
@@ -699,4 +699,12 @@
position: absolute;
.sparkBg("homePage/rule_btn.png");
}
.prize_btn {
width: 40px;
height: 113px;
left: 710px;
top: 189px;
position: absolute;
.sparkBg("homePage/我的奖品按钮.png");
}
}
src/pages/HomePage/HomePage.tsx
View file @
76e7e2f6
...
...
@@ -14,6 +14,7 @@ import DetailPage from '../DetailPage/DetailPage';
import
ResPage
from
'../ResPage/ResPage'
;
import
Countdown
from
'@/core/components/ComCountdown/index.jsx'
;
import
ProductListPage
from
'../productListPage/productListPage'
;
import
PrizePage
from
"@/pages/PrizePage/PrizePage.tsx"
;
@
observer
class
HomePage
extends
React
.
Component
<
any
,
any
>
{
...
...
@@ -68,6 +69,11 @@ class HomePage extends React.Component<any, any> {
ModalCtrl
.
showModal
(
Rulepop
)
})
reallyPrizeHandle
=
_asyncThrottle
(()
=>
{
if
(
!
store
.
judgeActTime
(
true
,
false
))
return
PageCtrl
.
changePage
(
PrizePage
)
})
/** 跳转结果页 */
prizeHandle
=
_asyncThrottle
(()
=>
{
if
(
!
store
.
judgeActTime
(
true
,
false
))
return
...
...
@@ -271,6 +277,7 @@ class HomePage extends React.Component<any, any> {
{
!
curTabProductList
?.
length
&&
curTab
==
2
&&
<
div
className=
"empty"
>
暂无持仓产品哦
</
div
>
}
</
div
>
<
Button
className=
"rule_btn md5"
onClick=
{
this
.
ruleHandle
}
/>
<
Button
className=
"prize_btn"
onClick=
{
this
.
reallyPrizeHandle
}
/>
</
div
>
</
div
>
);
...
...
src/pages/PrizePage/PrizePage.module.less
0 → 100644
View file @
76e7e2f6
@import "../../res.less";
.PrizePage {
width: 100%;
height: 100%;
left: 0;
top: 0;
position: absolute;
overflow-x: hidden;
overflow-y: auto;
display: flex;
align-items: center;
justify-content: center;
.bg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1624px;
.webpBg("PrizePage/我的奖品.jpg");
background-size: 750px 1746px;
background-position: left top;
}
.rankBg {
position: absolute;
left: 21px;
top: 112px;
width: 709px;
height: 407px;
.webpBg("ResPage/rankBg.png");
.rankTip {
position: absolute;
background-color: rgb(249, 231, 208);
left: 234px;
border-radius: 11px;
width: 417px;
height: 52px;
display: flex;
align-items: center;
justify-content: flex-start;
padding-left: 21px;
box-sizing: border-box;
font-size: 24px;
color: #a3741f;
font-weight: bold;
span {
margin-left: 16px;
font-weight: normal;
}
}
.rankImg {
position: absolute;
left: 45px;
top: 131px;
width: 176px;
height: 202px;
//.webpBg("ResPage/理财大明星.png");
}
.rank1 {
top: 109px;
background: none;
span {
margin-left: 4px;
font-size: 30px;
color: #ee4e32;
font-weight: bold;
height: 40px;
}
}
.rank2 {
top: 169px;
}
.rank3 {
top: 229px;
}
.rank4 {
top: 287px;
}
}
.tab {
position: absolute;
left: 19px;
top: 536px;
width: 713px;
height: 1041px;
&.tab1 {
.webpBg("ResPage/bg1.png");
}
&.tab2 {
.webpBg("ResPage/bg2.png");
}
.tabBtn1 {
position: absolute;
left: 0;
top: 0;
width: 50%;
height: 80px;
}
.tabBtn2 {
position: absolute;
left: 50%;
top: 0;
width: 50%;
height: 80px;
}
}
.listNone {
position: absolute;
left: 223px;
top: 913px;
width: 271px;
height: 264px;
.webpBg("ResPage/空状态.png");
}
.prizeList {
position: absolute;
left: 19px;
top: 140px;
width: 713px;
height: 1330px;
overflow-x: hidden;
overflow-y: auto;
.prizeItem {
position: relative;
width: 713px;
height: 146px;
.itemImg {
border-radius: 20px;
background-color: #f0f0f0;
position: absolute;
left: 31px;
top: 16px;
width: 110px;
height: 110px;
}
.itemName {
font-size: 30px;
color: #262626;
position: absolute;
width: 350px;
left: 164px;
top: 39px;
font-weight: bold;
.lineClamp1();
}
.itemDate {
position: absolute;
left: 164px;
top: 80px;
font-size: 24px;
color: rgb(133, 133, 133);
}
.itemBtn {
position: absolute;
left: 530px;
top: 37px;
width: 157px;
height: 64px;
.webpBg("ResPage/去查看.png");
}
.itemBtnEd {
position: absolute;
left: 530px;
top: 37px;
width: 157px;
height: 64px;
.webpBg("ResPage/已使用.png");
}
}
}
.backBtn {
position: absolute;
left: 28px;
top: 58px;
width: 18px;
height: 32px;
.webpBg("ResPage/backBtn.png");
}
}
src/pages/PrizePage/PrizePage.tsx
0 → 100644
View file @
76e7e2f6
import
React
from
'react'
;
import
{
observer
}
from
'mobx-react'
;
import
styles
from
'./PrizePage.module.less'
;
import
{
Button
}
from
"@grace/ui"
;
import
classNames
from
"classnames"
;
import
resStore
from
"@/store/ResStore.ts"
;
import
{
PageCtrl
}
from
"@/core/ctrls/PageCtrl.tsx"
;
import
HomePage
from
"@/pages/HomePage/HomePage.tsx"
;
import
{
dateFormatter
}
from
"@/utils/utils.ts"
;
@
observer
class
PrizePage
extends
React
.
Component
<
any
,
any
>
{
async
componentDidMount
()
{
resStore
.
updateInfo
();
}
clickBack
=
()
=>
{
PageCtrl
.
changePage
(
HomePage
);
}
clickItem
=
(
item
)
=>
{
if
(
item
.
url
)
{
location
.
href
=
item
.
url
}
else
{
location
.
href
=
`/aaw/projectx/takePrize?projectOrderNo=
${
item
.
id
}
`
}
}
render
()
{
const
{
prizeList
}
=
resStore
;
return
<
div
className=
{
styles
.
PrizePage
}
>
<
div
className=
{
styles
.
bg
}
></
div
>
{
prizeList
?.
length
?
<
div
className=
{
styles
.
prizeList
}
>
{
prizeList
?.
map
((
item
,
index
)
=>
{
return
<
div
className=
{
styles
.
prizeItem
}
>
<
img
className=
{
styles
.
itemImg
}
src=
{
item
.
extra
.
icon
}
/>
<
div
className=
{
styles
.
itemName
}
>
{
item
.
extra
.
name
}
</
div
>
<
div
className=
{
styles
.
itemDate
}
>
{
dateFormatter
(
item
.
gmtCreate
,
"yyyy-MM-dd hh:mm:ss 获得"
)
}
</
div
>
{
item
.
extra
.
receiveStatus
==
1
?
<
Button
className=
{
styles
.
itemBtnEd
}
onClick=
{
()
=>
this
.
clickItem
(
item
)
}
/>
:
<
Button
className=
{
styles
.
itemBtn
}
onClick=
{
()
=>
this
.
clickItem
(
item
)
}
/>
}
</
div
>
})
}
</
div
>
:
<
div
className=
{
styles
.
listNone
}
></
div
>
}
<
Button
className=
{
styles
.
backBtn
}
onClick=
{
this
.
clickBack
}
/>
</
div
>;
}
}
export
default
PrizePage
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment