1.31 财务分析,财务数据模块完善,产业链桑基图展示

This commit is contained in:
尚政杰
2026-01-31 17:19:16 +08:00
parent 1c13386dfc
commit 0a2dab4936
527 changed files with 3390 additions and 604 deletions

View File

@@ -0,0 +1 @@
"use strict";const t=require("../../common/vendor.js"),e=require("../../utils/util.js"),i=require("../../uni_modules/lime-echart/static/echarts.min.js"),o={name:"zysj-view",data:()=>({option1:{legend:{show:!0,data:["营业收入","净利润"]},grid:{left:"2%",right:"2%",top:"5%",bottom:"30%"},xAxis:{type:"category",data:[],axisLabel:{}},yAxis:[{type:"value",name:"营收(亿)",position:"left",alignTicks:!0,axisLine:{onZero:!1}},{type:"value",name:"利润(亿)",position:"right",alignTicks:!0,axisLine:{onZero:!1}}],dataZoom:[{type:"slider"}],series:[{type:"bar",name:"营业收入",data:[],yAxisIndex:0},{type:"line",name:"净利润",data:[],yAxisIndex:1}]},option2:{title:{text:"",textStyle:{fontSize:12}},legend:{show:!0},grid:{left:0,right:0,top:"5%",bottom:"5%"},series:[{data:[],type:"pie",center:["50%","50%"],label:{formatter:"{d}%"}}]},getChgRateStr:e.getChgRateStr,getNumStr:e.getNumStr}),props:{stockInfo:Object,financialMetricsInfo:Object,barCategoryList:Array,barList:Array,lineList:Array,productClassificationList:Array},watch:{barCategoryList(t){this.option1.xAxis.data=t},barList(t){this.option1.series[0].data=t,this.barLineInit()},lineList(t){this.option1.series[1].data=t,this.barLineInit()},productClassificationList(t){let e=t[0].products;this.option2.title.text="主营业务构成("+t[0].report_type+"";let i=[];for(let o of e)i.push({name:o.content,value:o.revenue_ratio.toFixed(2)});this.option2.series[0].data=i,this.pieInit()}},methods:{async barLineInit(){const t=await this.$refs.chartRef1.init(i);let e=this;setTimeout((function(){t.setOption(e.option1)}),2e3)},async pieInit(){const t=await this.$refs.chartRef2.init(i);let e=this;setTimeout((function(){t.setOption(e.option2)}),2e3)},getDebtStatusText:t=>t<40?{text:"安全",color:"green"}:t<60?{text:"适中",color:"gold"}:t<70?{text:"偏高",color:"orange"}:{text:"风险",color:"red"},itemClick(e){t.index.navigateTo({url:`/pagesStock/stockCenterDetails/cwDetails?index=${e}`})}}};if(!Array){t.resolveComponent("l-echart")()}Math;const r=t._export_sfc(o,[["render",function(e,i,o,r,n,a){return t.e({a:o.stockInfo},o.stockInfo?t.e({b:t.t(n.getChgRateStr(o.stockInfo.growth_rates.profit_growth)),c:t.t(n.getChgRateStr(o.stockInfo.growth_rates.revenue_growth)),d:t.t(n.getChgRateStr(o.stockInfo.key_metrics.roe)),e:t.t(n.getChgRateStr(o.stockInfo.key_metrics.net_margin)),f:t.t(n.getChgRateStr(o.stockInfo.key_metrics.gross_margin)),g:o.financialMetricsInfo},o.financialMetricsInfo?{h:t.t(o.financialMetricsInfo.solvency.asset_liability_ratio),i:t.t(a.getDebtStatusText(o.financialMetricsInfo.solvency.asset_liability_ratio).text),j:t.s("color: "+a.getDebtStatusText(o.financialMetricsInfo.solvency.asset_liability_ratio).color),k:t.t(o.financialMetricsInfo.solvency.current_ratio),l:t.t(o.financialMetricsInfo.expense_ratios.rd_expense_ratio)}:{}):{},{m:t.sr("chartRef1","cf18d1d4-0"),n:t.sr("chartRef2","cf18d1d4-1"),o:t.f(["业务","毛利率","利润","营收","营收"],((e,i,o)=>t.e({a:t.t(e),b:["","(2025年中报)","(2025年中报)","(2025年中报)","(2024年年报)"][i].length>0},["","(2025年中报)","(2025年中报)","(2025年中报)","(2024年年报)"][i].length>0?{c:t.t(["","(2025年中报)","(2025年中报)","(2025年中报)","(2024年年报)"][i]),d:0==i?"left":"center"}:{},{e:0==i?"left":"center",f:0==i?"flex-start":"center"}))),p:o.productClassificationList.length>0},o.productClassificationList.length>0?{q:t.f(o.productClassificationList[0].products,((e,i,o)=>({a:t.t(e.content),b:t.t(e.profit_margin.toFixed(2)),c:t.t(n.getNumStr(e.profit)),d:t.t(n.getNumStr(e.revenue)),e:t.t(e.content),f:i,g:i%2==0?"#FFFFFF":"#FAFAFC"})))}:{})}]]);wx.createComponent(r);

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"l-echart": "../../uni_modules/lime-echart/components/l-echart/l-echart"
}
}

