1.31 财务分析,财务数据模块完善,产业链桑基图展示
This commit is contained in:
@@ -48,57 +48,62 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="section">关键指标</view>
|
||||
<view v-if="quoteDetailsInfo" class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">市盈率 (PE)</view>
|
||||
<view class="content flex1 important marginR">{{quoteDetailsInfo.pe?quoteDetailsInfo.pe:'-'}}</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">流通股本</view>
|
||||
<view v-if="quoteDetailsInfo.float_shares" class="content flex1">{{quoteDetailsInfo.float_shares}}亿股</view>
|
||||
<view v-else class="content flex1">-</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="quoteDetailsInfo" class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">流通市值</view>
|
||||
<view class="content flex1 important marginR">{{quoteDetailsInfo.market_cap}}</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">换手率</view>
|
||||
<view class="content flex1">{{quoteDetailsInfo.turnover_rate}}%</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="quoteDetailsInfo" class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">发行总股本</view>
|
||||
<view v-if="quoteDetailsInfo.total_shares" class="content flex1 marginR">{{quoteDetailsInfo.total_shares}}亿股</view>
|
||||
<view v-else class="content flex1 marginR">-</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">52周波动</view>
|
||||
<view class="content flex1">{{quoteDetailsInfo.week52_low}}-{{quoteDetailsInfo.week52_high}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="section">主力动态</view>
|
||||
<view v-if="quoteDetailsInfo" class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">主力净流入</view>
|
||||
<view :class="'content flex1 marginR '+(getRateUpOrDown(quoteDetailsInfo.net_inflow)?'down':'up')">{{getRateUpOrDown(quoteDetailsInfo.net_inflow)?'':'+'}}{{getNumStr(quoteDetailsInfo.net_inflow)}}股</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<!-- <view class="title">机构持仓</view>
|
||||
<view class="content flex1 important">23.83%</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="progressC relative">
|
||||
<view class="buy absolute"></view>
|
||||
</view>
|
||||
<view class="buySaleC flex">
|
||||
<view class="buy">买入 42%</view>
|
||||
<view class="sale flex1">卖出 58%</view>
|
||||
</view>
|
||||
<view class="section">关键指标</view>
|
||||
<block v-if="quoteDetailsInfo">
|
||||
<view class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">市盈率 (PE)</view>
|
||||
<view class="content flex1 important marginR">{{quoteDetailsInfo.pe?quoteDetailsInfo.pe:'-'}}</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">流通股本</view>
|
||||
<view v-if="quoteDetailsInfo.float_shares" class="content flex1">{{quoteDetailsInfo.float_shares}}亿股</view>
|
||||
<view v-else class="content flex1">-</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">流通市值</view>
|
||||
<view class="content flex1 important marginR">{{quoteDetailsInfo.market_cap}}</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">换手率</view>
|
||||
<view class="content flex1">{{quoteDetailsInfo.turnover_rate}}%</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">发行总股本</view>
|
||||
<view v-if="quoteDetailsInfo.total_shares" class="content flex1 marginR">{{quoteDetailsInfo.total_shares}}亿股</view>
|
||||
<view v-else class="content flex1 marginR">-</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">52周波动</view>
|
||||
<view class="content flex1">{{quoteDetailsInfo.week52_low}}-{{quoteDetailsInfo.week52_high}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="section">主力动态</view>
|
||||
<block v-if="quoteDetailsInfo">
|
||||
<view class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<view class="title">主力净流入</view>
|
||||
<view :class="'content flex1 marginR '+(getRateUpOrDown(quoteDetailsInfo.net_inflow)?'down':'up')">{{getRateUpOrDown(quoteDetailsInfo.net_inflow)?'':'+'}}{{getNumStr(quoteDetailsInfo.net_inflow)}}股</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<view class="title">机构持仓</view>
|
||||
<view class="content flex1 important">暂无</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="progressC relative">
|
||||
<view class="buy absolute" :style="'width:'+(getBuyPercent())+'%'"></view>
|
||||
</view>
|
||||
<view class="buySaleC flex">
|
||||
<view class="buy">买入 {{getBuyPercent()}}%</view>
|
||||
<view class="sale flex1">卖出 {{getSellPercent()}}%</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<view class="infoC flex">
|
||||
<view class="flex flex1">
|
||||
<image class="icon" src="/pagesStock/static/icon/establishedTime.png" mode="widthFix"></image>
|
||||
@@ -117,10 +122,10 @@
|
||||
<view class="title">所在地</view>
|
||||
<view class="content flex1 marginR">{{stockBasicInfo.province}} {{stockBasicInfo.city}}</view>
|
||||
</view>
|
||||
<view class="rightInfoC flex flex1">
|
||||
<image class="icon" src="/pagesStock/static/icon/visitWebsite.png" mode="widthFix"></image>
|
||||
<view class="title important">访问逛网</view>
|
||||
<view class="flex1"></view>
|
||||
<view class="rightInfoC flex flex1" @click="clickOfficialWebsite()">
|
||||
<!-- <image class="icon" src="/pagesStock/static/icon/visitWebsite.png" mode="widthFix"></image>
|
||||
<view class="title important">访问官网</view>
|
||||
<view class="flex1"></view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="companyInfo">
|
||||
@@ -172,7 +177,7 @@
|
||||
<ywjg-view :businessStructureList="businessStructureList" :businessSegmentList="businessSegmentList"></ywjg-view>
|
||||
</template>
|
||||
<template v-if="selectInDepthAnalysis==2">
|
||||
<cyl-view :valueChainAnalysisInfo="valueChainAnalysisInfo" :totalNodes="totalNodes" :upstreamList="upstreamList" :coreEnterpriseList="coreEnterpriseList" :downstreamList="downstreamList" @detail="clickValueChainDetail"></cyl-view>
|
||||
<cyl-view :valueChainAnalysisInfo="valueChainAnalysisInfo" :totalNodes="totalNodes" :upstreamList="upstreamList" :coreEnterpriseList="coreEnterpriseList" :downstreamList="downstreamList" :valueChainFlowsList="valueChainFlowsList" @detail="clickValueChainDetail"></cyl-view>
|
||||
</template>
|
||||
<template v-if="selectInDepthAnalysis==3">
|
||||
<fzlc-view :keyFactorsInfo="keyFactorsInfo" :keyFactorsList="keyFactorsList" :timelineInfo="timelineInfo" :timelineList="timelineList" @detail="clickDevelopmentTimelineDetail"></fzlc-view>
|
||||
@@ -436,7 +441,7 @@
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import { actualControl, branchesList, cashflowSheet, companyAnnouncementsList, comprehensiveAnalysis, eventList, financialBalanceSheet, financialComparison, financialMainBusiness, financialMetrics, financialStockInfo, incomeStatementSheet, industryRankList, keyFactorsTimeline, managementTeam, ownershipConcentration, quoteDetailsInfo, searchStockInfo, stockBasicInfo, topCirculatingShareholdersList, topShareholdersList, valueChainAnalysis, valueChainRelatedCompany } from '@/request/api'
|
||||
import { getLastNameStr, getLocalDate, getNumStr, getRateUpOrDown, getAgeByBirthYear } from '@/utils/util'
|
||||
import { getLastNameStr, getLocalDate, getNumStr, getRateUpOrDown, getAgeByBirthYear, accAdd, accSub,accDiv } from '@/utils/util'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -570,6 +575,7 @@
|
||||
downstreamList:[], //下游客户
|
||||
selectValueChainInfo:null, //点击查看的产业链信息
|
||||
relatedCompanyList:[], //产业链相关公司
|
||||
valueChainFlowsList:[], //流向图数据
|
||||
keyFactorsInfo:null, //关键因素统计信息
|
||||
keyFactorsList:[], //关键因素
|
||||
timelineInfo:null, //发展时间线统计信息
|
||||
@@ -651,12 +657,40 @@
|
||||
this.getStockBasicInfoData()
|
||||
this.getQuoteDetailsData()
|
||||
},
|
||||
/**
|
||||
* 获取买入百分比
|
||||
*/
|
||||
getBuyPercent() {
|
||||
let ratio = this.quoteDetailsInfo.net_active_buy_ratio
|
||||
return Math.round(accAdd(50,accDiv(ratio,2)))
|
||||
},
|
||||
/**
|
||||
* 获取卖出百分比
|
||||
*/
|
||||
getSellPercent() {
|
||||
let ratio = this.quoteDetailsInfo.net_active_buy_ratio
|
||||
return Math.round(accSub(50,accDiv(ratio,2)))
|
||||
},
|
||||
/**
|
||||
* 点击查看官网
|
||||
*/
|
||||
clickOfficialWebsite()
|
||||
{
|
||||
// let code = this.stockCode
|
||||
// if (this.selectSearchStockInfo) {
|
||||
// code = this.selectSearchStockInfo.stock_code
|
||||
// }
|
||||
// uni.navigateTo({
|
||||
// url:'/pagesStock/stockCenterDetails/webView/webView?url=https://api.valuefrontier.cn/api/stock/'+code+'/basic-info'
|
||||
// })
|
||||
},
|
||||
/**
|
||||
* 点击展开收起公司简介
|
||||
*/
|
||||
clickExpandOrRetractCompanyIntro() {
|
||||
this.isExpandIntro = !this.isExpandIntro
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {Object} index
|
||||
*/
|
||||
@@ -722,6 +756,8 @@
|
||||
this.selectCaiwu = index
|
||||
if(index==0) {
|
||||
//主营数据
|
||||
this.getFinancialStockInfoData()
|
||||
this.getFinancialComparisonData()
|
||||
this.getFinancialMetricsData()
|
||||
}else if(index==1) {
|
||||
//财务分析
|
||||
@@ -1030,6 +1066,7 @@
|
||||
this.upstreamList = nodesByLevel['level_-2'].concat(nodesByLevel['level_-1'])
|
||||
this.coreEnterpriseList = nodesByLevel.level_0
|
||||
this.downstreamList = nodesByLevel.level_1.concat(nodesByLevel.level_2)
|
||||
this.valueChainFlowsList = res.data.value_chain_flows
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
@@ -1412,7 +1449,6 @@
|
||||
|
||||
.buy {
|
||||
background-color: #EC3440;
|
||||
width: 42%;
|
||||
height: 100%;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
|
||||
28
pagesStock/stockCenterDetails/webView/webView.vue
Normal file
28
pagesStock/stockCenterDetails/webView/webView.vue
Normal file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view :src="url"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
url:''
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
if(e.url)
|
||||
{
|
||||
this.url = e.url
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user