1.30 财务分析部分模块完善,发展历程弹窗完善
This commit is contained in:
@@ -175,7 +175,7 @@
|
||||
<cyl-view :valueChainAnalysisInfo="valueChainAnalysisInfo" :totalNodes="totalNodes" :upstreamList="upstreamList" :coreEnterpriseList="coreEnterpriseList" :downstreamList="downstreamList" @detail="clickValueChainDetail"></cyl-view>
|
||||
</template>
|
||||
<template v-if="selectInDepthAnalysis==3">
|
||||
<fzlc-view :keyFactorsInfo="keyFactorsInfo" :keyFactorsList="keyFactorsList" :timelineInfo="timelineInfo" :timelineList="timelineList" @detail="detailShow(1)"></fzlc-view>
|
||||
<fzlc-view :keyFactorsInfo="keyFactorsInfo" :keyFactorsList="keyFactorsList" :timelineInfo="timelineInfo" :timelineList="timelineList" @detail="clickDevelopmentTimelineDetail"></fzlc-view>
|
||||
</template>
|
||||
</block>
|
||||
<block v-if="selectTab==2">
|
||||
@@ -186,13 +186,14 @@
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="selectCaiwu==0">
|
||||
<zysj-view :stockInfo="financialStockInfo" :barCategoryList="mainBussinessBarCategoryList" :barList="mainBussinessBarList" :lineList="mainBussinessLineList" :productClassificationList="productClassificationList" ></zysj-view>
|
||||
<zysj-view :stockInfo="financialStockInfo" :barCategoryList="mainBussinessBarCategoryList" :barList="mainBussinessBarList" :lineList="mainBussinessLineList"
|
||||
:productClassificationList="productClassificationList" :financialMetricsInfo="financialMetricsList[0]"></zysj-view>
|
||||
</block>
|
||||
<block v-if="selectCaiwu==1">
|
||||
<cwfx-view :dataList="financialMetricsList"></cwfx-view>
|
||||
</block>
|
||||
<block v-if="selectCaiwu==2">
|
||||
<cwsj-view></cwsj-view>
|
||||
<cwsj-view :financialBalanceList="financialBalanceList" :cashFlowList="cashFlowList" :incomeStatementList="incomeStatementList"></cwsj-view>
|
||||
</block>
|
||||
</block>
|
||||
<block v-if="selectTab==3">
|
||||
@@ -334,7 +335,7 @@
|
||||
<uni-popup ref="valueChainPopup" type="bottom" :safeArea="false">
|
||||
<view class="valueChainPopup" style="padding-bottom: env(safe-area-inset-bottom);">
|
||||
<view class="popTitle">详情</view>
|
||||
<view class="closeC absolute" @click="clickCloseValueChainPop()">
|
||||
<view class="closeC absolute" @click="clickCloseValueChainPopup()">
|
||||
<image class="icon" src="/static/icon/home/close.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view v-if="selectValueChainInfo" class="valueChainInfoC" style="height: 60vh;">
|
||||
@@ -396,30 +397,34 @@
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
<uni-popup ref="detailInfoPopup" type="bottom" :safeArea="false">
|
||||
<view class="industryRankPop" style="padding-bottom: env(safe-area-inset-bottom);">
|
||||
<uni-popup ref="developmentTimelinePopup" type="bottom" :safeArea="false">
|
||||
<view class="developmentTimelinePopup" style="padding-bottom: env(safe-area-inset-bottom);">
|
||||
<view class="popTitle">详情</view>
|
||||
<view class="closeC absolute">
|
||||
<view class="closeC absolute" @click="clickCloseDevelopmentTimelinePopup()">
|
||||
<image class="icon" src="/static/icon/home/close.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view style="max-height: 60vh; padding: 0 20rpx; box-sizing: border-box;">
|
||||
<scroll-view :scroll-y="true" style="width: 100%; height: 100%; padding: 40rpx 20rpx; box-sizing: border-box; font-weight: 500; color: #2A2A2A; font-size: 24rpx;">
|
||||
<view style="font-size: 28rpx; font-weight: bold;">不良贷款率连续四年低于1.1%</view>
|
||||
<view style="display: flex; align-items: center; margin: 20rpx 0;">
|
||||
<view style="color: #EC3440; font-size: 20; text-align: center; background-color: #FFE7E9; border-radius: 5rpx; padding: 2rpx 10rpx; margin-right: 10rpx;">Achievement</view>
|
||||
<view style="margin-left: 10rpx;">2025-06-30</view>
|
||||
<view v-if="selectDevelopmentTimelineInfo" style="max-height: 60vh; padding: 0 20rpx;">
|
||||
<scroll-view class="list" scroll-y style="width: 100%; height: 100%; padding: 40rpx 20rpx;font-weight: 500; color: #2A2A2A; font-size: 24rpx;">
|
||||
<view style="font-size: 28rpx; font-weight: bold;">{{selectDevelopmentTimelineInfo.event_title}}</view>
|
||||
<view class="eventTypeDateC flex" style="margin: 20rpx 0;">
|
||||
<view :class="'eventType '+(selectDevelopmentTimelineInfo.impact_metrics.is_positive==1?'positive':'negative')">{{selectDevelopmentTimelineInfo.event_type}}</view>
|
||||
<view class="date">{{selectDevelopmentTimelineInfo.event_date}}</view>
|
||||
</view>
|
||||
<view style="color: #BB8520; margin-top: 30rpx;">事件详情</view>
|
||||
<view style="color: #71675D; font-size: 22rpx; margin-top: 13rpx;">2025年中报不良率1.06%,拨备覆盖率290%,资产质量保持股份行领先。</view>
|
||||
<view style="color: #71675D; font-size: 22rpx; margin-top: 13rpx;">{{selectDevelopmentTimelineInfo.event_desc}}</view>
|
||||
|
||||
<view style="color: #BB8520; margin-top: 30rpx;">财务影响</view>
|
||||
<view style="color: #71675D; font-size: 22rpx; margin-top: 13rpx;">信用成本同比下降12bps,释放利润约50亿元。</view>
|
||||
<view style="color: #71675D; font-size: 22rpx; margin-top: 13rpx;">{{selectDevelopmentTimelineInfo.related_info.financial_impact}}</view>
|
||||
|
||||
<view style="color: #BB8520; margin-top: 30rpx;">影响评估</view>
|
||||
<view style="display: flex; align-items: center; margin-top: 13rpx;">
|
||||
<view><text style="color: #71675D;">影响度</text></view>
|
||||
<view style="width: 200rpx; margin: 0 10rpx; background-color: #EFEFEF; border-radius: 5rpx;"><view style="width: 86%; background: linear-gradient(to right, #FF525D, #EC3440); border-radius: 5rpx; height: 10rpx;"></view></view>
|
||||
<text style="color: #71675D; margin-left: 10rpx;">86 / 100</text>
|
||||
<view class="flex" style="margin-top: 13rpx;">
|
||||
<view>
|
||||
<text style="color: #71675D;">影响度</text>
|
||||
</view>
|
||||
<view class="progressBgC">
|
||||
<view :class="'progress '+(selectDevelopmentTimelineInfo.impact_metrics.is_positive==1?'positive':'negative')" :style="'width: '+selectDevelopmentTimelineInfo.impact_metrics.impact_score+'%;'"></view>
|
||||
</view>
|
||||
<text style="color: #71675D; margin-left: 10rpx;">{{selectDevelopmentTimelineInfo.impact_metrics.impact_score}} / 100</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
@@ -430,7 +435,7 @@
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
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 { 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'
|
||||
|
||||
export default {
|
||||
@@ -569,6 +574,7 @@
|
||||
keyFactorsList:[], //关键因素
|
||||
timelineInfo:null, //发展时间线统计信息
|
||||
timelineList:[], //发展时间线
|
||||
selectDevelopmentTimelineInfo:null,
|
||||
caiWuList: [{
|
||||
title: '主营数据'
|
||||
},
|
||||
@@ -586,6 +592,9 @@
|
||||
mainBussinessBarList:[], //主营业务柱状图数据
|
||||
mainBussinessLineList:[], //主营业务折线图数据
|
||||
productClassificationList:[], //主营业务产业分类数据
|
||||
financialBalanceList:[], //资产负债表
|
||||
cashFlowList:[], //现金流量表
|
||||
incomeStatementList:[], //利润表
|
||||
dongTaiList: [{
|
||||
title: '新闻动态'
|
||||
},
|
||||
@@ -599,8 +608,7 @@
|
||||
companyAnnouncementList:[], //公司公告数据
|
||||
getLocalDate:getLocalDate,
|
||||
getRateUpOrDown:getRateUpOrDown, //判断涨跌
|
||||
getNumStr:getNumStr, //获取数字展示万或亿
|
||||
|
||||
getNumStr:getNumStr, //获取数字展示万或亿
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
@@ -665,6 +673,7 @@
|
||||
//获取股票信息数据
|
||||
this.getFinancialStockInfoData()
|
||||
this.getFinancialComparisonData()
|
||||
this.getFinancialMetricsData()
|
||||
this.getFinancialMainBussinessData()
|
||||
}else if(index==3) {
|
||||
//获取新闻动态数据
|
||||
@@ -711,12 +720,22 @@
|
||||
clickCaiWuItem(index) {
|
||||
if (this.selectCaiwu != index) {
|
||||
this.selectCaiwu = index
|
||||
if(index==1) {
|
||||
if(index==0) {
|
||||
//主营数据
|
||||
this.getFinancialMetricsData()
|
||||
}else if(index==1) {
|
||||
//财务分析
|
||||
this.getFinancialMetricsData()
|
||||
}else if(index==2) {
|
||||
//资产负债表
|
||||
this.getFinancialBalanceSheetData()
|
||||
//现金流量表
|
||||
this.getCashFlowSheetData()
|
||||
//利润表
|
||||
this.getIncomeStatementSheetData()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 点击选择动态分类
|
||||
* @param {Object} index
|
||||
@@ -745,13 +764,19 @@
|
||||
clickCloseIndustryRankPop()
|
||||
{
|
||||
this.$refs["industryRankPop"].close()
|
||||
},
|
||||
detailShow(type) {
|
||||
if (type == 0) {
|
||||
this.$refs["detailPopup"].open()
|
||||
}else {
|
||||
this.$refs["detailInfoPopup"].open()
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 查看发展时间线详情
|
||||
*/
|
||||
clickDevelopmentTimelineDetail(item)
|
||||
{
|
||||
this.selectDevelopmentTimelineInfo = item;
|
||||
// this.getValueChainRelatedCompanyData()
|
||||
this.$refs["developmentTimelinePopup"].open()
|
||||
},
|
||||
clickCloseDevelopmentTimelinePopup()
|
||||
{
|
||||
this.$refs["developmentTimelinePopup"].close()
|
||||
},
|
||||
/**
|
||||
* 查看产业链详情
|
||||
@@ -765,7 +790,7 @@
|
||||
/**
|
||||
* 关闭产业链弹窗
|
||||
*/
|
||||
clickCloseValueChainPop()
|
||||
clickCloseValueChainPopup()
|
||||
{
|
||||
this.$refs["valueChainPopup"].close()
|
||||
},
|
||||
@@ -1117,6 +1142,57 @@
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取资产负债表数据
|
||||
*/
|
||||
getFinancialBalanceSheetData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {limit:8}
|
||||
financialBalanceSheet(code,param).then(res=>{
|
||||
this.financialBalanceList = res.data
|
||||
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取现金流量表数据
|
||||
*/
|
||||
getCashFlowSheetData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {limit:8}
|
||||
cashflowSheet(code,param).then(res=>{
|
||||
this.cashFlowList = res.data
|
||||
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取利润表数据
|
||||
*/
|
||||
getIncomeStatementSheetData()
|
||||
{
|
||||
let code = this.stockCode
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code
|
||||
}
|
||||
let param = {limit:8}
|
||||
incomeStatementSheet(code,param).then(res=>{
|
||||
this.incomeStatementList = res.data
|
||||
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取新闻动态数据
|
||||
*/
|
||||
@@ -1734,5 +1810,79 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.developmentTimelinePopup {
|
||||
background-color: white;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
|
||||
.popTitle {
|
||||
margin: 0 20rpx;
|
||||
line-height: 100rpx;
|
||||
border-bottom: solid 1rpx #E7E7E7;
|
||||
font-size: 35rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.closeC {
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 40rpx 26rpx;
|
||||
|
||||
.icon {
|
||||
display: block;
|
||||
width: 20rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.eventTypeDateC
|
||||
{
|
||||
.eventType
|
||||
{
|
||||
margin-right: 17rpx;
|
||||
font-size: 20;
|
||||
border-radius: 5rpx;
|
||||
line-height: 40rpx;
|
||||
padding: 0 10rpx;
|
||||
|
||||
}
|
||||
.eventType.positive
|
||||
{
|
||||
background-color: #FFE7E9;
|
||||
color: #EC3440;
|
||||
}
|
||||
.eventType.negative
|
||||
{
|
||||
background-color: #DEEED6;
|
||||
color: #345423;
|
||||
}
|
||||
.date
|
||||
{
|
||||
font-size: 22rpx;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
.progressBgC
|
||||
{
|
||||
background-color: #EFEFEF;
|
||||
margin-left: 13rpx;
|
||||
width: 200rpx;
|
||||
height: 10rpx;
|
||||
border-radius: 5rpx;
|
||||
.progress
|
||||
{
|
||||
height: 100%;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.progress.positive
|
||||
{
|
||||
background: linear-gradient(90deg, #FF525D 0%, #EC3440 100%);
|
||||
}
|
||||
.progress.negative
|
||||
{
|
||||
background: linear-gradient(90deg, #537D3D 0%, #345423 100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user