View File

@@ -0,0 +1 @@
<view><block wx:if="{{a}}"><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;box-sizing:border-box;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#1DB26F;font-size:30rpx">{{b}}%</view><view style="margin-top:10rpx">利润增长</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">成长能力</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">增长动力</text></view><view style="margin-top:10rpx"><text>营收增长</text><text style="color:#1DB26F;margin:0 10rpx">{{c}}%</text><text style="color:#F59B38">(稳健增长)</text></view></view></view><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;box-sizing:border-box;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#F59B38;font-size:30rpx">{{d}}%</view><view style="margin-top:10rpx">ROE</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">盈利与回报</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">赚钱能力</text></view><view style="margin-top:10rpx"><text style="color:#F59B38">良好</text><text style="margin-left:10rpx">净利率 {{e}}%|毛利率 {{f}}%</text></view></view></view><view wx:if="{{g}}" class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#EC3440;font-size:30rpx">{{h}}%</view><view style="margin-top:10rpx">资产负债率</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">风险与运营</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">安全边际</text></view><view style="margin-top:10rpx"><text style="{{j}}">{{i}}</text><text style="margin-left:10rpx">流动比率 {{k}}|研发费用率 {{l}}%</text></view></view></view></block><view style="text-align:center;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 营收与利润趋势</view><view style="height:400rpx"><l-echart class="r" u-r="chartRef1" u-i="cf18d1d4-0" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx">主营业务 </view><view style="height:400rpx"><l-echart class="r" u-r="chartRef2" u-i="cf18d1d4-1" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 主营业务明细与历史对比</view><view style="display:grid;grid-template-columns:130rpx repeat(4, 1fr);color:#666666;font-size:20rpx;font-weight:500;background-color:#FAFAFC;margin:20rpx;margin-bottom:0;padding:10rpx;box-sizing:border-box"><view wx:for="{{o}}" wx:for-item="item" style="{{'display:flex;align-items:center;justify-content:center;flex-direction:column' + ';' + ('text-align:' + item.e + ';' + ('align-items:' + item.f))}}"><view>{{item.a}}</view><view wx:if="{{item.b}}" style="{{'font-size:18rpx' + ';' + ('text-align:' + item.d)}}">{{item.c}}</view></view></view><block wx:if="{{p}}"><view wx:for="{{q}}" wx:for-item="item" wx:key="f" class="table" style="{{'display:grid;grid-template-columns:130rpx repeat(4, 1fr);margin:0 20rpx;padding:10rpx' + ';' + ('background-color:' + item.g)}}"><view class="item">{{item.a}}</view><view class="item flexCenter">{{item.b}}%</view><view class="item flexCenter">{{item.c}}</view><view class="item flexCenter">{{item.d}}</view><view class="item flexCenter">{{item.e}}</view></view></block><view style="height:80rpx"></view></view>

View File

@@ -0,0 +1 @@
.table .item{font-size:20rpx;font-weight:500;color:#666}.table .item.center{text-align:center}