1.30 财务分析部分模块完善,发展历程弹窗完善

This commit is contained in:
尚政杰
2026-01-30 17:53:45 +08:00
parent 5ffaac8fb2
commit 22286f26d9
23 changed files with 967 additions and 209 deletions

View File

@@ -7051,9 +7051,9 @@ function isConsoleWritable() {
return isWritable;
}
function initRuntimeSocketService() {
const hosts = "127.0.0.1,192.168.2.28";
const hosts = "127.0.0.1,192.168.2.91";
const port = "8090";
const id = "mp-weixin_6VDL_I";
const id = "mp-weixin_D36YnR";
const lazy = typeof swan !== "undefined";
let restoreError = lazy ? () => {
} : initOnError();

View File

@@ -1,10 +1,216 @@
"use strict";
const utils_util = require("../../utils/util.js");
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
name: "cwsj-view",
data() {
return {};
return {
profitabilityIndicatorIndex: 0,
profitIndicatorIndex: 0,
cashFlowIndicatorIndex: 0,
option1: {
legend: {
show: true,
data: ["期间费用", "同比(右)"]
},
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
}
]
},
option2: {
legend: {
show: true,
data: ["经营现金流", "同比(右)"]
},
grid: {
left: "2%",
right: "2%",
top: "5%",
bottom: "30%"
},
xAxis: {
type: "category",
data: [],
axisLabel: {
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
}
}
],
dataZoom: [{
type: "slider"
}],
series: [
{
type: "bar",
name: "ROE",
data: [],
yAxisIndex: 0
},
{
type: "line",
name: "同比",
data: [],
yAxisIndex: 1
}
]
},
option3: {
legend: {
show: true,
data: ["期间费用", "同比(右)"]
},
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
}
]
},
getNumStr: utils_util.getNumStr
};
},
props: {
financialBalanceList: Array,
//资产负债表
cashFlowList: Array,
//现金流量表
incomeStatementList: Array
//利润表
},
watch: {},
methods: {
/**
* 点击切换现金流量表指标
* @param {Object} index
*/
clickCashFlowIndicatorItem(index) {
if (this.cashFlowIndicatorIndex != index) {
this.cashFlowIndicatorIndex = index;
}
},
/**
* 点击切换利润表指标
* @param {Object} index
*/
clickProfitIndicatorItem(index) {
if (this.profitIndicatorIndex != index) {
this.profitIndicatorIndex = index;
}
}
}
};
if (!Array) {
@@ -16,53 +222,59 @@ if (!Math) {
_easycom_l_echart();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
return common_vendor.e({
a: common_assets._imports_0$8,
b: common_assets._imports_1$2,
c: common_vendor.f(["货币资金", "所有者权益", "关键指标"], (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
b: common_vendor.n("item flexCenter " + ($data.cashFlowIndicatorIndex == index ? "select" : "")),
c: index
};
}),
d: common_assets._imports_2$14,
e: common_assets._imports_3$13,
f: common_vendor.o(($event) => _ctx.itemClick(0)),
g: common_assets._imports_0$8,
h: common_assets._imports_1$2,
i: common_vendor.f(["经营现金流", "筹资现金流", "投资现金流"], (item, index, i0) => {
f: common_vendor.sr("chartRef1", "63ca7cac-0"),
g: $props.financialBalanceList.length > 0
}, $props.financialBalanceList.length > 0 ? {
h: common_vendor.t($data.getNumStr($props.financialBalanceList[0].assets.total)),
i: common_vendor.t($data.getNumStr($props.financialBalanceList[0].liabilities.total)),
j: common_vendor.t($data.getNumStr($props.financialBalanceList[0].equity.total)),
k: common_vendor.t($data.getNumStr($props.financialBalanceList[0].assets.current_assets.cash)),
l: common_vendor.t($data.getNumStr($props.financialBalanceList[0].equity.capital_reserve)),
m: common_vendor.t($data.getNumStr($props.financialBalanceList[0].equity.surplus_reserve)),
n: common_vendor.t($data.getNumStr($props.financialBalanceList[0].equity.undistributed_profit))
} : {}, {
o: common_vendor.o(($event) => _ctx.itemClick(0)),
p: common_assets._imports_0$8,
q: common_assets._imports_1$2,
r: common_vendor.f(["经营现金流", "筹资现金流", "投资现金流"], (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
b: common_vendor.n("item flexCenter " + ($data.cashFlowIndicatorIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickCashFlowIndicatorItem(index), index)
};
}),
j: common_assets._imports_2$14,
k: common_assets._imports_3$13,
l: common_vendor.o(($event) => _ctx.itemClick(1)),
m: common_assets._imports_0$8,
n: common_assets._imports_1$2,
o: common_vendor.f(["净利润", "营业收入", "期间费用"], (item, index, i0) => {
s: common_assets._imports_2$14,
t: common_assets._imports_3$13,
v: common_vendor.sr("chartRef2", "63ca7cac-1"),
w: common_assets._imports_0$8,
x: common_assets._imports_1$2,
y: common_vendor.f(["净利润", "营业收入", "期间费用"], (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
b: common_vendor.n("item flexCenter " + ($data.profitIndicatorIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickProfitIndicatorItem(index), index)
};
}),
p: common_assets._imports_2$14,
q: common_assets._imports_3$13,
r: common_assets._imports_2$14,
s: common_assets._imports_3$13,
t: common_vendor.sr("chartRef1", "63ca7cac-0"),
v: common_vendor.o(($event) => _ctx.itemClick(2))
};
z: common_assets._imports_2$14,
A: common_assets._imports_3$13,
B: common_assets._imports_2$14,
C: common_assets._imports_3$13,
D: common_vendor.sr("chartRef3", "63ca7cac-2")
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createComponent(Component);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
.indicatorC .item {
padding: 10rpx;
border: 1rpx solid #D2D2D2;
font-size: 20rpx;
color: #999999;
text-align: center;
}
.indicatorC .item.select {
background-color: #FFFAF1;
color: #BB8520;
border: 1rpx solid #F2C369;
}

View File

@@ -18,8 +18,8 @@ const _sfc_main = {
//发展时间线数组
},
methods: {
clickAction() {
this.$emit("detail");
clickAction(item) {
this.$emit("detail", item);
}
}
};
@@ -94,7 +94,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
k: `${item.impact_metrics.impact_score}%`,
l: common_vendor.t(item.impact_metrics.impact_score),
m: index,
n: common_vendor.o((...args) => $options.clickAction && $options.clickAction(...args), index)
n: common_vendor.o(($event) => $options.clickAction(item), index)
});
})
});

View File

@@ -95,6 +95,7 @@ const _sfc_main = {
},
props: {
stockInfo: Object,
financialMetricsInfo: Object,
barCategoryList: Array,
barList: Array,
lineList: Array,
@@ -148,6 +149,18 @@ const _sfc_main = {
chart.setOption(that.option2);
}, 2e3);
},
/**
* 获取资产负债状态
*/
getDebtStatusText(value) {
if (value < 40)
return { text: "安全", color: "green" };
if (value < 60)
return { text: "适中", color: "gold" };
if (value < 70)
return { text: "偏高", color: "orange" };
return { text: "风险", color: "red" };
},
itemClick(index) {
common_vendor.index.navigateTo({
url: `/pagesStock/stockCenterDetails/cwDetails?index=${index}`
@@ -166,16 +179,23 @@ if (!Math) {
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $props.stockInfo
}, $props.stockInfo ? {
}, $props.stockInfo ? common_vendor.e({
b: common_vendor.t($data.getChgRateStr($props.stockInfo.growth_rates.profit_growth)),
c: common_vendor.t($data.getChgRateStr($props.stockInfo.growth_rates.revenue_growth)),
d: common_vendor.t($data.getChgRateStr($props.stockInfo.key_metrics.roe)),
e: common_vendor.t($data.getChgRateStr($props.stockInfo.key_metrics.net_margin)),
f: common_vendor.t($data.getChgRateStr($props.stockInfo.key_metrics.gross_margin))
} : {}, {
g: common_vendor.sr("chartRef1", "cf18d1d4-0"),
h: common_vendor.sr("chartRef2", "cf18d1d4-1"),
i: common_vendor.f(["业务", "毛利率", "利润", "营收", "营收"], (item, index, i0) => {
f: common_vendor.t($data.getChgRateStr($props.stockInfo.key_metrics.gross_margin)),
g: $props.financialMetricsInfo
}, $props.financialMetricsInfo ? {
h: common_vendor.t($props.financialMetricsInfo.solvency.asset_liability_ratio),
i: common_vendor.t($options.getDebtStatusText($props.financialMetricsInfo.solvency.asset_liability_ratio).text),
j: common_vendor.s("color: " + $options.getDebtStatusText($props.financialMetricsInfo.solvency.asset_liability_ratio).color),
k: common_vendor.t($props.financialMetricsInfo.solvency.current_ratio),
l: common_vendor.t($props.financialMetricsInfo.expense_ratios.rd_expense_ratio)
} : {}) : {}, {
m: common_vendor.sr("chartRef1", "cf18d1d4-0"),
n: common_vendor.sr("chartRef2", "cf18d1d4-1"),
o: common_vendor.f(["业务", "毛利率", "利润", "营收", "营收"], (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: ["", "(2025年中报)", "(2025年中报)", "(2025年中报)", "(2024年年报)"][index].length > 0
@@ -187,9 +207,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
f: index == 0 ? "flex-start" : "center"
});
}),
j: $props.productClassificationList.length > 0
p: $props.productClassificationList.length > 0
}, $props.productClassificationList.length > 0 ? {
k: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
q: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
return {
a: common_vendor.t(item.content),
b: common_vendor.t(item.profit_margin.toFixed(2)),

View File

@@ -1 +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 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">93.52%</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="color:#EC3440">风险</text><text style="margin-left:10rpx">流动比率 0.73|研发费用率 5.48%</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="{{i}}" 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="{{j}}"><view wx:for="{{k}}" 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><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

@@ -180,6 +180,7 @@ const _sfc_main = {
//发展时间线统计信息
timelineList: [],
//发展时间线
selectDevelopmentTimelineInfo: null,
caiWuList: [
{
title: "主营数据"
@@ -204,6 +205,12 @@ const _sfc_main = {
//主营业务折线图数据
productClassificationList: [],
//主营业务产业分类数据
financialBalanceList: [],
//资产负债表
cashFlowList: [],
//现金流量表
incomeStatementList: [],
//利润表
dongTaiList: [
{
title: "新闻动态"
@@ -285,6 +292,7 @@ const _sfc_main = {
} else if (index == 2) {
this.getFinancialStockInfoData();
this.getFinancialComparisonData();
this.getFinancialMetricsData();
this.getFinancialMainBussinessData();
} else if (index == 3) {
this.getNewsListData();
@@ -326,8 +334,14 @@ const _sfc_main = {
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();
}
}
},
@@ -357,12 +371,15 @@ const _sfc_main = {
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.$refs["developmentTimelinePopup"].open();
},
clickCloseDevelopmentTimelinePopup() {
this.$refs["developmentTimelinePopup"].close();
},
/**
* 查看产业链详情
@@ -375,7 +392,7 @@ const _sfc_main = {
/**
* 关闭产业链弹窗
*/
clickCloseValueChainPop() {
clickCloseValueChainPopup() {
this.$refs["valueChainPopup"].close();
},
/**
@@ -692,6 +709,48 @@ const _sfc_main = {
}).catch((error) => {
});
},
/**
* 获取资产负债表数据
*/
getFinancialBalanceSheetData() {
let code = this.stockCode;
if (this.selectSearchStockInfo) {
code = this.selectSearchStockInfo.stock_code;
}
let param = { limit: 8 };
request_api.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 };
request_api.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 };
request_api.incomeStatementSheet(code, param).then((res) => {
this.incomeStatementList = res.data;
}).catch((error) => {
});
},
/**
* 获取新闻动态数据
*/
@@ -925,7 +984,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
} : {}, {
ax: $data.selectInDepthAnalysis == 3
}, $data.selectInDepthAnalysis == 3 ? {
ay: common_vendor.o(($event) => $options.detailShow(1)),
ay: common_vendor.o($options.clickDevelopmentTimelineDetail),
az: common_vendor.p({
keyFactorsInfo: $data.keyFactorsInfo,
keyFactorsList: $data.keyFactorsList,
@@ -950,7 +1009,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
barCategoryList: $data.mainBussinessBarCategoryList,
barList: $data.mainBussinessBarList,
lineList: $data.mainBussinessLineList,
productClassificationList: $data.productClassificationList
productClassificationList: $data.productClassificationList,
financialMetricsInfo: $data.financialMetricsList[0]
})
} : {}, {
aE: $data.selectCaiwu == 1
@@ -960,10 +1020,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
})
} : {}, {
aG: $data.selectCaiwu == 2
}, $data.selectCaiwu == 2 ? {} : {}) : {}, {
aH: $data.selectTab == 3
}, $data.selectCaiwu == 2 ? {
aH: common_vendor.p({
financialBalanceList: $data.financialBalanceList,
cashFlowList: $data.cashFlowList,
incomeStatementList: $data.incomeStatementList
})
} : {}) : {}, {
aI: $data.selectTab == 3
}, $data.selectTab == 3 ? {
aI: common_vendor.f($data.dongTaiList, (item, index, i0) => {
aJ: common_vendor.f($data.dongTaiList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.n("item " + ($data.selectDongtai == index ? "select" : "")),
@@ -971,24 +1037,24 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
d: common_vendor.o(($event) => $options.clickDongTaiItem(index), index)
};
}),
aJ: common_vendor.p({
aK: common_vendor.p({
type: $data.selectDongtai,
newsList: $data.newsList,
announcementList: $data.companyAnnouncementList
})
} : {}, {
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) => {
aL: common_vendor.s("top:" + $data.contentTop + "px;"),
aM: common_vendor.o(($event) => _ctx.sendEventComment()),
aN: _ctx.eventComment,
aO: common_vendor.o(($event) => _ctx.eventComment = $event.detail.value),
aP: common_assets._imports_2$10,
aQ: common_assets._imports_3$10,
aR: common_vendor.o(($event) => $options.clickOptional()),
aS: common_assets._imports_4$9,
aT: common_vendor.o(($event) => $options.clickShare()),
aU: common_assets._imports_9$1,
aV: common_vendor.o(($event) => $options.clickCloseIndustryRankPop()),
aW: common_vendor.f($data.industryRankList, (item, index, i0) => {
return {
a: common_vendor.f(item.rankings, (ritem, rindex, i1) => {
return common_vendor.e({
@@ -1085,68 +1151,68 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
c: index
};
}),
aW: common_assets._imports_1$13,
aX: common_vendor.sr("industryRankPop", "817d6950-13"),
aY: common_vendor.p({
aX: common_assets._imports_1$13,
aY: common_vendor.sr("industryRankPop", "817d6950-13"),
aZ: common_vendor.p({
type: "bottom"
}),
aZ: common_assets._imports_9$1,
ba: common_vendor.o(($event) => $options.clickCloseValueChainPop()),
bb: $data.selectValueChainInfo
ba: common_assets._imports_9$1,
bb: common_vendor.o(($event) => $options.clickCloseValueChainPopup()),
bc: $data.selectValueChainInfo
}, $data.selectValueChainInfo ? common_vendor.e({
bc: common_vendor.t($data.selectValueChainInfo.node_name),
bd: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
bd: common_vendor.t($data.selectValueChainInfo.node_name),
be: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
}, $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1 ? {
be: common_vendor.t($data.selectValueChainInfo.node_type)
bf: common_vendor.t($data.selectValueChainInfo.node_type)
} : {}, {
bf: $data.selectValueChainInfo.node_level == -2 || $data.selectValueChainInfo.node_level == -1
bg: $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: common_vendor.t($data.selectValueChainInfo.market_share)
} : {}, {
bh: $data.selectValueChainInfo.node_level == 0
bi: $data.selectValueChainInfo.node_level == 0
}, $data.selectValueChainInfo.node_level == 0 ? {
bi: common_vendor.t($data.selectValueChainInfo.node_type)
bj: common_vendor.t($data.selectValueChainInfo.node_type)
} : {}, {
bj: $data.selectValueChainInfo.node_level == 0
bk: $data.selectValueChainInfo.node_level == 0
}, $data.selectValueChainInfo.node_level == 0 ? {
bk: common_vendor.t($data.selectValueChainInfo.market_share)
bl: common_vendor.t($data.selectValueChainInfo.market_share)
} : {}, {
bl: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
bm: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
}, $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2 ? {
bm: common_vendor.t($data.selectValueChainInfo.node_type)
bn: common_vendor.t($data.selectValueChainInfo.node_type)
} : {}, {
bn: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
bo: $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.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
bq: common_vendor.t($data.selectValueChainInfo.node_description),
br: common_vendor.t($data.selectValueChainInfo.importance_score),
bs: $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: common_vendor.s("width:" + ($data.selectValueChainInfo.importance_score ? $data.selectValueChainInfo.importance_score : 0) + "%;")
} : {}, {
bt: $data.selectValueChainInfo.node_level == 0
bv: $data.selectValueChainInfo.node_level == 0
}, $data.selectValueChainInfo.node_level == 0 ? {
bv: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
bw: common_vendor.s("width:" + $data.selectValueChainInfo.importance_score + "%;")
} : {}, {
bw: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
bx: $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.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
bz: common_vendor.t($data.selectValueChainInfo.dependency_degree),
bA: $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.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
} : {}, {
bB: $data.selectValueChainInfo.node_level == 0
bC: $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: common_vendor.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
} : {}, {
bD: $data.selectValueChainInfo.node_level == 1 || $data.selectValueChainInfo.node_level == 2
bE: $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.s("width:" + ($data.selectValueChainInfo.dependency_degree ? $data.selectValueChainInfo.dependency_degree : 0) + "%;")
} : {}, {
bF: common_vendor.f($data.relatedCompanyList, (item, index, i0) => {
bG: 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),
@@ -1161,14 +1227,27 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
});
})
}) : {}, {
bG: common_vendor.sr("valueChainPopup", "817d6950-14"),
bH: common_vendor.p({
bH: common_vendor.sr("valueChainPopup", "817d6950-14"),
bI: common_vendor.p({
type: "bottom",
safeArea: false
}),
bI: common_assets._imports_9$1,
bJ: common_vendor.sr("detailInfoPopup", "817d6950-15"),
bK: common_vendor.p({
bJ: common_assets._imports_9$1,
bK: common_vendor.o(($event) => $options.clickCloseDevelopmentTimelinePopup()),
bL: $data.selectDevelopmentTimelineInfo
}, $data.selectDevelopmentTimelineInfo ? {
bM: common_vendor.t($data.selectDevelopmentTimelineInfo.event_title),
bN: common_vendor.t($data.selectDevelopmentTimelineInfo.event_type),
bO: common_vendor.n("eventType " + ($data.selectDevelopmentTimelineInfo.impact_metrics.is_positive == 1 ? "positive" : "negative")),
bP: common_vendor.t($data.selectDevelopmentTimelineInfo.event_date),
bQ: common_vendor.t($data.selectDevelopmentTimelineInfo.event_desc),
bR: common_vendor.t($data.selectDevelopmentTimelineInfo.related_info.financial_impact),
bS: common_vendor.n("progress " + ($data.selectDevelopmentTimelineInfo.impact_metrics.is_positive == 1 ? "positive" : "negative")),
bT: common_vendor.s("width: " + $data.selectDevelopmentTimelineInfo.impact_metrics.impact_score + "%;"),
bU: common_vendor.t($data.selectDevelopmentTimelineInfo.impact_metrics.impact_score)
} : {}, {
bV: common_vendor.sr("developmentTimelinePopup", "817d6950-15"),
bW: common_vendor.p({
type: "bottom",
safeArea: false
})

File diff suppressed because one or more lines are too long

View File

@@ -473,3 +473,62 @@ page {
.valueChainPopup .valueChainInfoC .progressBgC .progress.downstream {
background: linear-gradient(90deg, #48D394 0%, #1DB26F 100%);
}
.developmentTimelinePopup {
background-color: white;
border-radius: 20rpx 20rpx 0 0;
}
.developmentTimelinePopup .popTitle {
margin: 0 20rpx;
line-height: 100rpx;
border-bottom: solid 1rpx #E7E7E7;
font-size: 35rpx;
font-weight: bold;
color: #333;
text-align: center;
}
.developmentTimelinePopup .closeC {
top: 0;
right: 0;
padding: 40rpx 26rpx;
}
.developmentTimelinePopup .closeC .icon {
display: block;
width: 20rpx;
height: auto;
}
.developmentTimelinePopup .eventTypeDateC .eventType {
margin-right: 17rpx;
font-size: 20;
border-radius: 5rpx;
line-height: 40rpx;
padding: 0 10rpx;
}
.developmentTimelinePopup .eventTypeDateC .eventType.positive {
background-color: #FFE7E9;
color: #EC3440;
}
.developmentTimelinePopup .eventTypeDateC .eventType.negative {
background-color: #DEEED6;
color: #345423;
}
.developmentTimelinePopup .eventTypeDateC .date {
font-size: 22rpx;
color: #999;
}
.developmentTimelinePopup .progressBgC {
background-color: #EFEFEF;
margin-left: 13rpx;
width: 200rpx;
height: 10rpx;
border-radius: 5rpx;
}
.developmentTimelinePopup .progressBgC .progress {
height: 100%;
border-radius: 5rpx;
}
.developmentTimelinePopup .progressBgC .progress.positive {
background: linear-gradient(90deg, #FF525D 0%, #EC3440 100%);
}
.developmentTimelinePopup .progressBgC .progress.negative {
background: linear-gradient(90deg, #537D3D 0%, #345423 100%);
}

View File

@@ -48,6 +48,9 @@ const financialStockInfo = (code) => request_http.get("/api/financial/stock-info
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 financialBalanceSheet = (code, param) => request_http.get("/api/financial/balance-sheet/" + code, param, true);
const cashflowSheet = (code, param) => request_http.get("/api/financial/cashflow/" + code, param, true);
const incomeStatementSheet = (code, param) => request_http.get("/api/financial/income-statement/" + code, param, true);
const companyAnnouncementsList = (code, param) => request_http.get("/api/stock/" + code + "/announcements", param, true);
const userInfo = (param) => request_http.get("/api/user/profile", param);
const membershipStatus = (param) => request_http.get("/api/membership/status", param);
@@ -70,6 +73,7 @@ exports.calendarCombinedData = calendarCombinedData;
exports.calendarDataList = calendarDataList;
exports.calendarEventCount = calendarEventCount;
exports.calendarEventList = calendarEventList;
exports.cashflowSheet = cashflowSheet;
exports.commentEvent = commentEvent;
exports.companyAnnouncementsList = companyAnnouncementsList;
exports.comprehensiveAnalysis = comprehensiveAnalysis;
@@ -86,12 +90,14 @@ exports.eventRelatedConcept = eventRelatedConcept;
exports.eventRelatedStock = eventRelatedStock;
exports.feedback = feedback;
exports.filterOptions = filterOptions;
exports.financialBalanceSheet = financialBalanceSheet;
exports.financialComparison = financialComparison;
exports.financialMainBusiness = financialMainBusiness;
exports.financialMetrics = financialMetrics;
exports.financialStockInfo = financialStockInfo;
exports.followEvent = followEvent;
exports.homeData = homeData;
exports.incomeStatementSheet = incomeStatementSheet;
exports.industryCategoryList = industryCategoryList;
exports.industryRankList = industryRankList;
exports.investEventDetails = investEventDetails;