1.27 业务结构分析,产业链模块完善,接口对接

This commit is contained in:
尚政杰
2026-01-27 17:59:17 +08:00
parent dc82f4a57c
commit 21dc6aeefe
125 changed files with 1365 additions and 799 deletions

View File

@@ -1,44 +1,42 @@
<template>
<view class="ywjg_list">
<view>
<block v-for="(item,index) in businessStructureList" :key="index"></block>
<view style="margin: 25rpx 20rpx; color: #2B2B2B; font-size: 28rpx; font-weight: bold;">
{{item.title}}
</view>
<view v-for="(child, row) in item.list" :key="row" class="ywjg_item_1">
<view style="margin: 25rpx 20rpx; color: #2B2B2B; font-size: 28rpx; font-weight: bold;">业务结构分析</view>
<view v-for="(item, index) in businessStructureList" :key="index" class="ywjg_item_1">
<view style="display: flex; align-items: center;">
<view style="font-size: 28rpx; font-weight: bold; margin-right: 10rpx;">
{{child.title}}
{{item.business_name}}
</view>
<view v-if="child.is_hexin"
<view v-if="item.is_hexin"
style="background-color: #F2C369; border-radius: 5rpx; font-size: 20rpx; padding: 0 5rpx;">
核心业务</view>
</view>
<view style="display: flex; align-items: center; justify-content: space-between; font-weight: 500;">
<view style="display: flex; align-items: center; color: #F2C369; font-size: 20rpx;">
<view style="border: 1rpx solid #F2C369; border-radius: 5rpx; padding: 0 5rpx;">
营收占比:{{child.yszb}}%</view>
<view
style="border: 1rpx solid #F2C369; border-radius: 5rpx; padding: 0 5rpx; margin-left: 10rpx;">
毛利率:{{child.mlv}}%</view>
<view class="flex between" style="font-weight: 500;">
<view class="flex" style="color: #F2C369; font-size: 20rpx;">
<view style="border: 1rpx solid #F2C369; border-radius: 5rpx; padding: 0 10rpx;">
营收占比:{{item.financial_metrics.revenue_ratio}}%</view>
<view v-if="item.financial_metrics.gross_margin"
style="border: 1rpx solid #F2C369; border-radius: 5rpx; padding: 0 10rpx; margin-left: 10rpx;">
毛利率:{{item.financial_metrics.gross_margin}}%</view>
<view v-else
style="border: 1rpx solid #F2C369; border-radius: 5rpx; padding: 0 10rpx; margin-left: 10rpx;">
毛利率:-</view>
</view>
<view>
<view style="color: #999999; font-size: 24rpx;">营业收入</view>
<view style="font-weight: bold; font-size: 30rpx; color: #BB8520; margin-top: 10rpx;">
{{child.yysr > 10000 ? child.yysr / 10000 + '亿' : child.yysr + '万'}}
</view>
<view style="font-weight: bold; font-size: 30rpx; color: #BB8520; margin-top: 10rpx;">{{item.revenue}}{{item.revenue_unit}}</view>
</view>
</view>
<view style="display: flex;">
<view
style="color: white; display: flex; align-items: center; justify-content: center; padding: 5rpx 10rpx;font-size: 20rpx; border-radius: 5rpx;"
:style="{backgroundColor: child.zz > 0 ? '#EC3440' : '#345423'}">增长:
{{child.zz > 0 ? '+' + child.zz : child.zz}}%
<view style="display: flex;">
<view v-if="item.growth_metrics.revenue_growth" :class="'growthRate '+(getRateUpOrDown(item.growth_metrics.revenue_growth)?'down':'up')">
增长:{{item.growth_metrics.revenue_growth}}%
</view>
<view v-else class="growthRate down">增长:-</view>
</view>
</view>
</view>
<view style="margin: 25rpx 20rpx; color: #2B2B2B; font-size: 28rpx; font-weight: bold;">业务板块详情</view>
<view style="font-weight: 500;">
<view v-for="(item,index) in businessSegmentList" :key="item"
<view v-for="(item,index) in businessSegmentList" :key="index"
style="background-color: #FAFAFC; color: #2B2B2B; font-size: 22rpx; margin: 20rpx; background-color: #FAFAFC; border-radius: 10rpx; padding: 25rpx 20rpx;">
<view style="font-size: 24rpx;">{{item.segment_name}}</view>
<view style="color: #BB8520; font-weight: bold; margin: 10rpx 0;">业务描述</view>
@@ -53,18 +51,21 @@
</view>
</template>
<script>
<script>
import { getRateUpOrDown } from '@/utils/util';
export default {
name: "ywjg-view",
data() {
return {
getRateUpOrDown:getRateUpOrDown
};
},
props:{
businessStructureList:Array, //业务结构分析
businessSegmentList:Array //业务板块详情
businessSegmentList:Array ,//业务板块详情
}
}
</script>
@@ -84,7 +85,22 @@
background-color: #FAFAFC;
border-radius: 10rpx;
padding: 25rpx 20rpx;
box-sizing: border-box;
.growthRate
{
padding: 0 10rpx;
line-height: 30rpx;
border-radius: 5rpx;
font-size: 20rpx;
color: white;
}
.growthRate.up
{
background-color: #EC3440;
}
.growthRate.down
{
background-color: #345423;
}
}
}
</style>