Commit eea00ded authored by 天马流星拳's avatar 天马流星拳

feat(首页): 新增理财排行榜功能及相关弹窗

添加理财排行榜模块,包含月榜/总榜切换、奖品展示、用户排名及持仓分布查看功能
新增持仓分布弹窗组件positionpop
添加相关图片资源及样式调整
parent 8fd8883c
{"proName":"华夏理财-模拟理财-20250701","proDesc":"","proPath":"D:\\duiba\\华夏银行\\HuaXiaSimulate_20250701","createTime":1729847802806} {"proName":"华夏理财-模拟理财-20250701","proDesc":"","proPath":"E:\\兑吧\\code\\tiangongkaiwu-20251203","createTime":1729847802806}
This diff is collapsed.
This diff is collapsed.
'use strict';
import React from 'react';
import { observer } from 'mobx-react';
import { ModalCtrl } from '@/core/ctrls/ModalCtrl';
import './positionpop.less';
@observer
class Positionpop extends React.Component {
constructor(props) {
super(props);
this.state = {
info:{}
};
}
componentDidMount(){
console.log(this.props);
this.setState({
info:this.props.item,
infoList:[
{
productName:'华夏理财固收增强 最短持有120天A款A',
profit:'17.72%',
ratio:'35.50%',
},
{
productName:'华夏理财固收增强 最短持有120天A款B',
profit:'17.72%',
ratio:'35.50%',
},
{
productName:'华夏理财固收增强 最短持有120天A款C',
profit:'17.72%',
ratio:'35.50%',
},
{
productName:'华夏理财固收增强 最短持有120天A款D',
profit:'17.72%',
ratio:'35.50%',
},
{
productName:'华夏理财固收增强 最短持有120天A款E',
profit:'17.72%',
ratio:'35.50%',
},
]
})
}
clickClose = () => {
ModalCtrl.closeModal();
}
render() {
return (
<div className="positionpop modal_center">
<span className="iconbg"></span>
<span className="iconclose" onClick={this.clickClose}></span>
<span className="iconc"></span>
<span className="icony"></span>
<div className='info-list'>
{/* <span className="iconbg1"></span> */}
<span className="iconbg2"></span>
<div className="info-list-title">
<span className="chanPinMingCheng">产品名称</span>
<span className="shouYiLu">收益率</span>
<span className="chiCangZhanBi">持仓占比</span>
</div>
<div className="info-list-box">
{
this.state.infoList?.map((item, index) => (
<div key={index} className="list4">
<span className="productName">
{item.productName}
</span>
<span className="profit">{item.profit}</span>
<span className="ratio">{item.ratio}</span>
</div>
))
}
</div>
</div>
{/* <div className="list2">
<span className="juXing7_2"></span>
<span className="huaXiaLiCaiGuShouZengQiangZuiDuanChiYou120tianAkuanA_2">
华夏理财固收增强 最短持有120天A款A
</span>
<span className="_1772_2">17.72%</span>
<span className="_3550_2">35.50%</span>
</div>
<div className="list1">
<span className="juXing7_3"></span>
<span className="huaXiaLiCaiGuShouZengQiangZuiDuanChiYou120tianAkuanA_3">
华夏理财固收增强 最短持有120天A款A
</span>
<span className="_1772_3">17.72%</span>
<span className="_3550_3">35.50%</span>
</div> */}
<span className="name">{this.state.info.userName}</span>
<span className="title">持仓情况</span>
{/* <span className="icon1"></span> */}
</div>
);
}
}
export default Positionpop;
@import "../../res.less";
.positionpop {
width: 750px;
height: 1624px;
left: 0px;
top: 0px;
position: absolute;
.iconbg {
width: 542px;
height: 566px;
left: 111px;
top: 492px;
position: absolute;
.sparkBg("positionPop/icon-bg.png");
}
.iconclose {
width: 57px;
height: 57px;
left: 360px;
top: 1097px;
position: absolute;
.sparkBg("positionPop/icon-close.png");
}
.iconc {
width: 586px;
height: 652px;
left: 177px;
top: 333px;
position: absolute;
opacity: 0.26;
.sparkBg("positionPop/icon-c.png");
}
.icony {
width: 289px;
height: 251px;
left: 384px;
top: 444px;
position: absolute;
.sparkBg("positionPop/icon-y.png");
}
.info-list {
width: 516px;
height: 410px;
left: 124px;
top: 620px;
border-radius: 40px;
position: absolute;
overflow: hidden;
.sparkBg("positionPop/icon-bg1.png");
}
.iconbg1 {
width: 516px;
height: 325px;
left: 124px;
top: 620px;
position: absolute;
.sparkBg("positionPop/icon-bg1.png");
}
.iconbg2 {
width: 516px;
height: 94px;
left: 0px;
top: -20px;
position: absolute;
.sparkBg("positionPop/icon-bg2.png");
}
.info-list-title {
width: 496px;
height: 94px;
left: 10px;
top: -20px;
display: flex;
align-items: center;
justify-content: space-evenly;
position: absolute;
}
.chanPinMingCheng {
width: 185px;
height: 25px;
// left: 194px;
// top: 640px;
// position: absolute;
font-size: 25px;
line-height: 40px;
text-align: center;
color: rgba(179, 117, 19, 1);
}
.shouYiLu {
width: 100px;
height: 24px;
// left: 383px;
// top: 640px;
// position: absolute;
font-size: 25px;
line-height: 40px;
text-align: center;
color: rgba(179, 117, 19, 1);
}
.chiCangZhanBi {
width: 100px;
height: 25px;
// left: 498px;
// top: 640px;
// position: absolute;
font-size: 25px;
line-height: 40px;
text-align: center;
color: rgba(179, 117, 19, 1);
}
.info-list-box {
width: 496px;
height: 333px;
left: 10px;
top: 80px;
position: absolute;
overflow-x: hidden;
overflow-y: auto;
.list4 {
width: 496px;
height: 77px;
display: flex;
align-items: center;
justify-content: space-evenly;
margin-bottom: 8px;
.sparkBg("positionPop/list-bg.png");
.productName {
width: 185px;
height: 45px;
font-size: 20px;
color: rgba(99, 38, 6, 1);
text-align: center;
}
.profit {
width: 100px;
height: 15px;
text-align: center;
font-size: 20px;
line-height: 15px;
color: rgba(99, 38, 6, 1);
}
.ratio {
width: 100px;
height: 15px;
font-size: 20px;
line-height: 15px;
color: rgba(99, 38, 6, 1);
text-align: center;
}
}
}
.name {
width: 109px;
height: 25px;
left: 145px;
top: 522px;
position: absolute;
font-size: 25px;
line-height: 25px;
color: rgba(211, 26, 25, 1);
}
.title {
width: 201px;
height: 46px;
left: 144px;
top: 561px;
position: absolute;
font-size: 48px;
line-height: 46px;
color: rgba(91, 34, 0, 1);
}
.icon1 {
width: 441px;
height: 389px;
left: 13px;
top: 425px;
position: absolute;
.sparkBg("positionPop/icon-1.png");
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment