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("../../utils/util.js"),e=require("../../common/vendor.js"),i=require("../../common/assets.js"),o={name:"fzlc-view",data:()=>({getRateUpOrDown:t.getRateUpOrDown}),props:{keyFactorsInfo:null,keyFactorsList:Array,timelineInfo:null,timelineList:Array},methods:{clickAction(t){this.$emit("detail",t)}}};const n=e._export_sfc(o,[["render",function(t,o,n,r,c,a){return e.e({a:n.keyFactorsInfo},n.keyFactorsInfo?{b:e.t(n.keyFactorsInfo.total_factors)}:{},{c:e.f(n.keyFactorsList,((t,o,n)=>e.e({a:e.t(t.category_name),b:e.t(t.factors.length),c:t.show},t.show?{d:i._imports_0$7}:{e:i._imports_1$18},{f:t.show},t.show?{g:e.f(t.factors,((t,o,n)=>e.e({a:e.t(t.factor_name),b:"negative"==t.impact_direction},(t.impact_direction,{}),{c:"neutral"==t.impact_direction},(t.impact_direction,{}),{d:"positive"==t.impact_direction},(t.impact_direction,{}),{e:e.t(t.factor_value),f:e.t(t.factor_unit),g:e.n("value "+t.impact_direction),h:c.getRateUpOrDown(t.year_on_year)},c.getRateUpOrDown(t.year_on_year)?{i:i._imports_2$12}:{j:i._imports_3$12},{k:e.t(t.year_on_year?t.year_on_year:0),l:e.n("chgC flex "+(c.getRateUpOrDown(t.year_on_year)?"down":"up")),m:e.t(t.factor_desc),n:e.t(t.impact_weight),o:o})))}:{},{h:o,i:e.o((e=>t.show=!t.show),o)}))),d:n.timelineInfo},n.timelineInfo?{e:e.t(n.timelineInfo.positive_events),f:e.t(n.timelineInfo.negative_events)}:{},{g:e.f(n.timelineList,((t,o,n)=>e.e({a:1==t.impact_metrics.is_positive},1==t.impact_metrics.is_positive?{b:i._imports_4$11}:{c:i._imports_5$6},{d:e.n("line flex1 "+(1==t.impact_metrics.is_positive?"up":"down")),e:e.t(t.event_title),f:e.t(t.event_type),g:e.n("eventType "+(1==t.impact_metrics.is_positive?"up":"down")),h:e.t(t.event_date),i:e.t(t.event_desc),j:e.n("progress "+(1==t.impact_metrics.is_positive?"up":"down")),k:`${t.impact_metrics.impact_score}%`,l:e.t(t.impact_metrics.impact_score),m:o,n:e.o((e=>a.clickAction(t)),o)})))})}]]);wx.createComponent(n);

View File

