|
|
|
@ -116,35 +116,215 @@ |
|
|
|
|
<div class="meta-title-wrap"> |
|
|
|
|
<p class="meta-title"><i class="el-icon-discount"></i> 实验数据及结果分析</p> |
|
|
|
|
</div> |
|
|
|
|
<div > |
|
|
|
|
<div class="data-wrap"> |
|
|
|
|
<el-table :data="goodsData" :span-method="objectSpanMethod" stripe header-align="center" style="flex: 1;margin-right: 10px"> |
|
|
|
|
<el-table-column prop="name" label="现货" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="现货市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<el-table :data="futuresData" :span-method="objectSpanMethod1" stripe header-align="center" style="flex: 1;margin-right: 10px"> |
|
|
|
|
<el-table-column prop="name" label="期权名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="dir" label="交易方向" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="期权市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="reportCard_view reportCard_bck mat20" v-if="pattern == 0"> |
|
|
|
|
<div class="reportCard_bor mat20"> |
|
|
|
|
<div class="flex-between "> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 现货盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternOne.goodsData" :span-method="objectSpanMethod" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="name" label="现货" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="现货市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="add_img"> |
|
|
|
|
<img src="../../assets/img/add.png" alt=""> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 期权盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternOne.futuresData" :span-method="objectSpanMethod1" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="name" label="期权名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="dir" label="交易方向" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="期权市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="add_img"> |
|
|
|
|
<img src="../../assets/img/equal.png" alt=""> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 策略总盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternOne.futuresLoss" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="futuresLoss" width="110" label="策略总盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="mat20"> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 套期保值率</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternOne.hisPositionData1" stripe header-align="center" class="mat10" > |
|
|
|
|
<el-table-column prop="percent" label="套期保值率" align="center"></el-table-column> </el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="data-wrap"> |
|
|
|
|
<el-table :data="futuresLoss" stripe header-align="center"> |
|
|
|
|
<el-table-column prop="futuresLoss" label="策略总盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<el-table :data="hisPositionData1" stripe header-align="center" class="mat20"> |
|
|
|
|
<el-table-column prop="percent" label="套期保值率" align="center"></el-table-column> |
|
|
|
|
<div class="reportCard_bor mat20" v-if="pattern == 1"> |
|
|
|
|
<div class="history_content"> |
|
|
|
|
<div > |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 现货盈亏情况</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-table |
|
|
|
|
:data="patternTwo.goodsData" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
class="mat10" |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="endTime" label="数据时间" width="180" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="timeForStock" label="持仓时间段" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="stackName" label="现货" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="trading" label="头寸" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="startPrice" label="启始价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="stockPrice" label="当日价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="stageLoss" label="阶段盈亏" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="totalLossDto" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 期权持仓与盈亏情况</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-table |
|
|
|
|
:data="patternTwo.hisPositionData" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
class="mat10" |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="openTime" label="数据时间" width="180" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="endTime" label="持仓时间段" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="optionName" label="期权合约名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="trading" label="交易方向" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量(手)" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="openPrice" label="启始价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="endPrice" label="当日价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="totalLoss" label="阶段盈亏" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="delta" label="当日delta" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="totalLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-table |
|
|
|
|
:data="patternTwo.hisPositionData1" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
class="mat10" |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="totalLoss" label="总盈亏" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="percent" label="套期保值率" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="reportCard_view reportCard_bck mat20" v-if="pattern == 2"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text">实验数据</span> |
|
|
|
|
</div> |
|
|
|
|
<div class="reportCard_bor mat20"> |
|
|
|
|
<div class="flex-between "> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 现货盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternThree.goodsData" :span-method="objectSpanMethod" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="name" label="现货" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="现货市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="add_img"> |
|
|
|
|
<img src="../../assets/img/add.png" alt=""> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 期货盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternThree.futuresData" :span-method="objectSpanMethod1" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="name" label="期货名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="dir" label="交易方向" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="num" label="数量" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="price" label="价格" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="marketValue" label="期货市值" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="proftAndLoss" label="累计盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="add_img"> |
|
|
|
|
<img src="../../assets/img/equal.png" alt=""> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 策略总盈亏</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternThree.futuresLoss" stripe header-align="center" class="mat10"> |
|
|
|
|
<el-table-column prop="futuresLoss" width="110" label="策略总盈亏" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="mat20"> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="flex-center"> |
|
|
|
|
<p class="hr_tag"></p> |
|
|
|
|
<span class="hr_text"> 套期保值率</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="patternThree.hisPositionData1" stripe header-align="center" class="mat10" > |
|
|
|
|
<el-table-column prop="level" label="套期保值率" align="center"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div v-if="pattern == 3"> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<el-input style="margin-top: 20px" v-model="form.analysis" type="textarea" :disabled="true" rows="5"></el-input> |
|
|
|
|
</div> |
|
|
|
@ -200,6 +380,7 @@ |
|
|
|
|
userId: this.$store.state.userId, |
|
|
|
|
studentId: this.$store.state.studentId, |
|
|
|
|
userName: this.$store.state.userName, |
|
|
|
|
pattern:Number(sessionStorage.getItem('pattern')), |
|
|
|
|
form: { |
|
|
|
|
analysis: '', |
|
|
|
|
conclusion: '', |
|
|
|
@ -226,13 +407,29 @@ |
|
|
|
|
comment: '' |
|
|
|
|
}, |
|
|
|
|
signSrc: '', |
|
|
|
|
patternOne:{ |
|
|
|
|
goodsData:[], |
|
|
|
|
futuresData:[], |
|
|
|
|
futuresLoss:[], |
|
|
|
|
hisPositionData1:[] |
|
|
|
|
}, |
|
|
|
|
patternTwo:{ |
|
|
|
|
goodsData:[], |
|
|
|
|
hisPositionData:[], |
|
|
|
|
hisPositionData1:[] |
|
|
|
|
}, |
|
|
|
|
patternThree:{ |
|
|
|
|
goodsData:[], |
|
|
|
|
futuresData:[], |
|
|
|
|
futuresLoss:[], |
|
|
|
|
hisPositionData1:[] |
|
|
|
|
}, |
|
|
|
|
patternFour:{ |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
sjData: [], |
|
|
|
|
infoData: [], |
|
|
|
|
expData: [], |
|
|
|
|
goodsData: [], |
|
|
|
|
futuresData: [], |
|
|
|
|
futuresLoss: [], |
|
|
|
|
hisPositionData1:[] |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
mounted(){ |
|
|
|
@ -252,13 +449,37 @@ |
|
|
|
|
if(i.includes('steps') && report[i]) steps.push(JSON.parse(report[i])) |
|
|
|
|
} |
|
|
|
|
this.form = report |
|
|
|
|
if(report.steps9){ |
|
|
|
|
let steps9 = JSON.parse(report.steps9) |
|
|
|
|
this.goodsData = steps9.goodsData ? steps9.goodsData: [] |
|
|
|
|
this.futuresData = steps9.futuresData ? steps9.futuresData: [] |
|
|
|
|
this.futuresLoss = steps9.futuresLoss ? steps9.futuresLoss: [] |
|
|
|
|
this.hisPositionData1 = steps9.hisPositionData1 ? steps9.hisPositionData1: [] |
|
|
|
|
} |
|
|
|
|
switch(this.pattern) |
|
|
|
|
{ |
|
|
|
|
case 0: |
|
|
|
|
if(report.steps9){ |
|
|
|
|
let steps9 = JSON.parse(report.steps9) |
|
|
|
|
this.patternOne.goodsData = steps9.goodsData ? steps9.goodsData: [] |
|
|
|
|
this.patternOne.futuresData = steps9.futuresData ? steps9.futuresData: [] |
|
|
|
|
this.patternOne.futuresLoss = steps9.futuresLoss ? steps9.futuresLoss: [] |
|
|
|
|
this.patternOne.hisPositionData1 = steps9.hisPositionData1 ? steps9.hisPositionData1: [] |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 1: |
|
|
|
|
if(report.steps9){ |
|
|
|
|
let steps9 = JSON.parse(report.steps9) |
|
|
|
|
this.patternTwo.goodsData = steps9.goodsData ? steps9.goodsData: [] |
|
|
|
|
this.patternTwo.hisPositionData = steps9.hisPositionData ? steps9.hisPositionData: [] |
|
|
|
|
this.patternTwo.hisPositionData1 = steps9.hisPositionData1 ? steps9.hisPositionData1: [] |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
if(report.steps9){ |
|
|
|
|
let steps9 = JSON.parse(report.steps9) |
|
|
|
|
this.patternThree.goodsData = steps9.goodsData ? steps9.goodsData: [] |
|
|
|
|
this.patternThree.futuresData = steps9.futuresData ? steps9.futuresData: [] |
|
|
|
|
this.patternThree.futuresLoss = steps9.futuresLoss ? steps9.futuresLoss: [] |
|
|
|
|
this.patternThree.hisPositionData1 = steps9.hisPositionData1 ? steps9.hisPositionData1: [] |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let score = res.data.score |
|
|
|
|
let answerList = [] |
|
|
|
@ -388,6 +609,30 @@ |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.mat10{ |
|
|
|
|
margin-top: 10px; |
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
} |
|
|
|
|
.reportCard_view { |
|
|
|
|
padding: 20px 40px; |
|
|
|
|
} |
|
|
|
|
.reportCard_bck { |
|
|
|
|
background-color: #f9f9f9; |
|
|
|
|
} |
|
|
|
|
.add_img{ |
|
|
|
|
img{ |
|
|
|
|
width: 80px; |
|
|
|
|
min-width: 50px; |
|
|
|
|
max-width: 100px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.reportCard_bor { |
|
|
|
|
width: 100%; |
|
|
|
|
overflow: auto; |
|
|
|
|
border: 1px solid #b2b2b2; |
|
|
|
|
border-radius: 6px; |
|
|
|
|
padding: 20px 10px; |
|
|
|
|
} |
|
|
|
|
.box{ |
|
|
|
|
background-color: #fff; |
|
|
|
|
} |
|
|
|
@ -491,5 +736,6 @@ |
|
|
|
|
} |
|
|
|
|
/deep/.data-wrap{ |
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
</style> |