Commit 0a614ff2 authored by jiaoyahui's avatar jiaoyahui

策略列表和详情页 接口和历史战绩布局

parent 5c098015
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",
"axios": "^0.27.2", "axios": "^0.27.2",
"core-js": "^3.8.3", "core-js": "^3.8.3",
"echarts": "^5.5.1",
"lib-flexible": "^0.3.2", "lib-flexible": "^0.3.2",
"vant": "^2.13.2", "vant": "^2.13.2",
"vue": "^2.6.14", "vue": "^2.6.14",
......
...@@ -19,13 +19,24 @@ const testApi = { ...@@ -19,13 +19,24 @@ const testApi = {
}, },
//策略详情 //策略详情
getproduct_strge(params,id) { // getproduct_strge(params,id) {
return http.get('/invest/admin/pc/smart/product/'+id, params) // return http.get('/invest/admin/pc/smart/product/2', params)
// },
//今日入选
getselectedToday(params) {
return http.post('/invest/admin/pc/smart/selectedToday', params)
},
//历史战绩
historicalRecord(params) {
return http.post('/invest/admin/pc/smart/historicalRecord', params)
}, },
//策略历史战绩 //历史战绩
gethistoricalRecord(params,id) { pageStockProfitLogList(params) {
return http.get('/invest/admin/pc/smart/historicalRecord', params) return http.post('/invest/admin/pc/smart/pageStockProfitLogList', params)
} }
}; };
......
const router_modular = [ const router_modular = [
{ {
path: '/strategyversion', path: '/',
name: 'strategyversion', name: 'strategyversion',
component: () => import('@/views/strategyversion/index') component: () => import('@/views/strategyversion/index')
}, },
......
...@@ -20,7 +20,7 @@ service.interceptors.request.use(config => { ...@@ -20,7 +20,7 @@ service.interceptors.request.use(config => {
config.data = JSON.stringify(config.data); //数据转化,也可以使用qs转换 config.data = JSON.stringify(config.data); //数据转化,也可以使用qs转换
config.headers = { config.headers = {
'Content-Type':'application/json' ,//配置请求头 'Content-Type':'application/json' ,//配置请求头
'Authorization': 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MjYyOTc4ODksInN1YiI6IjQ4MjY2NiIsImlhdCI6MTcyNTY5MzA4OX0.iSWtg05FvzN3vXx219-q-zcnAjZc63691GgNxZtC16LrsYqv7f01VY4L2pSDnfIzlwnXUAG5HBCnDMr3s4ED-Q' 'Authorization': 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MjY1Mzk4MjksInN1YiI6IjQ4MjY2NiIsImlhdCI6MTcyNTkzNTAyOX0.DMmSGiAtf4h_mu8mtjUz-f67efeYz4sedzJNaoFnkFicBuAdZM_6fjuAhl5OCum77lrFSMORtc_qst3l06MjLQ'
} }
//如有需要:注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie //如有需要:注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
//const token = getCookie('名称');//这里取token之前,你肯定需要先拿到token,存一下 //const token = getCookie('名称');//这里取token之前,你肯定需要先拿到token,存一下
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
left-arrow left-arrow
@click-left="onClickLeft" @click-left="onClickLeft"
/> />
<div>
<div class="plog"> <div class="plog">
<div class="oul"> <div class="oul">
<div>股票代码</div> <div>股票代码</div>
...@@ -70,6 +71,92 @@ ...@@ -70,6 +71,92 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="plog_p">
<div class="oul">
<div>
买入⽇期
<img
src="../../assets/bottom.png"
alt=""
class="oimg_sent"
v-if="is_show"
@click="tab_omg"
/>
<img
src="../../assets/top.png"
alt=""
class="oimg_sent"
v-if="isshow"
@click="tab_img"
/>
</div>
<div>
卖出⽇期
<img
src="../../assets/bottom.png"
alt=""
class="oimg_sent"
v-if="is_show"
@click="tab_omg"
/>
<img
src="../../assets/top.png"
alt=""
class="oimg_sent"
v-if="isshow"
@click="tab_img"
/>
</div>
<div>股票代码</div>
<div>股票名称</div>
<div>盈亏金额</div>
<div>盈亏比例</div>
<!-- <div>
⼊选后最⾼涨幅
<img
src="../../assets/top.png"
alt=""
class="oimg_sent"
v-if="s_show"
@click="tab_sel"
/>
<img
src="../../assets/bottom.png"
alt=""
class="oimg_sent"
v-if="l_show"
@click="tab_let"
/>
</div> -->
<div>持仓天数</div>
</div>
<ul class="user_ul">
<li class="name">
<div class="price">
<div>三祥新材</div>
<div>999</div>
</div>
<div class="se_data">2024-08-28</div>
<div class="se_data">14.5</div>
<div class="se_data_p">+7.71%</div>
<div class="se_data_t">2</div>
</li>
<li class="name">
<div class="price">
<div>三祥新材</div>
<div>999</div>
</div>
<div class="se_data">2024-08-28</div>
<div class="se_data">14.5</div>
<div class="se_data_p">+7.71%</div>
<div class="se_data_t">2</div>
</li>
</ul>
</div>
</div>
</div> </div>
</template> </template>
...@@ -87,22 +174,61 @@ export default { ...@@ -87,22 +174,61 @@ export default {
is_show: false, is_show: false,
s_show: true, s_show: true,
l_show: false, l_show: false,
pageNo:1,
pageSize:10,
codeName:'',
pageStockPro:[]
}; };
}, },
created() {}, created() {
mounted() {}, this.detInfo = this.$route.query.detInfo ;
localStorage.getItem('detInfo',this.detInfo)
},
mounted() {
this.get_elected()
this.get_Pro()
},
methods: { methods: {
getsent_p(){ get_elected(){
let params={ let params={
productId:this.detInfo.id,
pageNo:this.pageNo,
pageSize:this.pageSize
}
this.server.historicalRecord(params).then(res=>{
if(res.data.code == 200){
this.codeName = res.data.data.list
} }
this.server.gethistoricalRecord(params).then(res=>{
this.getList = res.data.data.list
console.log(res)
}) })
}, },
get_Pro(){
let params={
marketId:this.detInfo.marketId,
pageNo:this.pageNo,
pageSize:this.pageSize
}
this.server.pageStockProfitLogList(params).then(res=>{
if(res.data.code == 200){
this.pageStockPro = res.data.data.list
}
})
},
onClickLeft() { onClickLeft() {
this.$router.push("../strategy"); localStorage.getItem('detInfo',this.detInfo)
this.$router.push({
path: '../strategy',
query: {detInfo : this.detInfo }
})
}, },
tab_img: function () { tab_img: function () {
this.isshow = false; this.isshow = false;
...@@ -144,6 +270,11 @@ export default { ...@@ -144,6 +270,11 @@ export default {
top: 83px; top: 83px;
width: 100%; width: 100%;
} }
.plog_p{
position: fixed;
top: 283px;
width: 100%;
}
.oul div { .oul div {
color: #4e4a4a; color: #4e4a4a;
font-size: 0.18rem; font-size: 0.18rem;
......
...@@ -10,17 +10,17 @@ ...@@ -10,17 +10,17 @@
/> />
<div class="deta">策略详情</div> <div class="deta">策略详情</div>
</div> </div>
<span>热点精选</span> <span>324⼈订阅</span> <span>{{this.detInfo.productName}}</span> <span>{{this.detInfo.numberSubscriptions}}⼈订阅</span>
<p class="tab_user"> <p class="tab_user">
对热点股票强度深度建模,优选热点持续且潜⼒,持久的成⻓性股票 对热点股票强度深度建模,优选热点持续且潜⼒,持久的成⻓性股票
</p> </p>
<p></p> <p></p>
<div> <div>
<span>综合胜率:<span>84.43%</span></span> <span>综合胜率:<span>{{this.detInfo.successPercent}}</span></span>
<span style="margin-left: 41px">平均涨幅:<span>13.04%</span></span> <span style="margin-left: 41px">平均涨幅:<span>{{this.detInfo.avgIncrease}}</span></span>
</div> </div>
<img <img
src="" :src="this.detInfo.url"
alt="" alt=""
class="oimg" class="oimg"
style="width: 90px; height: 90px" style="width: 90px; height: 90px"
...@@ -36,31 +36,24 @@ ...@@ -36,31 +36,24 @@
<div>涨跌幅</div> <div>涨跌幅</div>
</div> </div>
<div class="p_alog"> <div class="p_alog">
<div class="oul"> <div class="oul" v-for="(item,index) in codeName" :key="index">
<div class="odiv">
<div>三祥新材</div>
<div>999</div>
</div>
<div class="odiv">2024-08-28</div>
<div class="odiv_p">14.5</div>
<div class="odiv">22</div>
</div>
<div class="oul">
<div class="odiv"> <div class="odiv">
<div>三祥新材</div> <div>{{item.codeName}}</div>
<div>999</div> <div>{{item.code}}</div>
</div> </div>
<div class="odiv">2024-08-28</div> <div class="odiv">{{item.createTime}}</div>
<div class="odiv_p">14.5</div> <div class="odiv_p">{{item.price}}</div>
<div class="odiv">22</div> <div class="odiv">{{item.profitLossRatio}}</div>
</div> </div>
<div class="user_con"> <div class="user_con">
<div class="sent"> <div class="sent">
<img <img
src="../../assets/sure.png" src="../../assets/sure.png"
alt="" alt=""
style="width:8%; height: 36px style="width:8%; height: 36px
margin-left:38%" margin-left:38%;"
/> />
</div> </div>
...@@ -71,30 +64,19 @@ ...@@ -71,30 +64,19 @@
</div> </div>
<div class="usert_n"> <div class="usert_n">
<span @click="whole">全部战绩</span> <span @click="whole(detInfo)">全部战绩</span>
<img src="../../assets/back.png" alt="" style="width: 6px;margin-left: 12px;" /> <img src="../../assets/back.png" alt="" style="width: 6px;margin-left: 12px;" />
</div> </div>
<div class="alogn"> <div class="alogn">
<div class="cont"> <div class="cont" v-for="(item,index) in this.detInfo.pcSmartStockInfoVOList" :key="index">
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div>
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div>
<div class="tab_p"> <div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img"> <img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div> <div class="name_u">{{item.code}}</div>
<div class="user_t">97.06%</div> <div class="user_t">{{item.winRate}}</div>
<div class="user_se">⼊选最⾼涨幅</div> <div class="user_se">⼊选最⾼涨幅</div>
</div> </div>
</div> </div>
<!-- <div class="uaser_a"> <!-- <div class="uaser_a">
<img src="../../assets/jian.png" alt="" class="tab_img"> <img src="../../assets/jian.png" alt="" class="tab_img">
...@@ -127,28 +109,83 @@ export default { ...@@ -127,28 +109,83 @@ export default {
const onCdivckLeft = () => history.back(); const onCdivckLeft = () => history.back();
return { return {
onCdivckLeft, onCdivckLeft,
productName:'',
}; };
}, },
data() { data() {
return {}; return {
detInfo : {},//'订单详情',
pcSmartStockInfoVOList:[],
detInfo:'',
pageNo:1,
pageSize:10,
codeName:[],
detInfo:{},
};
},
created() {
// this.detInfo = JSON.parse(this.$route.query.detInfo) ;
// localStorage.getItem('detInfo',this.detInfo)
this.detInfo = JSON.parse(localStorage.getItem('detInfo'))
console.log(this.detInfo,'ppp12')
},
mounted() {
this.getselected()
}, },
created() {},
mounted() {},
methods: { methods: {
getproduct_s(id){ getselected(){
let params={ let params={
productId:this.detInfo.id,
pageNo:this.pageNo,
pageSize:this.pageSize
}
this.server.getselectedToday(params).then(res=>{
if(res.data.code == 200){
this.codeName = res.data.data.list
} }
this.server.getproduct_strge(params,id).then(res=>{
this.getList = res.data.data.list })
console.log(res)
},
get_elected(){
localStorage.getItem('detInfo',this.detInfo)
let params={
productId:this.detInfo.id,
pageNo:2,
pageSize:this.pageSize
}
this.server.historicalRecord(params).then(res=>{
if(res.data.code == 200){
this.codeName = res.data.data.list
}
}) })
}, },
tab_oimg: function () { tab_oimg: function () {
this.$router.push("../strategyversion"); this.$router.push("../strategyversion");
}, },
whole: function () { whole: function (detInfo) {
this.$router.push("../record"); // const detInfo = localStorage.getItem('detInfo',this.detInfo)
// const get_info = JSON.stringify(de_Info)
localStorage.setItem('detInfo', JSON.stringify(detInfo))
console.log(detInfo,'aaaaaaaaaaaaaa2')
this.$router.push({
path: '../record',
query: {detInfo :detInfo }
})
}, },
}, },
components: {}, components: {},
...@@ -243,7 +280,7 @@ export default { ...@@ -243,7 +280,7 @@ export default {
margin-right: 10px; margin-right: 10px;
padding-bottom: 9px; padding-bottom: 9px;
padding-top: 15px; padding-top: 15px;
display: none; /* display: none; */
} }
.oul .oli { .oul .oli {
display: flex; display: flex;
...@@ -269,6 +306,7 @@ export default { ...@@ -269,6 +306,7 @@ export default {
} }
.user_con{ .user_con{
text-align: center; text-align: center;
display: none;
} }
.usert_n { .usert_n {
font-size: 0.2rem; font-size: 0.2rem;
......
...@@ -14,80 +14,34 @@ ...@@ -14,80 +14,34 @@
<van-swipe-item>内容 3</van-swipe-item> <van-swipe-item>内容 3</van-swipe-item>
</van-swipe> </van-swipe>
</van-notice-bar> --> </van-notice-bar> -->
<div class="user"> <div class="user" v-for="(item,index) in getList" :key="index">
<div class="sre_p" @click="tab_let"> <div class="sre_p" @click="tab_let(item)">
<div class="uset_a"> <div class="uset_a">
<span>热点精选</span> <span>{{item.productName}}</span>
<span class="num">324⼈订阅</span> <span class="num">{{item.numberSubscriptions}}⼈订阅</span>
</div> </div>
<div> <div>
<span>综合胜率: <span>84.1%</span></span> <span>综合胜率: <span>{{item.successPercent}}</span></span>
<span style="margin-left:14px">平均涨幅: <span>84.2%</span></span> <span style="margin-left:14px">平均涨幅: <span>{{item.avgIncrease}}</span></span>
</div> </div>
<div class="read">解锁订阅</div> <div class="read">解锁订阅</div>
</div> </div>
<div class="cont"> <div class="cont">
<div class="tab_p"> <div class="tab_p" v-for="(i,index) in item.pcSmartStockInfoVOList" :key="index">
<img src="../../assets/jian.png" alt="" class="tab_img"> <img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div> <div class="name_u">{{i.code}}</div>
<div class="user_t">97.06%</div> <div class="user_t">{{i.winRate}}</div>
<div class="user_se">⼊选最⾼涨幅</div> <div class="user_se">⼊选最⾼涨幅</div>
</div> </div>
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div>
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div>
</div>
</div>
<div class="user">
<div class="sre_p" @click="tab_let">
<div class="uset_a">
<span>热点精选</span>
<span class="num">324⼈订阅</span>
</div>
<div>
<span>综合胜率: <span>84.1%</span></span>
<span style="margin-left:14px">平均涨幅: <span>84.2%</span></span>
</div>
<div class="read">解锁订阅</div>
</div>
<div class="cont">
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div>
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div> </div>
<div class="tab_p">
<img src="../../assets/jian.png" alt="" class="tab_img">
<div class="name_u">紫天科技</div>
<div class="user_t">97.06%</div>
<div class="user_se">⼊选最⾼涨幅</div>
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
</template> </template>
<script> <script>
...@@ -96,7 +50,13 @@ ...@@ -96,7 +50,13 @@
export default { export default {
data() { data() {
return {}; return {
getList:[],
pageNo:1,
pageSize:10,
user_pro:[],
detInfo : {}
};
}, },
created() {}, created() {},
mounted() { mounted() {
...@@ -109,16 +69,24 @@ export default { ...@@ -109,16 +69,24 @@ export default {
} }
this.server.getstrge(params).then(res=>{ this.server.getstrge(params).then(res=>{
if(res.code == 200){ if(res.data.code == 200){
this.getList = res.data.data.list this.getList = res.data.data.list;
this.user_pro = res.data.data.pcSmartStockInfoVOList;
console.log(res) console.log(res)
} }
}) })
}, },
tab_let() { tab_let(item) {
this.$router.push("../strategy"); const detInfo = JSON.stringify(item)
console.log(detInfo,'aa')
localStorage.setItem('detInfo', detInfo)
this.$router.push({
path: '../strategy',
query: { detInfo : detInfo }
})
}, },
onClickLeft() { onClickLeft() {
this.$router.push("../strategy"); this.$router.push("../strategy");
......
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