1.29 财务分析模块完善
This commit is contained in:
@@ -1,23 +1,21 @@
|
||||
<template>
|
||||
<view>
|
||||
<view style="color: #2B2B2B; font-weight: 500; font-size: 24rpx;">
|
||||
<view style="display: flex;align-items: center; padding: 20rpx; box-sizing: border-box;">
|
||||
<view class="flex" style="padding: 20rpx;">
|
||||
<image src="/pagesStock/static/icon/cwfx-1.png" mode="widthFix"
|
||||
style="width: 40rpx; height: 40rpx;"></image>
|
||||
<view class="flex1" style="margin: 0 10rpx; font-size: 28rpx;">盈利能力</view>
|
||||
<image src="/static/icon/home/conceptCenter/next.png" mode="widthFix"
|
||||
style="width: 13rpx; height: 22rpx;"></image>
|
||||
</view>
|
||||
<view style="display: grid; gap: 20rpx; grid-template-columns: repeat(4, 1fr); margin: 0 20rpx;">
|
||||
<view
|
||||
style="display: flex; align-items: center; justify-content: center; text-align: center; font-size: 20rpx; color: #999999; border: 1rpx solid #D2D2D2; padding: 3rpx 5rpx; box-sizing: border-box;"
|
||||
:style="{color: index == 0 ? '#BB8520' : '#999999', border: `1rpx solid ${index == 0 ? '#F2C369' : '#D2D2D2'}`, 'background-color': (index == 0 ? '#FFFAF1' : '#FFFFFF')}"
|
||||
v-for="(item,index) in ['净资产收益率(ROE)%', '净资产收益率(扣非)%', '净资产收益率(加权)%', '总资产报酬率(ROA)%', '毛利率%', '净利率%', '营业利润率%', '成本费用利润率%']"
|
||||
:key="index">
|
||||
{{item}}
|
||||
<view class="indicatorC" style="display: grid; gap: 20rpx; grid-template-columns: repeat(4, 1fr); margin: 0 20rpx;">
|
||||
<view :class="'item flex '+(profitabilityIndicatorIndex==index?'select':'')"
|
||||
style="justify-content: center; text-align: center;padding: 3rpx 5rpx;"
|
||||
v-for="(item,index) in profitabilityIndicatorList" :key="index" @click="clickProfitabilityIndicatorItem(index)">
|
||||
{{item.title}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex" style="padding: 20rpx; box-sizing: border-box;">
|
||||
<view class="flex" style="padding: 20rpx;">
|
||||
<view class="flex1" style="font-size: 28rpx;">查看详细数据</view>
|
||||
<view
|
||||
style="color: #F2C369; font-size: 22rpx; padding: 2rpx 10rpx; border-radius: 5rpx; border: 1rpx solid #F2C369; text-align: center; margin: 0 10rpx;">
|
||||
@@ -35,9 +33,7 @@
|
||||
<view style="height: 500rpx;">
|
||||
<l-echart ref="chartRef1"></l-echart>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view style="color: #2B2B2B; font-weight: 500; font-size: 24rpx;">
|
||||
<view style="display: flex;align-items: center; padding: 20rpx; box-sizing: border-box;">
|
||||
<image src="/pagesStock/static/icon/cwfx-2.png" mode="widthFix"
|
||||
@@ -47,13 +43,10 @@
|
||||
style="width: 13rpx; height: 22rpx;"></image>
|
||||
</view>
|
||||
|
||||
<view style="display: grid; gap: 20rpx; grid-template-columns: repeat(4, 1fr); margin: 0 20rpx;">
|
||||
<view
|
||||
style="display: flex; align-items: center; justify-content: center; text-align: center; font-size: 20rpx; color: #999999; border: 1rpx solid #D2D2D2; padding: 3rpx 5rpx; box-sizing: border-box;"
|
||||
:style="{color: index == 0 ? '#BB8520' : '#999999', border: `1rpx solid ${index == 0 ? '#F2C369' : '#D2D2D2'}`, 'background-color': (index == 0 ? '#FFFAF1' : '#FFFFFF')}"
|
||||
v-for="(item,index) in ['每股收益(EPS)', '基本每股收益', '稀释每股收益', '扣非每股收益', '每股净资产', '每股经营现金流', '每股资本公积', '每股未分配利润']"
|
||||
:key="index">
|
||||
{{item}}
|
||||
<view class="indicatorC" style="display: grid; gap: 20rpx; grid-template-columns: repeat(4, 1fr); margin: 0 20rpx;">
|
||||
<view :class="'item flexCenter '+(perShareIndicatorIndex==index?'select':'')"
|
||||
v-for="(item,index) in perShareIndicatorList" :key="index" @click="clickPerShareIndicatorItem(index)">
|
||||
{{item.title}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -80,10 +73,61 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const echarts = require('../../uni_modules/lime-echart/static/echarts.min.js');
|
||||
export default {
|
||||
name:"cwfx-view",
|
||||
data() {
|
||||
return {
|
||||
profitabilityIndicatorList:[{
|
||||
title:'净资产收益率(ROE)%',
|
||||
},
|
||||
{
|
||||
title:'净资产收益率(扣非)%',
|
||||
},
|
||||
{
|
||||
title:'净资产收益率(加权)%',
|
||||
},
|
||||
{
|
||||
title:'总资产报酬率(ROA)%',
|
||||
},
|
||||
{
|
||||
title:'毛利率%',
|
||||
},
|
||||
{
|
||||
title:'净利率%',
|
||||
},
|
||||
{
|
||||
title:'营业利润率%',
|
||||
},
|
||||
{
|
||||
title:'成本费用利润率%'
|
||||
}],
|
||||
profitabilityIndicatorIndex:0,
|
||||
perShareIndicatorList:[{
|
||||
title:'每股收益(EPS)',
|
||||
},
|
||||
{
|
||||
title:'基本每股收益',
|
||||
},
|
||||
{
|
||||
title:'稀释每股收益',
|
||||
},
|
||||
{
|
||||
title:'扣非每股收益',
|
||||
},
|
||||
{
|
||||
title:'每股净资产',
|
||||
},
|
||||
{
|
||||
title:'每股经营现金流',
|
||||
},
|
||||
{
|
||||
title:'每股资本公积',
|
||||
},
|
||||
{
|
||||
title:'每股未分配利润'
|
||||
}],
|
||||
perShareIndicatorIndex:0,
|
||||
option1:{
|
||||
legend:{
|
||||
show:true,
|
||||
@@ -99,41 +143,96 @@
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLabel:{
|
||||
// interval:0
|
||||
fontSize:10,
|
||||
rotate:45
|
||||
}
|
||||
},
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'left',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'right',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'left',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'right',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
}],
|
||||
dataZoom:[{
|
||||
type:'slider'
|
||||
}],
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
name:'营业收入',
|
||||
name:'ROE',
|
||||
data: [],
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
name:'净利润',
|
||||
name:'同比',
|
||||
data: [],
|
||||
yAxisIndex:1
|
||||
}
|
||||
]
|
||||
},
|
||||
option2:{
|
||||
legend:{
|
||||
show:true,
|
||||
data:['ROE','同比(右)']
|
||||
},
|
||||
grid:{
|
||||
left:'2%',
|
||||
right:'2%',
|
||||
top:'5%',
|
||||
bottom:'30%'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLabel:{
|
||||
rotate:45,
|
||||
fontSize:10
|
||||
}
|
||||
},
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'left',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'value',
|
||||
name:'(%)',
|
||||
position:'right',
|
||||
alignTicks:true,
|
||||
axisLine:{
|
||||
onZero:false
|
||||
}
|
||||
}],
|
||||
dataZoom:[{
|
||||
type:'slider'
|
||||
}],
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
name:'ROE',
|
||||
data: [],
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
name:'同比',
|
||||
data: [],
|
||||
yAxisIndex:1
|
||||
}
|
||||
@@ -142,20 +241,247 @@
|
||||
};
|
||||
},
|
||||
props: {
|
||||
barCategoryList1:Array,
|
||||
barList1:Array,
|
||||
lineList:Array, //折线图数据
|
||||
barCategoryList1:Array,
|
||||
barList1:Array,
|
||||
dataList:Array,
|
||||
},
|
||||
watch:{
|
||||
dataList(newValue) {
|
||||
let category = []
|
||||
let data1 = []
|
||||
let data2 = []
|
||||
for (let item of newValue) {
|
||||
var type = item.report_type
|
||||
type = type.replace('年三季报','Q3')
|
||||
type = type.replace('年一季报','Q1')
|
||||
type = type.replace('年中报','中报')
|
||||
type = type.replace('年年报','年报')
|
||||
category.push(type)
|
||||
if(item.profitability.roe)
|
||||
{
|
||||
data1.push(item.profitability.roe.toFixed(2))
|
||||
}else
|
||||
data1.push(0)
|
||||
if(item.per_share_metrics.eps)
|
||||
{
|
||||
data2.push(item.per_share_metrics.eps.toFixed(2))
|
||||
}else
|
||||
data2.push(0)
|
||||
}
|
||||
this.option1.xAxis.data = category
|
||||
this.option1.series[0].data = data1
|
||||
this.profitabilityInit()
|
||||
this.option2.series[0].data = data2
|
||||
this.perShareInit()
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
clickProfitabilityIndicators(item) {
|
||||
|
||||
async profitabilityInit() {
|
||||
// chart 图表实例不能存在data里
|
||||
const chart = await this.$refs.chartRef1.init(echarts);
|
||||
// chart.on('click',function (params) {
|
||||
// console.log(params)
|
||||
// })
|
||||
chart.setOption(this.option1)
|
||||
},
|
||||
async perShareInit() {
|
||||
// chart 图表实例不能存在data里
|
||||
const chart = await this.$refs.chartRef2.init(echarts);
|
||||
// chart.on('click',function (params) {
|
||||
// console.log(params)
|
||||
// })
|
||||
chart.setOption(this.option2)
|
||||
},
|
||||
/**
|
||||
* 切换盈利能力指标
|
||||
* @param {Object} item
|
||||
*/
|
||||
clickProfitabilityIndicatorItem(index) {
|
||||
if(this.profitabilityIndicatorIndex!=index) {
|
||||
this.profitabilityIndicatorIndex = index
|
||||
let data = []
|
||||
if(index==0) {
|
||||
//净资产收益率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.roe)
|
||||
{
|
||||
data.push(item.profitability.roe.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
|
||||
}else if(index==1) {
|
||||
//净资产收益率(扣非)
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.roe_deducted)
|
||||
{
|
||||
data.push(item.profitability.roe_deducted.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==2) {
|
||||
//净资产收益率(加权)
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.roe_deducted)
|
||||
{
|
||||
data.push(item.profitability.roe_deducted.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==3) {
|
||||
//总资产报酬率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.roa)
|
||||
{
|
||||
data.push(item.profitability.roa.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==4) {
|
||||
//毛利率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.gross_margin)
|
||||
{
|
||||
data.push(item.profitability.gross_margin.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==5) {
|
||||
//净利率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.net_profit_margin)
|
||||
{
|
||||
data.push(item.profitability.net_profit_margin.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==6) {
|
||||
//营业利润率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.operating_profit_margin)
|
||||
{
|
||||
data.push(item.profitability.operating_profit_margin.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==7) {
|
||||
//成本费用利润率
|
||||
for (let item of this.dataList) {
|
||||
if(item.profitability.cost_profit_ratio)
|
||||
{
|
||||
data.push(item.profitability.cost_profit_ratio.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}
|
||||
this.option1.series[0].data = data
|
||||
this.profitabilityInit()
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 切换每股指标
|
||||
* @param {Object} item
|
||||
*/
|
||||
clickPerShareIndicatorItem(index) {
|
||||
if(this.perShareIndicatorIndex!=index) {
|
||||
this.perShareIndicatorIndex = index
|
||||
let data = []
|
||||
if(index==0) {
|
||||
//每股收益(EPS)
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.eps)
|
||||
{
|
||||
data.push(item.per_share_metrics.eps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==1) {
|
||||
//基本每股收益
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.basic_eps)
|
||||
{
|
||||
data.push(item.per_share_metrics.basic_eps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==2) {
|
||||
//稀释每股收益
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.diluted_eps)
|
||||
{
|
||||
data.push(item.per_share_metrics.diluted_eps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==3) {
|
||||
//扣非每股收益
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.deducted_eps)
|
||||
{
|
||||
data.push(item.per_share_metrics.deducted_eps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==4) {
|
||||
//每股净资产
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.bvps)
|
||||
{
|
||||
data.push(item.per_share_metrics.bvps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==5) {
|
||||
//每股经营现金流
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.operating_cash_flow_ps)
|
||||
{
|
||||
data.push(item.per_share_metrics.operating_cash_flow_ps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==6) {
|
||||
//每股资本公积
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.capital_reserve_ps)
|
||||
{
|
||||
data.push(item.per_share_metrics.capital_reserve_ps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}else if(index==7) {
|
||||
//每股未分配利润
|
||||
for (let item of this.dataList) {
|
||||
if(item.per_share_metrics.undistributed_profit_ps)
|
||||
{
|
||||
data.push(item.per_share_metrics.undistributed_profit_ps.toFixed(2))
|
||||
}else
|
||||
data.push(0)
|
||||
}
|
||||
}
|
||||
this.option2.series[0].data = data
|
||||
this.perShareInit()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="less">
|
||||
.indicatorC
|
||||
{
|
||||
.item
|
||||
{
|
||||
background-color: #FFFFFF;
|
||||
padding: 3rpx 5rpx;
|
||||
border: 1rpx solid #D2D2D2;
|
||||
font-size: 20rpx;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
background-color: #FFFAF1;
|
||||
border: 1rpx solid #F2C369;
|
||||
color: #BB8520;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -169,7 +169,6 @@
|
||||
watch:{
|
||||
data(newValue)
|
||||
{
|
||||
console.log(newValue)
|
||||
this.option.series[0].data = newValue
|
||||
this.init()
|
||||
}
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
|
||||
<script>
|
||||
import { getChgRateStr, getNumStr } from '@/utils/util.js';
|
||||
|
||||
const echarts = require('../../uni_modules/lime-echart/static/echarts.min.js');
|
||||
|
||||
export default {
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="平安银行(000001)" :hideNavBg="true"></navBar>
|
||||
<navBar :leftText="navTitle" :hideNavBg="true"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="searchC fixed flex" :style="'top:'+navH+'px;'">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/search.png" mode="widthFix"></image>
|
||||
<input class="flex1" type="text" v-model="keywords" placeholder="输入股票代码或名称"
|
||||
placeholder-style="color:#eeeeee" confirm-type="search" @confirm="clickSearch()" />
|
||||
placeholder-style="color:#eeeeee" @input="clickSearch()"/>
|
||||
</view>
|
||||
<view v-if="searchShow" class="searchResultList fixed" :style="'top:'+searchResultTop+'px;'" @click="clickSearchResultBg()">
|
||||
<view class="list">
|
||||
<view class="item" v-for="(item,index) in searchResultList" :key="index" @click.stop="clickSearchResultListItem(item)">
|
||||
{{item.stock_code}} {{item.stock_name}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y class="stockDetailsC fixed" :style="'top:'+contentTop+'px;'">
|
||||
<view v-if="stockBasicInfo" class="basicInfoC">
|
||||
@@ -182,7 +189,7 @@
|
||||
<zysj-view :stockInfo="financialStockInfo" :barCategoryList="mainBussinessBarCategoryList" :barList="mainBussinessBarList" :lineList="mainBussinessLineList" :productClassificationList="productClassificationList" ></zysj-view>
|
||||
</block>
|
||||
<block v-if="selectCaiwu==1">
|
||||
<cwfx-view></cwfx-view>
|
||||
<cwfx-view :dataList="financialMetricsList"></cwfx-view>
|
||||
</block>
|
||||
<block v-if="selectCaiwu==2">
|
||||
<cwsj-view></cwsj-view>
|
||||
@@ -209,11 +216,11 @@
|
||||
<image class="icon" src="/pagesStock/static/icon/contrast.png" mode="heightFix"></image>
|
||||
<view>对比</view>
|
||||
</view>
|
||||
<view class="item" @click="clickComment()">
|
||||
<view class="item" @click="clickOptional()">
|
||||
<image class="icon" src="/pagesStock/static/icon/optional.png" mode="heightFix"></image>
|
||||
<view>自选</view>
|
||||
</view>
|
||||
<view class="item" @click="clickFollow()">
|
||||
<view class="item" @click="clickShare()">
|
||||
<image class="icon" src="/pagesStock/static/icon/share.png" mode="heightFix"></image>
|
||||
<view>分享</view>
|
||||
</view>
|
||||
@@ -367,9 +374,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="margin: 30rpx 0; font-weight: bold; font-size: 28rpx;">相关公司</view>
|
||||
|
||||
<view v-for="(item,index) in relatedCompanyList" :key="index" style="margin: 20rpx 0; border: 1rpx solid #E7E7E7; border-radius: 10rpx; padding: 25rpx 20rpx;">
|
||||
<view>
|
||||
<text style="font-size: 28rpx; font-weight: bold;">{{item.stock_name}}</text>
|
||||
@@ -391,7 +396,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
<uni-popup ref="detailInfoPopup" type="bottom" :safeArea="false">
|
||||
<view class="industryRankPop" style="padding-bottom: env(safe-area-inset-bottom);">
|
||||
<view class="popTitle">详情</view>
|
||||
@@ -426,16 +430,20 @@
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import { actualControl, branchesList, companyAnnouncementsList, comprehensiveAnalysis, eventList, financialComparison, financialMainBusiness, financialStockInfo, industryRankList, keyFactorsTimeline, managementTeam, ownershipConcentration, quoteDetailsInfo, stockBasicInfo, topCirculatingShareholdersList, topShareholdersList, valueChainAnalysis, valueChainRelatedCompany } from '@/request/api'
|
||||
import { actualControl, branchesList, companyAnnouncementsList, comprehensiveAnalysis, eventList, financialComparison, financialMainBusiness, financialMetrics, financialStockInfo, industryRankList, keyFactorsTimeline, managementTeam, ownershipConcentration, quoteDetailsInfo, searchStockInfo, stockBasicInfo, topCirculatingShareholdersList, topShareholdersList, valueChainAnalysis, valueChainRelatedCompany } from '@/request/api'
|
||||
import { getLastNameStr, getLocalDate, getNumStr, getRateUpOrDown, getAgeByBirthYear } from '@/utils/util'
|
||||
const echarts = require('../../uni_modules/lime-echart/static/echarts.min.js');
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
navH: inject('navHeight'),
|
||||
navH: inject('navHeight'),
|
||||
navTitle:'', //标题
|
||||
searchResultTop:'', //搜索结果
|
||||
contentTop: '',
|
||||
keywords: '', //搜索关键字
|
||||
keywords: '', //搜索关键字
|
||||
searchShow:false, //是否展示搜索结果
|
||||
searchResultList:[], //搜索结果
|
||||
selectSearchStockInfo:null, //选中的搜索股票信息
|
||||
stockCode:'300700', //股票代码 600759 000009 002004 300700
|
||||
stockBasicInfo:null, //股票基本信息
|
||||
quoteDetailsInfo:null, //股票事实市场价格信息
|
||||
@@ -572,6 +580,7 @@
|
||||
}
|
||||
], //财务全景分类
|
||||
selectCaiwu: 0,
|
||||
financialMetricsList:[], //财务分析列表数据
|
||||
financialStockInfo:null,
|
||||
mainBussinessBarCategoryList:[], //主营业务柱状图,折线图分类
|
||||
mainBussinessBarList:[], //主营业务柱状图数据
|
||||
@@ -594,8 +603,13 @@
|
||||
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.contentTop = this.navH + (20 + 70 + 30) / 750 * inject('windowWidth')
|
||||
onLoad(e) {
|
||||
this.searchResultTop = this.navH + (20 + 70) / 750 * inject('windowWidth')
|
||||
this.contentTop = this.searchResultTop + 30 / 750 * inject('windowWidth')
|
||||
if(e.code)
|
||||
{
|
||||
this.stockCode = e.code
|
||||
}
|
||||
this.getStockBasicInfoData()
|
||||
this.getQuoteDetailsData()
|
||||
this.getActualControlData()
|
||||
@@ -608,6 +622,24 @@
|
||||
* 点击搜索
|
||||
*/
|
||||
clickSearch() {
|
||||
if(this.keywords) {
|
||||
this.getSearchStockInfoListData()
|
||||
}else
|
||||
this.selectSearchStockInfo = null
|
||||
},
|
||||
/**
|
||||
* 点击搜索结果背景
|
||||
*/
|
||||
clickSearchResultBg()
|
||||
{
|
||||
this.searchShow = false
|
||||
},
|
||||
/**
|
||||
* 点击搜索结果列表项
|
||||
*/
|
||||
clickSearchResultListItem(item) {
|
||||
this.selectSearchStockInfo = item
|
||||
this.searchShow = false
|
||||
this.getStockBasicInfoData()
|
||||
this.getQuoteDetailsData()
|
||||
},
|
||||
@@ -679,6 +711,9 @@
|
||||
clickCaiWuItem(index) {
|
||||
if (this.selectCaiwu != index) {
|
||||
this.selectCaiwu = index
|
||||
if(index==1) {
|
||||
this.getFinancialMetricsData()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -734,16 +769,43 @@
|
||||
{
|
||||
this.$refs["valueChainPopup"].close()
|
||||
},
|
||||
/**
|
||||
* 点击自选
|
||||
*/
|
||||
clickOptional()
|
||||
{
|
||||
|
||||
},
|
||||
/**
|
||||
* 点击分享
|
||||
*/
|
||||
clickShare()
|
||||
{
|
||||
|
||||
},
|
||||
/**
|
||||
* 根据输入内容获取搜索列表项
|
||||
*/
|
||||
getSearchStockInfoListData() {
|
||||
let param = {q:this.keywords,limit:10}
|
||||
searchStockInfo(param).then(res=>{
|
||||
this.searchResultList = res.data
|
||||
this.searchShow = this.searchResultList.length>0
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取股票基本信息
|
||||
*/
|
||||
getStockBasicInfoData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
stockBasicInfo(code).then(res=>{
|
||||
this.stockBasicInfo = res.data
|
||||
this.navTitle = res.data.SECNAME+'('+res.data.SECCODE+')'
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
@@ -753,8 +815,8 @@
|
||||
*/
|
||||
getQuoteDetailsData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
quoteDetailsInfo(code).then(res=>{
|
||||
this.quoteDetailsInfo = res.data
|
||||
@@ -767,8 +829,8 @@
|
||||
*/
|
||||
getActualControlData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
actualControl(code).then(res=>{
|
||||
this.actualControlInfo = res.data[0]
|
||||
@@ -781,8 +843,8 @@
|
||||
*/
|
||||
getOwnershipConcentration() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
ownershipConcentration(code).then(res=>{
|
||||
this.concentrationList = res.data.slice(0,8)
|
||||
@@ -795,8 +857,8 @@
|
||||
*/
|
||||
getTopShareholdersData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
topShareholdersList(code,{'limit':10}).then(res=>{
|
||||
this.topShareholdersList = res.data
|
||||
@@ -809,8 +871,8 @@
|
||||
*/
|
||||
getTopCirculatingShareholdersData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
topCirculatingShareholdersList(code,{'limit':10}).then(res=>{
|
||||
this.topCirculatingShareholdersList = res.data
|
||||
@@ -823,8 +885,8 @@
|
||||
*/
|
||||
getManagementTeamData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
managementTeam(code,{active_only:true}).then(res=>{
|
||||
let data = res.data
|
||||
@@ -869,8 +931,8 @@
|
||||
*/
|
||||
getBranchListData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
branchesList(code).then(res=>{
|
||||
this.branchList = res.data
|
||||
@@ -883,8 +945,8 @@
|
||||
*/
|
||||
getComprehensiveAnalysisData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
comprehensiveAnalysis(code).then(res=>{
|
||||
this.qualitativeAnalysisInfo = res.data.qualitative_analysis
|
||||
@@ -919,8 +981,8 @@
|
||||
*/
|
||||
getIndustryRankListData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
industryRankList(code).then(res=>{
|
||||
this.industryRankList = res.data
|
||||
@@ -933,8 +995,8 @@
|
||||
*/
|
||||
getValueChainAnalysisData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
valueChainAnalysis(code).then(res=>{
|
||||
this.valueChainAnalysisInfo = res.data.analysis_summary
|
||||
@@ -967,8 +1029,8 @@
|
||||
*/
|
||||
getKeyFactorsTimelineData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
keyFactorsTimeline(code).then(res=>{
|
||||
this.keyFactorsInfo = res.data.key_factors
|
||||
@@ -985,18 +1047,40 @@
|
||||
getFinancialStockInfoData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
financialStockInfo(code).then(res=>{
|
||||
this.financialStockInfo = res.data
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取财务指标数据
|
||||
*/
|
||||
getFinancialMetricsData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {limit:8}
|
||||
financialMetrics(code,param).then(res=>{
|
||||
this.financialMetricsList = res.data
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取财务比较数据
|
||||
*/
|
||||
getFinancialComparisonData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {periods:8}
|
||||
financialComparison(code,param).then(res=>{
|
||||
let data = res.data
|
||||
@@ -1004,7 +1088,11 @@
|
||||
this.mainBussinessBarList = []
|
||||
this.mainBussinessLineList = []
|
||||
for (let item of data) {
|
||||
this.mainBussinessBarCategoryList.unshift(item.report_type.replace('三季报','Q3'))
|
||||
let type = item.report_type
|
||||
type = type.replace('年三季报','Q3')
|
||||
type = type.replace('年中报','中报')
|
||||
type = type.replace('年年报','年报')
|
||||
this.mainBussinessBarCategoryList.unshift(type)
|
||||
this.mainBussinessBarList.unshift((parseFloat(item.performance.revenue)/100000000).toFixed(2))
|
||||
this.mainBussinessLineList.unshift((parseFloat(item.performance.net_profit)/100000000).toFixed(2))
|
||||
}
|
||||
@@ -1018,6 +1106,9 @@
|
||||
getFinancialMainBussinessData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {periods:4}
|
||||
financialMainBusiness(code,param).then(res=>{
|
||||
this.productClassificationList = res.data.product_classification
|
||||
@@ -1047,8 +1138,8 @@
|
||||
*/
|
||||
getCompanyAnnouncementsData() {
|
||||
let code = this.stockCode
|
||||
if (this.keywords) {
|
||||
code = this.keywords
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {limit:20}
|
||||
companyAnnouncementsList(code,param).then(res=>{
|
||||
@@ -1094,6 +1185,27 @@
|
||||
height: 100%;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.searchResultList {
|
||||
background-color: #00000080;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
padding: 0 25rpx;
|
||||
.list
|
||||
{
|
||||
background-color: white;
|
||||
border-radius: 10rpx;
|
||||
.item
|
||||
{
|
||||
padding: 0 42rpx;
|
||||
line-height: 60rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.stockDetailsC {
|
||||
|
||||
@@ -143,6 +143,10 @@ export const investEventDetails = (id,param) => get('/api/calendar/detail/'+id,p
|
||||
*/
|
||||
export const calendarEventCount = param => get('/api/calendar-event-counts',param)
|
||||
|
||||
/**
|
||||
* 根据输入内容搜索个股
|
||||
*/
|
||||
export const searchStockInfo = param => get('/api/stocks/search',param,true)
|
||||
/**
|
||||
* 个股基本信息
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -7051,9 +7051,9 @@ function isConsoleWritable() {
|
||||
return isWritable;
|
||||
}
|
||||
function initRuntimeSocketService() {
|
||||
const hosts = "127.0.0.1,192.168.2.91";
|
||||
const hosts = "127.0.0.1,192.168.2.28";
|
||||
const port = "8090";
|
||||
const id = "mp-weixin_bEhrtD";
|
||||
const id = "mp-weixin_6VDL_I";
|
||||
const lazy = typeof swan !== "undefined";
|
||||
let restoreError = lazy ? () => {
|
||||
} : initOnError();
|
||||
|
||||
@@ -1,10 +1,65 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
|
||||
const _sfc_main = {
|
||||
name: "cwfx-view",
|
||||
data() {
|
||||
return {
|
||||
profitabilityIndicatorList: [
|
||||
{
|
||||
title: "净资产收益率(ROE)%"
|
||||
},
|
||||
{
|
||||
title: "净资产收益率(扣非)%"
|
||||
},
|
||||
{
|
||||
title: "净资产收益率(加权)%"
|
||||
},
|
||||
{
|
||||
title: "总资产报酬率(ROA)%"
|
||||
},
|
||||
{
|
||||
title: "毛利率%"
|
||||
},
|
||||
{
|
||||
title: "净利率%"
|
||||
},
|
||||
{
|
||||
title: "营业利润率%"
|
||||
},
|
||||
{
|
||||
title: "成本费用利润率%"
|
||||
}
|
||||
],
|
||||
profitabilityIndicatorIndex: 0,
|
||||
perShareIndicatorList: [
|
||||
{
|
||||
title: "每股收益(EPS)"
|
||||
},
|
||||
{
|
||||
title: "基本每股收益"
|
||||
},
|
||||
{
|
||||
title: "稀释每股收益"
|
||||
},
|
||||
{
|
||||
title: "扣非每股收益"
|
||||
},
|
||||
{
|
||||
title: "每股净资产"
|
||||
},
|
||||
{
|
||||
title: "每股经营现金流"
|
||||
},
|
||||
{
|
||||
title: "每股资本公积"
|
||||
},
|
||||
{
|
||||
title: "每股未分配利润"
|
||||
}
|
||||
],
|
||||
perShareIndicatorIndex: 0,
|
||||
option1: {
|
||||
legend: {
|
||||
show: true,
|
||||
@@ -20,7 +75,8 @@ const _sfc_main = {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
// interval:0
|
||||
fontSize: 10,
|
||||
rotate: 45
|
||||
}
|
||||
},
|
||||
yAxis: [
|
||||
@@ -49,13 +105,70 @@ const _sfc_main = {
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
name: "营业收入",
|
||||
name: "ROE",
|
||||
data: [],
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "净利润",
|
||||
name: "同比",
|
||||
data: [],
|
||||
yAxisIndex: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
option2: {
|
||||
legend: {
|
||||
show: true,
|
||||
data: ["ROE", "同比(右)"]
|
||||
},
|
||||
grid: {
|
||||
left: "2%",
|
||||
right: "2%",
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
rotate: 45,
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
name: "(%)",
|
||||
position: "left",
|
||||
alignTicks: true,
|
||||
axisLine: {
|
||||
onZero: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "value",
|
||||
name: "(%)",
|
||||
position: "right",
|
||||
alignTicks: true,
|
||||
axisLine: {
|
||||
onZero: false
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom: [{
|
||||
type: "slider"
|
||||
}],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
name: "ROE",
|
||||
data: [],
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "同比",
|
||||
data: [],
|
||||
yAxisIndex: 1
|
||||
}
|
||||
@@ -64,15 +177,182 @@ const _sfc_main = {
|
||||
};
|
||||
},
|
||||
props: {
|
||||
barCategoryList1: Array,
|
||||
barList1: Array,
|
||||
lineList: Array,
|
||||
//折线图数据
|
||||
barCategoryList1: Array,
|
||||
barList1: Array
|
||||
dataList: Array
|
||||
},
|
||||
watch: {
|
||||
dataList(newValue) {
|
||||
let category = [];
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
for (let item of newValue) {
|
||||
var type = item.report_type;
|
||||
type = type.replace("年三季报", "Q3");
|
||||
type = type.replace("年一季报", "Q1");
|
||||
type = type.replace("年中报", "中报");
|
||||
type = type.replace("年年报", "年报");
|
||||
category.push(type);
|
||||
if (item.profitability.roe) {
|
||||
data1.push(item.profitability.roe.toFixed(2));
|
||||
} else
|
||||
data1.push(0);
|
||||
if (item.per_share_metrics.eps) {
|
||||
data2.push(item.per_share_metrics.eps.toFixed(2));
|
||||
} else
|
||||
data2.push(0);
|
||||
}
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.series[0].data = data1;
|
||||
this.profitabilityInit();
|
||||
this.option2.series[0].data = data2;
|
||||
this.perShareInit();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
clickProfitabilityIndicators(item) {
|
||||
async profitabilityInit() {
|
||||
const chart = await this.$refs.chartRef1.init(echarts);
|
||||
chart.setOption(this.option1);
|
||||
},
|
||||
async perShareInit() {
|
||||
const chart = await this.$refs.chartRef2.init(echarts);
|
||||
chart.setOption(this.option2);
|
||||
},
|
||||
/**
|
||||
* 切换盈利能力指标
|
||||
* @param {Object} item
|
||||
*/
|
||||
clickProfitabilityIndicatorItem(index) {
|
||||
if (this.profitabilityIndicatorIndex != index) {
|
||||
this.profitabilityIndicatorIndex = index;
|
||||
let data = [];
|
||||
if (index == 0) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roe) {
|
||||
data.push(item.profitability.roe.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roe_deducted) {
|
||||
data.push(item.profitability.roe_deducted.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 2) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roe_deducted) {
|
||||
data.push(item.profitability.roe_deducted.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 3) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roa) {
|
||||
data.push(item.profitability.roa.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 4) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.gross_margin) {
|
||||
data.push(item.profitability.gross_margin.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 5) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.net_profit_margin) {
|
||||
data.push(item.profitability.net_profit_margin.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 6) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.operating_profit_margin) {
|
||||
data.push(item.profitability.operating_profit_margin.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 7) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.cost_profit_ratio) {
|
||||
data.push(item.profitability.cost_profit_ratio.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
}
|
||||
this.option1.series[0].data = data;
|
||||
this.profitabilityInit();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 切换每股指标
|
||||
* @param {Object} item
|
||||
*/
|
||||
clickPerShareIndicatorItem(index) {
|
||||
if (this.perShareIndicatorIndex != index) {
|
||||
this.perShareIndicatorIndex = index;
|
||||
let data = [];
|
||||
if (index == 0) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.eps) {
|
||||
data.push(item.per_share_metrics.eps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.basic_eps) {
|
||||
data.push(item.per_share_metrics.basic_eps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 2) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.diluted_eps) {
|
||||
data.push(item.per_share_metrics.diluted_eps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 3) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.deducted_eps) {
|
||||
data.push(item.per_share_metrics.deducted_eps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 4) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.bvps) {
|
||||
data.push(item.per_share_metrics.bvps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 5) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.operating_cash_flow_ps) {
|
||||
data.push(item.per_share_metrics.operating_cash_flow_ps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 6) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.capital_reserve_ps) {
|
||||
data.push(item.per_share_metrics.capital_reserve_ps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
} else if (index == 7) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.per_share_metrics.undistributed_profit_ps) {
|
||||
data.push(item.per_share_metrics.undistributed_profit_ps.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
}
|
||||
this.option2.series[0].data = data;
|
||||
this.perShareInit();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -88,13 +368,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
a: common_assets._imports_0$8,
|
||||
b: common_assets._imports_1$2,
|
||||
c: common_vendor.f(["净资产收益率(ROE)%", "净资产收益率(扣非)%", "净资产收益率(加权)%", "总资产报酬率(ROA)%", "毛利率%", "净利率%", "营业利润率%", "成本费用利润率%"], (item, index, i0) => {
|
||||
c: common_vendor.f($data.profitabilityIndicatorList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: index == 0 ? "#BB8520" : "#999999",
|
||||
c: `1rpx solid ${index == 0 ? "#F2C369" : "#D2D2D2"}`,
|
||||
d: index == 0 ? "#FFFAF1" : "#FFFFFF",
|
||||
e: index
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item flex " + ($data.profitabilityIndicatorIndex == index ? "select" : "")),
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => $options.clickProfitabilityIndicatorItem(index), index)
|
||||
};
|
||||
}),
|
||||
d: common_assets._imports_2$14,
|
||||
@@ -102,13 +381,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
f: common_vendor.sr("chartRef1", "3746da36-0"),
|
||||
g: common_assets._imports_4$12,
|
||||
h: common_assets._imports_1$2,
|
||||
i: common_vendor.f(["每股收益(EPS)", "基本每股收益", "稀释每股收益", "扣非每股收益", "每股净资产", "每股经营现金流", "每股资本公积", "每股未分配利润"], (item, index, i0) => {
|
||||
i: common_vendor.f($data.perShareIndicatorList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: index == 0 ? "#BB8520" : "#999999",
|
||||
c: `1rpx solid ${index == 0 ? "#F2C369" : "#D2D2D2"}`,
|
||||
d: index == 0 ? "#FFFAF1" : "#FFFFFF",
|
||||
e: index
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item flexCenter " + ($data.perShareIndicatorIndex == index ? "select" : "")),
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => $options.clickPerShareIndicatorItem(index), index)
|
||||
};
|
||||
}),
|
||||
j: common_assets._imports_2$14,
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{a}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">盈利能力</view><image src="{{b}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view class="flex" style="padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view class="flex" style="padding:3rpx 10rpx;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{d}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{e}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef1" u-i="3746da36-0" bind:__l="__l"></l-echart></view></view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{g}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">每股指标</view><image src="{{h}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view style="display:flex;align-items:center;padding:3rpx 10rpx;box-sizing:border-box;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{j}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{k}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef2" u-i="3746da36-1" bind:__l="__l"></l-echart></view></view></view>
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view class="flex" style="padding:20rpx"><image src="{{a}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">盈利能力</view><image src="{{b}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="{{item.b}}" style="justify-content:center;text-align:center;padding:3rpx 5rpx" bindtap="{{item.d}}">{{item.a}}</view></view><view class="flex" style="padding:20rpx"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view class="flex" style="padding:3rpx 10rpx;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{d}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{e}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef1" u-i="3746da36-0" bind:__l="__l"></l-echart></view></view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{g}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">每股指标</view><image src="{{h}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view style="display:flex;align-items:center;padding:3rpx 10rpx;box-sizing:border-box;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{j}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{k}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef2" u-i="3746da36-1" bind:__l="__l"></l-echart></view></view></view>
|
||||
13
unpackage/dist/dev/mp-weixin/components/cwfx-view/cwfx-view.wxss
vendored
Normal file
13
unpackage/dist/dev/mp-weixin/components/cwfx-view/cwfx-view.wxss
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
.indicatorC .item {
|
||||
background-color: #FFFFFF;
|
||||
padding: 3rpx 5rpx;
|
||||
border: 1rpx solid #D2D2D2;
|
||||
font-size: 20rpx;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
.indicatorC .item.select {
|
||||
background-color: #FFFAF1;
|
||||
border: 1rpx solid #F2C369;
|
||||
color: #BB8520;
|
||||
}
|
||||
@@ -88,7 +88,6 @@ const _sfc_main = {
|
||||
},
|
||||
watch: {
|
||||
data(newValue) {
|
||||
common_vendor.index.__f__("log", "at components/zlfx-view/zlfx-view.vue:172", newValue);
|
||||
this.option.series[0].data = newValue;
|
||||
this.init();
|
||||
}
|
||||
@@ -96,7 +95,7 @@ const _sfc_main = {
|
||||
methods: {
|
||||
async init() {
|
||||
const chart = await this.$refs.chartRef.init(echarts);
|
||||
common_vendor.index.__f__("log", "at components/zlfx-view/zlfx-view.vue:184", chart);
|
||||
common_vendor.index.__f__("log", "at components/zlfx-view/zlfx-view.vue:183", chart);
|
||||
chart.setOption(this.option);
|
||||
},
|
||||
clickIndustryRank() {
|
||||
|
||||
@@ -3,14 +3,23 @@ const common_vendor = require("../../common/vendor.js");
|
||||
const request_api = require("../../request/api.js");
|
||||
const utils_util = require("../../utils/util.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
require("../../uni_modules/lime-echart/static/echarts.min.js");
|
||||
const _sfc_main = {
|
||||
data() {
|
||||
return {
|
||||
navH: common_vendor.inject("navHeight"),
|
||||
navTitle: "",
|
||||
//标题
|
||||
searchResultTop: "",
|
||||
//搜索结果
|
||||
contentTop: "",
|
||||
keywords: "",
|
||||
//搜索关键字
|
||||
searchShow: false,
|
||||
//是否展示搜索结果
|
||||
searchResultList: [],
|
||||
//搜索结果
|
||||
selectSearchStockInfo: null,
|
||||
//选中的搜索股票信息
|
||||
stockCode: "300700",
|
||||
//股票代码 600759 000009 002004 300700
|
||||
stockBasicInfo: null,
|
||||
@@ -184,6 +193,8 @@ const _sfc_main = {
|
||||
],
|
||||
//财务全景分类
|
||||
selectCaiwu: 0,
|
||||
financialMetricsList: [],
|
||||
//财务分析列表数据
|
||||
financialStockInfo: null,
|
||||
mainBussinessBarCategoryList: [],
|
||||
//主营业务柱状图,折线图分类
|
||||
@@ -216,8 +227,12 @@ const _sfc_main = {
|
||||
//获取数字展示万或亿
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.contentTop = this.navH + (20 + 70 + 30) / 750 * common_vendor.inject("windowWidth");
|
||||
onLoad(e) {
|
||||
this.searchResultTop = this.navH + (20 + 70) / 750 * common_vendor.inject("windowWidth");
|
||||
this.contentTop = this.searchResultTop + 30 / 750 * common_vendor.inject("windowWidth");
|
||||
if (e.code) {
|
||||
this.stockCode = e.code;
|
||||
}
|
||||
this.getStockBasicInfoData();
|
||||
this.getQuoteDetailsData();
|
||||
this.getActualControlData();
|
||||
@@ -230,6 +245,23 @@ const _sfc_main = {
|
||||
* 点击搜索
|
||||
*/
|
||||
clickSearch() {
|
||||
if (this.keywords) {
|
||||
this.getSearchStockInfoListData();
|
||||
} else
|
||||
this.selectSearchStockInfo = null;
|
||||
},
|
||||
/**
|
||||
* 点击搜索结果背景
|
||||
*/
|
||||
clickSearchResultBg() {
|
||||
this.searchShow = false;
|
||||
},
|
||||
/**
|
||||
* 点击搜索结果列表项
|
||||
*/
|
||||
clickSearchResultListItem(item) {
|
||||
this.selectSearchStockInfo = item;
|
||||
this.searchShow = false;
|
||||
this.getStockBasicInfoData();
|
||||
this.getQuoteDetailsData();
|
||||
},
|
||||
@@ -294,6 +326,9 @@ const _sfc_main = {
|
||||
clickCaiWuItem(index) {
|
||||
if (this.selectCaiwu != index) {
|
||||
this.selectCaiwu = index;
|
||||
if (index == 1) {
|
||||
this.getFinancialMetricsData();
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -343,16 +378,38 @@ const _sfc_main = {
|
||||
clickCloseValueChainPop() {
|
||||
this.$refs["valueChainPopup"].close();
|
||||
},
|
||||
/**
|
||||
* 点击自选
|
||||
*/
|
||||
clickOptional() {
|
||||
},
|
||||
/**
|
||||
* 点击分享
|
||||
*/
|
||||
clickShare() {
|
||||
},
|
||||
/**
|
||||
* 根据输入内容获取搜索列表项
|
||||
*/
|
||||
getSearchStockInfoListData() {
|
||||
let param = { q: this.keywords, limit: 10 };
|
||||
request_api.searchStockInfo(param).then((res) => {
|
||||
this.searchResultList = res.data;
|
||||
this.searchShow = this.searchResultList.length > 0;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取股票基本信息
|
||||
*/
|
||||
getStockBasicInfoData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.stockBasicInfo(code).then((res) => {
|
||||
this.stockBasicInfo = res.data;
|
||||
this.navTitle = res.data.SECNAME + "(" + res.data.SECCODE + ")";
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
@@ -361,8 +418,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getQuoteDetailsData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.quoteDetailsInfo(code).then((res) => {
|
||||
this.quoteDetailsInfo = res.data;
|
||||
@@ -374,8 +431,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getActualControlData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.actualControl(code).then((res) => {
|
||||
this.actualControlInfo = res.data[0];
|
||||
@@ -387,8 +444,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getOwnershipConcentration() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.ownershipConcentration(code).then((res) => {
|
||||
this.concentrationList = res.data.slice(0, 8);
|
||||
@@ -400,8 +457,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getTopShareholdersData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.topShareholdersList(code, { "limit": 10 }).then((res) => {
|
||||
this.topShareholdersList = res.data;
|
||||
@@ -413,8 +470,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getTopCirculatingShareholdersData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.topCirculatingShareholdersList(code, { "limit": 10 }).then((res) => {
|
||||
this.topCirculatingShareholdersList = res.data;
|
||||
@@ -426,8 +483,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getManagementTeamData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.managementTeam(code, { active_only: true }).then((res) => {
|
||||
let data = res.data;
|
||||
@@ -465,8 +522,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getBranchListData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.branchesList(code).then((res) => {
|
||||
this.branchList = res.data;
|
||||
@@ -478,8 +535,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getComprehensiveAnalysisData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.comprehensiveAnalysis(code).then((res) => {
|
||||
this.qualitativeAnalysisInfo = res.data.qualitative_analysis;
|
||||
@@ -513,8 +570,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getIndustryRankListData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.industryRankList(code).then((res) => {
|
||||
this.industryRankList = res.data;
|
||||
@@ -526,8 +583,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getValueChainAnalysisData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.valueChainAnalysis(code).then((res) => {
|
||||
this.valueChainAnalysisInfo = res.data.analysis_summary;
|
||||
@@ -557,8 +614,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getKeyFactorsTimelineData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.keyFactorsTimeline(code).then((res) => {
|
||||
this.keyFactorsInfo = res.data.key_factors;
|
||||
@@ -573,16 +630,36 @@ const _sfc_main = {
|
||||
*/
|
||||
getFinancialStockInfoData() {
|
||||
let code = this.stockCode;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
request_api.financialStockInfo(code).then((res) => {
|
||||
this.financialStockInfo = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取财务指标数据
|
||||
*/
|
||||
getFinancialMetricsData() {
|
||||
let code = this.stockCode;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
let param = { limit: 8 };
|
||||
request_api.financialMetrics(code, param).then((res) => {
|
||||
this.financialMetricsList = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取财务比较数据
|
||||
*/
|
||||
getFinancialComparisonData() {
|
||||
let code = this.stockCode;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
let param = { periods: 8 };
|
||||
request_api.financialComparison(code, param).then((res) => {
|
||||
let data = res.data;
|
||||
@@ -590,7 +667,11 @@ const _sfc_main = {
|
||||
this.mainBussinessBarList = [];
|
||||
this.mainBussinessLineList = [];
|
||||
for (let item of data) {
|
||||
this.mainBussinessBarCategoryList.unshift(item.report_type.replace("三季报", "Q3"));
|
||||
let type = item.report_type;
|
||||
type = type.replace("年三季报", "Q3");
|
||||
type = type.replace("年中报", "中报");
|
||||
type = type.replace("年年报", "年报");
|
||||
this.mainBussinessBarCategoryList.unshift(type);
|
||||
this.mainBussinessBarList.unshift((parseFloat(item.performance.revenue) / 1e8).toFixed(2));
|
||||
this.mainBussinessLineList.unshift((parseFloat(item.performance.net_profit) / 1e8).toFixed(2));
|
||||
}
|
||||
@@ -602,6 +683,9 @@ const _sfc_main = {
|
||||
*/
|
||||
getFinancialMainBussinessData() {
|
||||
let code = this.stockCode;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
let param = { periods: 4 };
|
||||
request_api.financialMainBusiness(code, param).then((res) => {
|
||||
this.productClassificationList = res.data.product_classification;
|
||||
@@ -627,8 +711,8 @@ const _sfc_main = {
|
||||
*/
|
||||
getCompanyAnnouncementsData() {
|
||||
let code = this.stockCode;
|
||||
if (this.keywords) {
|
||||
code = this.keywords;
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
let param = { limit: 20 };
|
||||
request_api.companyAnnouncementsList(code, param).then((res) => {
|
||||
@@ -675,74 +759,86 @@ if (!Math) {
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.p({
|
||||
leftText: "平安银行(000001)",
|
||||
leftText: $data.navTitle,
|
||||
hideNavBg: true
|
||||
}),
|
||||
b: common_assets._imports_0,
|
||||
c: common_assets._imports_1,
|
||||
d: common_vendor.o(($event) => $options.clickSearch()),
|
||||
d: common_vendor.o([($event) => $data.keywords = $event.detail.value, ($event) => $options.clickSearch()]),
|
||||
e: $data.keywords,
|
||||
f: common_vendor.o(($event) => $data.keywords = $event.detail.value),
|
||||
g: common_vendor.s("top:" + $data.navH + "px;"),
|
||||
h: $data.stockBasicInfo
|
||||
f: common_vendor.s("top:" + $data.navH + "px;"),
|
||||
g: $data.searchShow
|
||||
}, $data.searchShow ? {
|
||||
h: common_vendor.f($data.searchResultList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.stock_code),
|
||||
b: common_vendor.t(item.stock_name),
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => $options.clickSearchResultListItem(item), index)
|
||||
};
|
||||
}),
|
||||
i: common_vendor.s("top:" + $data.searchResultTop + "px;"),
|
||||
j: common_vendor.o(($event) => $options.clickSearchResultBg())
|
||||
} : {}, {
|
||||
k: $data.stockBasicInfo
|
||||
}, $data.stockBasicInfo ? common_vendor.e({
|
||||
i: common_vendor.t($data.stockBasicInfo.industry_l1),
|
||||
j: common_vendor.t($data.stockBasicInfo.sw_industry_l2),
|
||||
k: $data.quoteDetailsInfo
|
||||
l: common_vendor.t($data.stockBasicInfo.industry_l1),
|
||||
m: common_vendor.t($data.stockBasicInfo.sw_industry_l2),
|
||||
n: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? {
|
||||
l: common_vendor.t($data.quoteDetailsInfo.current_price),
|
||||
m: common_vendor.n("current " + ($data.getRateUpOrDown($data.quoteDetailsInfo.change_percent) ? "down" : "up")),
|
||||
n: common_vendor.t($data.quoteDetailsInfo.change_percent),
|
||||
o: common_vendor.n("chg " + ($data.getRateUpOrDown($data.quoteDetailsInfo.change_percent) ? "down" : "up")),
|
||||
p: common_vendor.t($data.quoteDetailsInfo.today_open),
|
||||
q: common_vendor.t($data.quoteDetailsInfo.yesterday_close),
|
||||
r: common_vendor.t($data.quoteDetailsInfo.today_high),
|
||||
s: common_vendor.t($data.quoteDetailsInfo.today_low)
|
||||
o: common_vendor.t($data.quoteDetailsInfo.current_price),
|
||||
p: common_vendor.n("current " + ($data.getRateUpOrDown($data.quoteDetailsInfo.change_percent) ? "down" : "up")),
|
||||
q: common_vendor.t($data.quoteDetailsInfo.change_percent),
|
||||
r: common_vendor.n("chg " + ($data.getRateUpOrDown($data.quoteDetailsInfo.change_percent) ? "down" : "up")),
|
||||
s: common_vendor.t($data.quoteDetailsInfo.today_open),
|
||||
t: common_vendor.t($data.quoteDetailsInfo.yesterday_close),
|
||||
v: common_vendor.t($data.quoteDetailsInfo.today_high),
|
||||
w: common_vendor.t($data.quoteDetailsInfo.today_low)
|
||||
} : {}, {
|
||||
t: $data.quoteDetailsInfo
|
||||
x: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? common_vendor.e({
|
||||
v: common_vendor.t($data.quoteDetailsInfo.pe ? $data.quoteDetailsInfo.pe : "-"),
|
||||
w: $data.quoteDetailsInfo.float_shares
|
||||
y: common_vendor.t($data.quoteDetailsInfo.pe ? $data.quoteDetailsInfo.pe : "-"),
|
||||
z: $data.quoteDetailsInfo.float_shares
|
||||
}, $data.quoteDetailsInfo.float_shares ? {
|
||||
x: common_vendor.t($data.quoteDetailsInfo.float_shares)
|
||||
A: common_vendor.t($data.quoteDetailsInfo.float_shares)
|
||||
} : {}) : {}, {
|
||||
y: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? {
|
||||
z: common_vendor.t($data.quoteDetailsInfo.market_cap),
|
||||
A: common_vendor.t($data.quoteDetailsInfo.turnover_rate)
|
||||
} : {}, {
|
||||
B: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? common_vendor.e({
|
||||
C: $data.quoteDetailsInfo.total_shares
|
||||
}, $data.quoteDetailsInfo.total_shares ? {
|
||||
D: common_vendor.t($data.quoteDetailsInfo.total_shares)
|
||||
} : {}, {
|
||||
E: common_vendor.t($data.quoteDetailsInfo.week52_low),
|
||||
F: common_vendor.t($data.quoteDetailsInfo.week52_high)
|
||||
}) : {}, {
|
||||
G: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? {
|
||||
H: common_vendor.t($data.getRateUpOrDown($data.quoteDetailsInfo.net_inflow) ? "" : "+"),
|
||||
I: common_vendor.t($data.getNumStr($data.quoteDetailsInfo.net_inflow)),
|
||||
J: common_vendor.n("content flex1 marginR " + ($data.getRateUpOrDown($data.quoteDetailsInfo.net_inflow) ? "down" : "up"))
|
||||
C: common_vendor.t($data.quoteDetailsInfo.market_cap),
|
||||
D: common_vendor.t($data.quoteDetailsInfo.turnover_rate)
|
||||
} : {}, {
|
||||
K: common_assets._imports_2$11,
|
||||
L: common_vendor.t($data.getLocalDate($data.stockBasicInfo.establish_date)),
|
||||
M: common_assets._imports_3$11,
|
||||
N: common_vendor.t($data.stockBasicInfo.reg_capital),
|
||||
O: common_assets._imports_4$10,
|
||||
P: common_vendor.t($data.stockBasicInfo.province),
|
||||
Q: common_vendor.t($data.stockBasicInfo.city),
|
||||
R: common_assets._imports_5$6,
|
||||
S: common_vendor.t($data.stockBasicInfo.company_intro),
|
||||
T: !$data.isExpandIntro
|
||||
}, !$data.isExpandIntro ? {} : {}, {
|
||||
U: common_vendor.t($data.isExpandIntro ? "收起" : "展开全文"),
|
||||
V: common_vendor.n("expand " + ($data.isExpandIntro ? "" : "absolute")),
|
||||
W: common_vendor.o(($event) => $options.clickExpandOrRetractCompanyIntro()),
|
||||
X: common_vendor.n("info relative flex1 " + ($data.isExpandIntro ? "" : "retract"))
|
||||
E: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? common_vendor.e({
|
||||
F: $data.quoteDetailsInfo.total_shares
|
||||
}, $data.quoteDetailsInfo.total_shares ? {
|
||||
G: common_vendor.t($data.quoteDetailsInfo.total_shares)
|
||||
} : {}, {
|
||||
H: common_vendor.t($data.quoteDetailsInfo.week52_low),
|
||||
I: common_vendor.t($data.quoteDetailsInfo.week52_high)
|
||||
}) : {}, {
|
||||
Y: common_vendor.f($data.tabList, (item, index, i0) => {
|
||||
J: $data.quoteDetailsInfo
|
||||
}, $data.quoteDetailsInfo ? {
|
||||
K: common_vendor.t($data.getRateUpOrDown($data.quoteDetailsInfo.net_inflow) ? "" : "+"),
|
||||
L: common_vendor.t($data.getNumStr($data.quoteDetailsInfo.net_inflow)),
|
||||
M: common_vendor.n("content flex1 marginR " + ($data.getRateUpOrDown($data.quoteDetailsInfo.net_inflow) ? "down" : "up"))
|
||||
} : {}, {
|
||||
N: common_assets._imports_2$11,
|
||||
O: common_vendor.t($data.getLocalDate($data.stockBasicInfo.establish_date)),
|
||||
P: common_assets._imports_3$11,
|
||||
Q: common_vendor.t($data.stockBasicInfo.reg_capital),
|
||||
R: common_assets._imports_4$10,
|
||||
S: common_vendor.t($data.stockBasicInfo.province),
|
||||
T: common_vendor.t($data.stockBasicInfo.city),
|
||||
U: common_assets._imports_5$6,
|
||||
V: common_vendor.t($data.stockBasicInfo.company_intro),
|
||||
W: !$data.isExpandIntro
|
||||
}, !$data.isExpandIntro ? {} : {}, {
|
||||
X: common_vendor.t($data.isExpandIntro ? "收起" : "展开全文"),
|
||||
Y: common_vendor.n("expand " + ($data.isExpandIntro ? "" : "absolute")),
|
||||
Z: common_vendor.o(($event) => $options.clickExpandOrRetractCompanyIntro()),
|
||||
aa: common_vendor.n("info relative flex1 " + ($data.isExpandIntro ? "" : "retract"))
|
||||
}) : {}, {
|
||||
ab: common_vendor.f($data.tabList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item " + ($data.selectTab == index ? "select" : "")),
|
||||
@@ -750,9 +846,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickTabItem(index), index)
|
||||
};
|
||||
}),
|
||||
Z: $data.selectTab == 0
|
||||
ac: $data.selectTab == 0
|
||||
}, $data.selectTab == 0 ? common_vendor.e({
|
||||
aa: common_vendor.f($data.companyFilesList, (item, index, i0) => {
|
||||
ad: common_vendor.f($data.companyFilesList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item " + ($data.selectCompanyFiles == index ? "select" : "")),
|
||||
@@ -760,36 +856,36 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickCompanyFilesItem(index), index)
|
||||
};
|
||||
}),
|
||||
ab: $data.selectCompanyFiles == 0
|
||||
ae: $data.selectCompanyFiles == 0
|
||||
}, $data.selectCompanyFiles == 0 ? {
|
||||
ac: common_vendor.p({
|
||||
af: common_vendor.p({
|
||||
actualControlInfo: $data.actualControlInfo,
|
||||
concentrationList: $data.concentrationList,
|
||||
shareholdersList: $data.topShareholdersList,
|
||||
circulatingShareholdersList: $data.topCirculatingShareholdersList
|
||||
})
|
||||
} : {}, {
|
||||
ad: $data.selectCompanyFiles == 1
|
||||
ag: $data.selectCompanyFiles == 1
|
||||
}, $data.selectCompanyFiles == 1 ? {
|
||||
ae: common_vendor.p({
|
||||
ah: common_vendor.p({
|
||||
managementList: $data.managementList
|
||||
})
|
||||
} : {}, {
|
||||
af: $data.selectCompanyFiles == 2
|
||||
ai: $data.selectCompanyFiles == 2
|
||||
}, $data.selectCompanyFiles == 2 ? {
|
||||
ag: common_vendor.p({
|
||||
aj: common_vendor.p({
|
||||
branchList: $data.branchList
|
||||
})
|
||||
} : {}, {
|
||||
ah: $data.selectCompanyFiles == 3
|
||||
ak: $data.selectCompanyFiles == 3
|
||||
}, $data.selectCompanyFiles == 3 ? {
|
||||
ai: common_vendor.p({
|
||||
al: common_vendor.p({
|
||||
stockBasicInfo: $data.stockBasicInfo
|
||||
})
|
||||
} : {}) : {}, {
|
||||
aj: $data.selectTab == 1
|
||||
am: $data.selectTab == 1
|
||||
}, $data.selectTab == 1 ? common_vendor.e({
|
||||
ak: common_vendor.f($data.inDepthAnalysisList, (item, index, i0) => {
|
||||
an: common_vendor.f($data.inDepthAnalysisList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item " + ($data.selectInDepthAnalysis == index ? "select" : "")),
|
||||
@@ -797,10 +893,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickInDepthAnalysisItem(index), index)
|
||||
};
|
||||
}),
|
||||
al: $data.selectInDepthAnalysis == 0
|
||||
ao: $data.selectInDepthAnalysis == 0
|
||||
}, $data.selectInDepthAnalysis == 0 ? {
|
||||
am: common_vendor.o(($event) => $options.clickIndustryRank()),
|
||||
an: common_vendor.p({
|
||||
ap: common_vendor.o(($event) => $options.clickIndustryRank()),
|
||||
aq: common_vendor.p({
|
||||
qualitativeAnalysisInfo: $data.qualitativeAnalysisInfo,
|
||||
competitivePositionInfo: $data.competitivePositionInfo,
|
||||
industryRankInfo: $data.industryRankInfo,
|
||||
@@ -809,17 +905,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
data: $data.chartData2
|
||||
})
|
||||
} : {}, {
|
||||
ao: $data.selectInDepthAnalysis == 1
|
||||
ar: $data.selectInDepthAnalysis == 1
|
||||
}, $data.selectInDepthAnalysis == 1 ? {
|
||||
ap: common_vendor.p({
|
||||
as: common_vendor.p({
|
||||
businessStructureList: $data.businessStructureList,
|
||||
businessSegmentList: $data.businessSegmentList
|
||||
})
|
||||
} : {}, {
|
||||
aq: $data.selectInDepthAnalysis == 2
|
||||
at: $data.selectInDepthAnalysis == 2
|
||||
}, $data.selectInDepthAnalysis == 2 ? {
|
||||
ar: common_vendor.o($options.clickValueChainDetail),
|
||||
as: common_vendor.p({
|
||||
av: common_vendor.o($options.clickValueChainDetail),
|
||||
aw: common_vendor.p({
|
||||
valueChainAnalysisInfo: $data.valueChainAnalysisInfo,
|
||||
totalNodes: $data.totalNodes,
|
||||
upstreamList: $data.upstreamList,
|
||||
@@ -827,19 +923,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
downstreamList: $data.downstreamList
|
||||
})
|
||||
} : {}, {
|
||||
at: $data.selectInDepthAnalysis == 3
|
||||
ax: $data.selectInDepthAnalysis == 3
|
||||
}, $data.selectInDepthAnalysis == 3 ? {
|
||||
av: common_vendor.o(($event) => $options.detailShow(1)),
|
||||
aw: common_vendor.p({
|
||||
ay: common_vendor.o(($event) => $options.detailShow(1)),
|
||||
az: common_vendor.p({
|
||||
keyFactorsInfo: $data.keyFactorsInfo,
|
||||
keyFactorsList: $data.keyFactorsList,
|
||||
timelineInfo: $data.timelineInfo,
|
||||
timelineList: $data.timelineList
|
||||
})
|
||||
} : {}) : {}, {
|
||||
ax: $data.selectTab == 2
|
||||
aA: $data.selectTab == 2
|
||||
}, $data.selectTab == 2 ? common_vendor.e({
|
||||
ay: common_vendor.f($data.caiWuList, (item, index, i0) => {
|
||||
aB: common_vendor.f($data.caiWuList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item " + ($data.selectCaiwu == index ? "select" : "")),
|
||||
@@ -847,9 +943,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickCaiWuItem(index), index)
|
||||
};
|
||||
}),
|
||||
az: $data.selectCaiwu == 0
|
||||
aC: $data.selectCaiwu == 0
|
||||
}, $data.selectCaiwu == 0 ? {
|
||||
aA: common_vendor.p({
|
||||
aD: common_vendor.p({
|
||||
stockInfo: $data.financialStockInfo,
|
||||
barCategoryList: $data.mainBussinessBarCategoryList,
|
||||
barList: $data.mainBussinessBarList,
|
||||
@@ -857,13 +953,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
productClassificationList: $data.productClassificationList
|
||||
})
|
||||
} : {}, {
|
||||
aB: $data.selectCaiwu == 1
|
||||
}, $data.selectCaiwu == 1 ? {} : {}, {
|
||||
aC: $data.selectCaiwu == 2
|
||||
aE: $data.selectCaiwu == 1
|
||||
}, $data.selectCaiwu == 1 ? {
|
||||
aF: common_vendor.p({
|
||||
dataList: $data.financialMetricsList
|
||||
})
|
||||
} : {}, {
|
||||
aG: $data.selectCaiwu == 2
|
||||
}, $data.selectCaiwu == 2 ? {} : {}) : {}, {
|
||||
aD: $data.selectTab == 3
|
||||
aH: $data.selectTab == 3
|
||||
}, $data.selectTab == 3 ? {
|
||||
aE: common_vendor.f($data.dongTaiList, (item, index, i0) => {
|
||||
aI: common_vendor.f($data.dongTaiList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item " + ($data.selectDongtai == index ? "select" : "")),
|
||||
@@ -871,24 +971,24 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickDongTaiItem(index), index)
|
||||
};
|
||||
}),
|
||||
aF: common_vendor.p({
|
||||
aJ: common_vendor.p({
|
||||
type: $data.selectDongtai,
|
||||
newsList: $data.newsList,
|
||||
announcementList: $data.companyAnnouncementList
|
||||
})
|
||||
} : {}, {
|
||||
aG: common_vendor.s("top:" + $data.contentTop + "px;"),
|
||||
aH: common_vendor.o(($event) => _ctx.sendEventComment()),
|
||||
aI: _ctx.eventComment,
|
||||
aJ: common_vendor.o(($event) => _ctx.eventComment = $event.detail.value),
|
||||
aK: common_assets._imports_2$10,
|
||||
aL: common_assets._imports_3$10,
|
||||
aM: common_vendor.o(($event) => _ctx.clickComment()),
|
||||
aN: common_assets._imports_4$9,
|
||||
aO: common_vendor.o(($event) => _ctx.clickFollow()),
|
||||
aP: common_assets._imports_9$1,
|
||||
aQ: common_vendor.o(($event) => $options.clickCloseIndustryRankPop()),
|
||||
aR: common_vendor.f($data.industryRankList, (item, index, i0) => {
|
||||
aK: common_vendor.s("top:" + $data.contentTop + "px;"),
|
||||
aL: common_vendor.o(($event) => _ctx.sendEventComment()),
|
||||
aM: _ctx.eventComment,
|
||||
aN: common_vendor.o(($event) => _ctx.eventComment = $event.detail.value),
|
||||
aO: common_assets._imports_2$10,
|
||||
aP: common_assets._imports_3$10,
|
||||
aQ: common_vendor.o(($event) => $options.clickOptional()),
|
||||
aR: common_assets._imports_4$9,
|
||||
aS: common_vendor.o(($event) => $options.clickShare()),
|
||||
aT: common_assets._imports_9$1,
|
||||
aU: common_vendor.o(($event) => $options.clickCloseIndustryRankPop()),
|
||||
aV: common_vendor.f($data.industryRankList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.f(item.rankings, (ritem, rindex, i1) => {
|
||||
return common_vendor.e({
|
||||
@@ -985,68 +1085,68 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
c: index
|
||||
};
|
||||
}),
|
||||
aS: common_assets._imports_1$13,
|
||||
aT: common_vendor.sr("industryRankPop", "817d6950-13"),
|
||||
aU: common_vendor.p({
|
||||
aW: common_assets._imports_1$13,
|
||||
aX: common_vendor.sr("industryRankPop", "817d6950-13"),
|
||||
aY: common_vendor.p({
|
||||
type: "bottom"
|
||||
}),
|
||||
aV: common_assets._imports_9$1,
|
||||
aW: common_vendor.o(($event) => $options.clickCloseValueChainPop()),
|
||||
aX: $data.selectValueChainInfo
|
||||
aZ: common_assets._imports_9$1,
|
||||
ba: common_vendor.o(($event) => $options.clickCloseValueChainPop()),
|
||||
bb: $data.selectValueChainInfo
|
||||
}, $data.selectValueChainInfo ? common_vendor.e({
|
||||
aY: common_vendor.t($data.selectValueChainInfo.node_name),
|
||||
aZ: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
bc: common_vendor.t($data.selectValueChainInfo.node_name),
|
||||
bd: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
ba: common_vendor.t($data.selectValueChainInfo.node_type)
|
||||
} : {}, {
|
||||
bb: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bc: common_vendor.t($data.selectValueChainInfo.market_share)
|
||||
} : {}, {
|
||||
bd: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
be: common_vendor.t($data.selectValueChainInfo.node_type)
|
||||
} : {}, {
|
||||
bf: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bf: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bg: common_vendor.t($data.selectValueChainInfo.market_share)
|
||||
} : {}, {
|
||||
bh: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bh: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bi: common_vendor.t($data.selectValueChainInfo.node_type)
|
||||
} : {}, {
|
||||
bj: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bj: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bk: common_vendor.t($data.selectValueChainInfo.market_share)
|
||||
} : {}, {
|
||||
bl: common_vendor.t($data.selectValueChainInfo.node_description),
|
||||
bm: common_vendor.t($data.selectValueChainInfo.importance_score),
|
||||
bn: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bo: common_vendor.s("width:" + ($data.selectValueChainInfo.importance_score ? $data.selectValueChainInfo.importance_score : 0) + "%;")
|
||||
} : {}, {
|
||||
bp: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bq: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
|
||||
} : {}, {
|
||||
br: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
bl: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bs: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
|
||||
bm: common_vendor.t($data.selectValueChainInfo.node_type)
|
||||
} : {}, {
|
||||
bt: common_vendor.t($data.selectValueChainInfo.dependency_degree),
|
||||
bv: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bw: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
|
||||
} : {}, {
|
||||
bx: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
by: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
|
||||
} : {}, {
|
||||
bz: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
bn: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bo: common_vendor.t($data.selectValueChainInfo.market_share)
|
||||
} : {}, {
|
||||
bp: common_vendor.t($data.selectValueChainInfo.node_description),
|
||||
bq: common_vendor.t($data.selectValueChainInfo.importance_score),
|
||||
br: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bs: common_vendor.s("width:" + ($data.selectValueChainInfo.importance_score ? $data.selectValueChainInfo.importance_score : 0) + "%;")
|
||||
} : {}, {
|
||||
bt: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bv: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
|
||||
} : {}, {
|
||||
bw: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bx: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
|
||||
} : {}, {
|
||||
by: common_vendor.t($data.selectValueChainInfo.dependency_degree),
|
||||
bz: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
|
||||
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
|
||||
bA: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
|
||||
} : {}, {
|
||||
bB: common_vendor.f($data.relatedCompanyList, (item, index, i0) => {
|
||||
bB: $data.selectValueChainInfo.node_level == 0
|
||||
}, $data.selectValueChainInfo.node_level == 0 ? {
|
||||
bC: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
|
||||
} : {}, {
|
||||
bD: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
|
||||
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
|
||||
bE: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
|
||||
} : {}, {
|
||||
bF: common_vendor.f($data.relatedCompanyList, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item.stock_name),
|
||||
b: common_vendor.t(item.stock_code),
|
||||
@@ -1061,14 +1161,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
});
|
||||
})
|
||||
}) : {}, {
|
||||
bC: common_vendor.sr("valueChainPopup", "817d6950-14"),
|
||||
bD: common_vendor.p({
|
||||
bG: common_vendor.sr("valueChainPopup", "817d6950-14"),
|
||||
bH: common_vendor.p({
|
||||
type: "bottom",
|
||||
safeArea: false
|
||||
}),
|
||||
bE: common_assets._imports_9$1,
|
||||
bF: common_vendor.sr("detailInfoPopup", "817d6950-15"),
|
||||
bG: common_vendor.p({
|
||||
bI: common_assets._imports_9$1,
|
||||
bJ: common_vendor.sr("detailInfoPopup", "817d6950-15"),
|
||||
bK: common_vendor.p({
|
||||
type: "bottom",
|
||||
safeArea: false
|
||||
})
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -27,6 +27,25 @@ page {
|
||||
height: 100%;
|
||||
color: white;
|
||||
}
|
||||
.searchResultList {
|
||||
background-color: #00000080;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
padding: 0 25rpx;
|
||||
z-index: 20;
|
||||
}
|
||||
.searchResultList .list {
|
||||
background-color: white;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.searchResultList .list .item {
|
||||
padding: 0 42rpx;
|
||||
line-height: 60rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
.stockDetailsC {
|
||||
left: 0;
|
||||
right: 0;
|
||||
|
||||
4
unpackage/dist/dev/mp-weixin/request/api.js
vendored
4
unpackage/dist/dev/mp-weixin/request/api.js
vendored
@@ -30,6 +30,7 @@ const calendarEventList = (param) => request_http.get("/api/calendar/events", pa
|
||||
const calendarDataList = (param) => request_http.get("/api/calendar/data", param);
|
||||
const investEventDetails = (id, param) => request_http.get("/api/calendar/detail/" + id, param);
|
||||
const calendarEventCount = (param) => request_http.get("/api/calendar-event-counts", param);
|
||||
const searchStockInfo = (param) => request_http.get("/api/stocks/search", param, true);
|
||||
const stockBasicInfo = (code) => request_http.get("/api/stock/" + code + "/basic-info", null, true);
|
||||
const quoteDetailsInfo = (code) => request_http.get("/api/stock/" + code + "/quote-detail", null, true);
|
||||
const actualControl = (code) => request_http.get("/api/stock/" + code + "/actual-control", null, true);
|
||||
@@ -44,6 +45,7 @@ const valueChainAnalysis = (code) => request_http.get("/api/company/value-chain-
|
||||
const valueChainRelatedCompany = (param) => request_http.get("/api/company/value-chain/related-companies", param, true);
|
||||
const keyFactorsTimeline = (code) => request_http.get("/api/company/key-factors-timeline/" + code, null, true);
|
||||
const financialStockInfo = (code) => request_http.get("/api/financial/stock-info/" + code, null, true);
|
||||
const financialMetrics = (code, param) => request_http.get("/api/financial/financial-metrics/" + code, param, true);
|
||||
const financialComparison = (code, param) => request_http.get("/api/financial/comparison/" + code, param, true);
|
||||
const financialMainBusiness = (code, param) => request_http.get("/api/financial/main-business/" + code, param, true);
|
||||
const companyAnnouncementsList = (code, param) => request_http.get("/api/stock/" + code + "/announcements", param, true);
|
||||
@@ -86,6 +88,7 @@ exports.feedback = feedback;
|
||||
exports.filterOptions = filterOptions;
|
||||
exports.financialComparison = financialComparison;
|
||||
exports.financialMainBusiness = financialMainBusiness;
|
||||
exports.financialMetrics = financialMetrics;
|
||||
exports.financialStockInfo = financialStockInfo;
|
||||
exports.followEvent = followEvent;
|
||||
exports.homeData = homeData;
|
||||
@@ -106,6 +109,7 @@ exports.ownershipConcentration = ownershipConcentration;
|
||||
exports.priceTimeline = priceTimeline;
|
||||
exports.quoteDetailsInfo = quoteDetailsInfo;
|
||||
exports.replyComment = replyComment;
|
||||
exports.searchStockInfo = searchStockInfo;
|
||||
exports.sendSMS = sendSMS;
|
||||
exports.stockBasicInfo = stockBasicInfo;
|
||||
exports.stockCandlestickChartData = stockCandlestickChartData;
|
||||
|
||||
Reference in New Issue
Block a user