@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view style="padding:25rpx 20rpx;box-sizing:border-box"><view wx:if="{{a}}" class="flex" style="font-size:28rpx"><text>关键因素</text><text style="font-size:24rpx;color:#070707;padding:0rpx 10rpx;border-radius:3rpx;background-color:#F2C369;margin-left:10rpx">{{b}}</text></view><view class="keyFactorsList"><view wx:for="{{c}}" wx:for-item="item" wx:key="h" class="item" bindtap="{{item.i}}" style="margin:20rpx 0;background-color:#FAFAFC;border-radius:10rpx;padding:25rpx 20rpx;color:#2B2B2B"><view style="display:flex;align-items:center;justify-content:space-between"><view style="flex:1;font-size:26rpx"><text>{{item.a}}</text><text style="font-size:24rpx;color:#070707;padding:0rpx 10rpx;border-radius:3rpx;background-color:#F2C369;margin-left:10rpx">{{item.b}}</text></view><image wx:if="{{item.c}}" style="width:20rpx;height:12rpx" src="{{item.d}}" mode="widthFix"></image><image wx:else style="width:20rpx;height:12rpx" src="{{item.e}}" mode="widthFix"></image></view><block wx:if="{{item.f}}"><view wx:for="{{item.g}}" wx:for-item="fitem" wx:key="o" class="fitem" style="margin:20rpx 0;padding:20rpx;background-color:white;border-radius:10rpx;border:1rpx solid #E7E7E7;color:#2B2B2B;font-weight:500;font-size:26rpx"><view class="titleImpactC flex between"><view>{{fitem.a}}</view><view wx:if="{{fitem.b}}" class="impact negative">负面</view><view wx:if="{{fitem.c}}" class="impact neutral">中性</view><view wx:if="{{fitem.d}}" class="impact positive">正面</view></view><view class="valueChgC flex" style="margin-top:10rpx"><view class="{{fitem.g}}">{{fitem.e}}{{fitem.f}}</view><view class="{{fitem.l}}"><image wx:if="{{fitem.h}}" class="icon" src="{{fitem.i}}" mode="widthFix"></image><image wx:else class="icon" src="{{fitem.j}}" mode="widthFix"></image><view>{{fitem.k}}%</view></view></view><view style="margin-top:10rpx;color:#999999;font-size:22rpx">{{fitem.m}}</view><view style="margin-top:10rpx;color:#999999;font-size:22rpx">影响权重: {{fitem.n}}</view></view></block></view></view><view wx:if="{{d}}" class="flex" style="font-size:28rpx"><text>发展时间线</text><text style="font-size:24rpx;color:white;padding:0rpx 10rpx;border-radius:3rpx;background-color:#EC3440;margin-left:10rpx">正面 {{e}}</text><text style="font-size:24rpx;color:white;padding:0rpx 10rpx;border-radius:3rpx;background-color:#345423;margin-left:10rpx">负面 {{f}}</text></view><view class="timelineList"><view wx:for="{{g}}" wx:for-item="item" wx:key="m" class="item" bindtap="{{item.n}}"><view class="impactC flexColumnCenter"><image wx:if="{{item.a}}" class="icon" style="margin-top:20rpx" src="{{item.b}}" mode="widthFix"></image><image wx:else class="icon" src="{{item.c}}" mode="widthFix"></image><view class="{{item.d}}"></view></view><view style="flex:1;margin-left:10rpx;background-color:#FAFAFC;padding:24rpx 15rpx;border-radius:10rpx;font-weight:500"><view class="titleTypeC"><text class="title">{{item.e}}</text><text class="{{item.g}}">{{item.f}}</text></view><view style="color:#999999;font-size:20rpx;margin:15rpx 0">{{item.h}}</view><view style="color:#71675D;font-size:22rpx">{{item.i}}</view><view style="display:flex;align-items:center;margin-top:30rpx"><view style="color:#71675D;font-size:22rpx;font-weight:500">影响度</view><view class="progressBgC"><view class="{{item.j}}" style="{{'width:' + item.k}}"></view></view><view style="color:#71675D;font-size:24rpx;font-weight:500">{{item.l}}</view></view></view></view></view></view>

View File

@@ -0,0 +1 @@
.keyFactorsList .item .fitem .impact{border-radius:5rpx;padding:0 10rpx;font-size:20rpx;font-weight:500;color:#fff}.keyFactorsList .item .fitem .impact.negative,.keyFactorsList .item .fitem .impact.neutral{background-color:#345423}.keyFactorsList .item .fitem .impact.positive{background-color:#ec3440}.keyFactorsList .item .fitem .valueChgC .value{font-size:30rpx;font-weight:700;margin-right:10rpx}.keyFactorsList .item .fitem .valueChgC .value.negative,.keyFactorsList .item .fitem .valueChgC .value.neutral{color:#345423}.keyFactorsList .item .fitem .valueChgC .value.positive{color:#ec3440}.keyFactorsList .item .fitem .valueChgC .chgC{padding:0 10rpx;border-radius:5rpx;font-size:20rpx}.keyFactorsList .item .fitem .valueChgC .chgC .icon{margin-right:5rpx;width:11rpx;height:auto}.keyFactorsList .item .fitem .valueChgC .chgC.down{border:1rpx solid #345423;color:#345423}.keyFactorsList .item .fitem .valueChgC .chgC.up{border:1rpx solid #EC3440;color:#ec3440}.timelineList .item{display:flex;margin:20rpx 0;border-radius:10rpx}.timelineList .item .impactC .icon{width:30rpx;height:auto}.timelineList .item .impactC .line{margin:10rpx 0 -30rpx;width:1rpx}.timelineList .item .impactC .line.up{border-left:1rpx dashed #EC3440}.timelineList .item .impactC .line.down{border-left:1rpx dashed #345423}.timelineList .item .titleTypeC .title{margin-right:10rpx;font-size:24rpx;font-weight:700;color:#2a2a2a}.timelineList .item .titleTypeC .eventType{padding:5rpx 10rpx;border-radius:5rpx;font-size:20rpx;font-weight:500}.timelineList .item .titleTypeC .eventType.up{background-color:#ffe7e9;color:#ec3440}.timelineList .item .titleTypeC .eventType.down{background-color:#deeed6;color:#345423}.timelineList .item .progressBgC{background-color:#efefef;margin:0 15rpx;width:200rpx;height:10rpx;border-radius:5rpx;overflow:hidden}.timelineList .item .progressBgC .progress{height:100%;border-radius:5rpx}.timelineList .item .progressBgC .progress.up{background:linear-gradient(to right,#ff525d,#ec3440)}.timelineList .item .progressBgC .progress.down{background:linear-gradient(to right,#537d3d,#345423)}