1.28 完善主营业务模块表格,柱状图,饼状图
This commit is contained in:
@@ -4,9 +4,86 @@ const common_assets = require("../../common/assets.js");
|
||||
const _sfc_main = {
|
||||
name: "cwfx-view",
|
||||
data() {
|
||||
return {};
|
||||
return {
|
||||
option1: {
|
||||
legend: {
|
||||
show: true,
|
||||
data: ["ROE", "同比(右)"]
|
||||
},
|
||||
grid: {
|
||||
left: "2%",
|
||||
right: "2%",
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
// interval:0
|
||||
}
|
||||
},
|
||||
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: "营业收入",
|
||||
data: [],
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "净利润",
|
||||
data: [],
|
||||
yAxisIndex: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
props: {
|
||||
barCategoryList1: Array,
|
||||
barList1: Array,
|
||||
lineList: Array,
|
||||
//折线图数据
|
||||
barCategoryList1: Array,
|
||||
barList1: Array
|
||||
},
|
||||
methods: {
|
||||
clickProfitabilityIndicators(item) {
|
||||
}
|
||||
}
|
||||
};
|
||||
if (!Array) {
|
||||
const _easycom_l_echart2 = common_vendor.resolveComponent("l-echart");
|
||||
_easycom_l_echart2();
|
||||
}
|
||||
const _easycom_l_echart = () => "../../uni_modules/lime-echart/components/l-echart/l-echart.js";
|
||||
if (!Math) {
|
||||
_easycom_l_echart();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
a: common_assets._imports_0$8,
|
||||
@@ -22,9 +99,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}),
|
||||
d: common_assets._imports_2$14,
|
||||
e: common_assets._imports_3$13,
|
||||
f: common_assets._imports_4$12,
|
||||
g: common_assets._imports_1$2,
|
||||
h: common_vendor.f(["每股收益(EPS)", "基本每股收益", "稀释每股收益", "扣非每股收益", "每股净资产", "每股经营现金流", "每股资本公积", "每股未分配利润"], (item, index, i0) => {
|
||||
f: common_vendor.sr("chartRef1", "3746da36-0"),
|
||||
g: common_assets._imports_4$12,
|
||||
h: common_assets._imports_1$2,
|
||||
i: common_vendor.f(["每股收益(EPS)", "基本每股收益", "稀释每股收益", "扣非每股收益", "每股净资产", "每股经营现金流", "每股资本公积", "每股未分配利润"], (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: index == 0 ? "#BB8520" : "#999999",
|
||||
@@ -33,8 +111,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
e: index
|
||||
};
|
||||
}),
|
||||
i: common_assets._imports_2$14,
|
||||
j: common_assets._imports_3$13
|
||||
j: common_assets._imports_2$14,
|
||||
k: common_assets._imports_3$13,
|
||||
l: common_vendor.sr("chartRef2", "3746da36-1")
|
||||
};
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"l-echart": "../../uni_modules/lime-echart/components/l-echart/l-echart"
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{a}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">盈利能力</view><image src="{{b}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view style="display:flex;align-items:center;padding:3rpx 10rpx;box-sizing:border-box;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{d}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{e}}" mode="widthFix"></image></view></view><view style="height:400rpx;display:flex;align-items:center;justify-content:center;background-color:red"> 柱状图占位 </view></view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{f}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">每股指标</view><image src="{{g}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{h}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view style="display:flex;align-items:center;padding:3rpx 10rpx;box-sizing:border-box;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{i}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{j}}" mode="widthFix"></image></view></view><view style="height:400rpx;display:flex;align-items:center;justify-content:center;background-color:blue"> 柱状图占位 </view></view></view>
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{a}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">盈利能力</view><image src="{{b}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view class="flex" style="padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view class="flex" style="padding:3rpx 10rpx;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{d}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{e}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef1" u-i="3746da36-0" bind:__l="__l"></l-echart></view></view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><image src="{{g}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">每股指标</view><image src="{{h}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="e" style="{{'display:flex;align-items:center;justify-content:center;text-align:center;font-size:20rpx;color:#999999;border:1rpx solid #D2D2D2;padding:3rpx 5rpx;box-sizing:border-box' + ';' + ('color:' + item.b + ';' + ('border:' + item.c) + ';' + ('background-color:' + item.d))}}">{{item.a}}</view></view><view style="display:flex;align-items:center;padding:20rpx;box-sizing:border-box"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view style="color:#F2C369;font-size:22rpx;padding:2rpx 10rpx;border-radius:5rpx;border:1rpx solid #F2C369;text-align:center;margin:0 10rpx"> 单季度</view><view style="display:flex;align-items:center;padding:3rpx 10rpx;box-sizing:border-box;border:1rpx solid #D2D2D2"><image style="width:23rpx;height:23rpx" src="{{j}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{k}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef2" u-i="3746da36-1" bind:__l="__l"></l-echart></view></view></view>
|
||||
@@ -1,14 +1,28 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const utils_util = require("../../utils/util.js");
|
||||
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
|
||||
const _sfc_main = {
|
||||
name: "zysj-view",
|
||||
data() {
|
||||
return {
|
||||
option1: {
|
||||
legend: {
|
||||
show: true,
|
||||
data: ["营业收入", "净利润"]
|
||||
},
|
||||
grid: {
|
||||
left: "2%",
|
||||
right: "2%",
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: []
|
||||
data: [],
|
||||
axisLabel: {
|
||||
// interval:0
|
||||
}
|
||||
},
|
||||
yAxis: [
|
||||
{
|
||||
@@ -30,48 +44,67 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom: [{
|
||||
type: "slider"
|
||||
}],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
name: "营业收入",
|
||||
data: [],
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "净利润",
|
||||
data: [],
|
||||
yAxisIndex: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
option2: {
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: []
|
||||
title: {
|
||||
text: "",
|
||||
textStyle: {
|
||||
fontSize: 12
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: "value"
|
||||
legend: {
|
||||
show: true
|
||||
},
|
||||
grid: {
|
||||
left: 0,
|
||||
right: 0,
|
||||
top: "5%",
|
||||
bottom: "5%"
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [120, 200, 150, 80, 70, 110, 130],
|
||||
data: [],
|
||||
type: "pie",
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: "rgba(180, 180, 180, 0.2)"
|
||||
center: ["50%", "50%"],
|
||||
label: {
|
||||
formatter: "{d}%"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
getChgRateStr: utils_util.getChgRateStr,
|
||||
getNumStr: utils_util.getNumStr
|
||||
};
|
||||
},
|
||||
props: {
|
||||
// 0 主营数据 1 财务分析 2 财务数据
|
||||
type: Number,
|
||||
stockInfo: Object,
|
||||
barCategoryList: Array,
|
||||
barList: Array,
|
||||
lineList: Array
|
||||
lineList: Array,
|
||||
//折线图数据
|
||||
productClassificationList: Array
|
||||
},
|
||||
watch: {
|
||||
barCategoryList(newValue) {
|
||||
this.option1.xAxis.data = newValue;
|
||||
},
|
||||
barList(newValue) {
|
||||
this.option1.series[0].data = newValue;
|
||||
this.barLineInit();
|
||||
@@ -79,6 +112,19 @@ const _sfc_main = {
|
||||
lineList(newValue) {
|
||||
this.option1.series[1].data = newValue;
|
||||
this.barLineInit();
|
||||
},
|
||||
productClassificationList(newValue) {
|
||||
let data = newValue[0].products;
|
||||
this.option2.title.text = "主营业务构成(" + newValue[0].report_type + ")";
|
||||
let pieList = [];
|
||||
for (let item of data) {
|
||||
pieList.push({
|
||||
name: item.content,
|
||||
value: item.revenue_ratio.toFixed(2)
|
||||
});
|
||||
}
|
||||
this.option2.series[0].data = pieList;
|
||||
this.pieInit();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -118,10 +164,18 @@ if (!Math) {
|
||||
_easycom_l_echart();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
a: common_vendor.sr("chartRef1", "cf18d1d4-0"),
|
||||
b: common_vendor.sr("chartRef2", "cf18d1d4-1"),
|
||||
c: common_vendor.f(["业务", "毛利率", "利润", "营收", "营收"], (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: $props.stockInfo
|
||||
}, $props.stockInfo ? {
|
||||
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) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item),
|
||||
b: ["", "(2025年中报)", "(2025年中报)", "(2025年中报)", "(2024年年报)"][index].length > 0
|
||||
@@ -133,18 +187,20 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
f: index == 0 ? "flex-start" : "center"
|
||||
});
|
||||
}),
|
||||
d: common_vendor.f(["零售金融业务", "批发金融业务", "其他业务"], (item, index, i0) => {
|
||||
j: $props.productClassificationList.length > 0
|
||||
}, $props.productClassificationList.length > 0 ? {
|
||||
k: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.f([item, "64.53%", "200.57亿", "310.81亿", "712.55亿"], (item2, index2, i1) => {
|
||||
return {
|
||||
a: common_vendor.t(item2),
|
||||
b: index2 == 0 ? "left" : "center"
|
||||
};
|
||||
}),
|
||||
b: index % 2 == 0 ? "#FFFFFF" : "#FAFAFC"
|
||||
a: common_vendor.t(item.content),
|
||||
b: common_vendor.t(item.profit_margin.toFixed(2)),
|
||||
c: common_vendor.t($data.getNumStr(item.profit)),
|
||||
d: common_vendor.t($data.getNumStr(item.revenue)),
|
||||
e: common_vendor.t(item.content),
|
||||
f: index,
|
||||
g: index % 2 == 0 ? "#FFFFFF" : "#FAFAFC"
|
||||
};
|
||||
})
|
||||
};
|
||||
} : {});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
wx.createComponent(Component);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<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:#1DB26F;font-size:30rpx">+12.50%</view><view style="margin-top:10rpx">利润增长</view></view><view><view style="display:flex;align-items:center"><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">+8.20%</text><text style="color:#F59B38">(稳健增长)</text></view></view></view><view style="display:flex;align-items:center;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">16.23%</view><view style="margin-top:10rpx">ROE</view></view><view><view style="display:flex;align-items:center"><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">净利率 32.56%|毛利率 71.92%</text></view></view></view><view class="flex" style="display:flex;align-items:center;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:#EC3440;font-size:30rpx">93.52%</view><view style="margin-top:10rpx">资产负债率</view></view><view><view style="display:flex;align-items:center"><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><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="{{c}}" 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><view wx:for="{{d}}" wx:for-item="item" style="{{'display:grid;grid-template-columns:130rpx repeat(4, 1fr);color:#666666;font-size:20rpx;font-weight:500;margin:0 20rpx;padding:10rpx;box-sizing:border-box' + ';' + ('background-color:' + item.b)}}"><view wx:for="{{item.a}}" wx:for-item="item" style="{{'text-align:' + item.b}}">{{item.a}}</view></view><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 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>
|
||||
8
unpackage/dist/dev/mp-weixin/components/zysj-view/zysj-view.wxss
vendored
Normal file
8
unpackage/dist/dev/mp-weixin/components/zysj-view/zysj-view.wxss
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
.table .item {
|
||||
font-size: 20rpx;
|
||||
font-weight: 500;
|
||||
color: #666666;
|
||||
}
|
||||
.table .item.center {
|
||||
text-align: center;
|
||||
}
|
||||
@@ -184,12 +184,15 @@ const _sfc_main = {
|
||||
],
|
||||
//财务全景分类
|
||||
selectCaiwu: 0,
|
||||
financialStockInfo: null,
|
||||
mainBussinessBarCategoryList: [],
|
||||
//主营业务柱状图,折线图分类
|
||||
mainBussinessBarList: [],
|
||||
//主营业务柱状图数据
|
||||
mainBussinessLineList: [],
|
||||
//主营业务折线图数据
|
||||
productClassificationList: [],
|
||||
//主营业务产业分类数据
|
||||
dongTaiList: [
|
||||
{
|
||||
title: "新闻动态"
|
||||
@@ -248,7 +251,9 @@ const _sfc_main = {
|
||||
this.getIndustryRankListData();
|
||||
}
|
||||
} else if (index == 2) {
|
||||
this.getFinancialStockInfoData();
|
||||
this.getFinancialComparisonData();
|
||||
this.getFinancialMainBussinessData();
|
||||
} else if (index == 3) {
|
||||
this.getNewsListData();
|
||||
}
|
||||
@@ -563,6 +568,16 @@ const _sfc_main = {
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取股票信息数据
|
||||
*/
|
||||
getFinancialStockInfoData() {
|
||||
let code = this.stockCode;
|
||||
request_api.financialStockInfo(code).then((res) => {
|
||||
this.financialStockInfo = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取财务比较数据
|
||||
*/
|
||||
@@ -575,13 +590,24 @@ const _sfc_main = {
|
||||
this.mainBussinessBarList = [];
|
||||
this.mainBussinessLineList = [];
|
||||
for (let item of data) {
|
||||
this.mainBussinessBarCategoryList.push(item.report_type);
|
||||
this.mainBussinessBarList.push((parseFloat(item.performance.revenue) / 1e8).toFixed(2));
|
||||
this.mainBussinessLineList.push((parseFloat(item.performance.net_profit) / 1e8).toFixed(2));
|
||||
this.mainBussinessBarCategoryList.unshift(item.report_type.replace("三季报", "Q3"));
|
||||
this.mainBussinessBarList.unshift((parseFloat(item.performance.revenue) / 1e8).toFixed(2));
|
||||
this.mainBussinessLineList.unshift((parseFloat(item.performance.net_profit) / 1e8).toFixed(2));
|
||||
}
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取财务主营业务数据
|
||||
*/
|
||||
getFinancialMainBussinessData() {
|
||||
let code = this.stockCode;
|
||||
let param = { periods: 4 };
|
||||
request_api.financialMainBusiness(code, param).then((res) => {
|
||||
this.productClassificationList = res.data.product_classification;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取新闻动态数据
|
||||
*/
|
||||
@@ -824,9 +850,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
az: $data.selectCaiwu == 0
|
||||
}, $data.selectCaiwu == 0 ? {
|
||||
aA: common_vendor.p({
|
||||
stockInfo: $data.financialStockInfo,
|
||||
barCategoryList: $data.mainBussinessBarCategoryList,
|
||||
barList: $data.mainBussinessBarList,
|
||||
lineList: $data.mainBussinessLineList
|
||||
lineList: $data.mainBussinessLineList,
|
||||
productClassificationList: $data.productClassificationList
|
||||
})
|
||||
} : {}, {
|
||||
aB: $data.selectCaiwu == 1
|
||||
|
||||
4
unpackage/dist/dev/mp-weixin/request/api.js
vendored
4
unpackage/dist/dev/mp-weixin/request/api.js
vendored
@@ -43,7 +43,9 @@ const industryRankList = (code) => request_http.get("/api/financial/industry-ran
|
||||
const valueChainAnalysis = (code) => request_http.get("/api/company/value-chain-analysis/" + code, null, true);
|
||||
const valueChainRelatedCompany = (param) => request_http.get("/api/company/value-chain/related-companies", param, true);
|
||||
const keyFactorsTimeline = (code) => request_http.get("/api/company/key-factors-timeline/" + code, null, true);
|
||||
const financialStockInfo = (code) => request_http.get("/api/financial/stock-info/" + code, null, 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 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);
|
||||
@@ -83,6 +85,8 @@ exports.eventRelatedStock = eventRelatedStock;
|
||||
exports.feedback = feedback;
|
||||
exports.filterOptions = filterOptions;
|
||||
exports.financialComparison = financialComparison;
|
||||
exports.financialMainBusiness = financialMainBusiness;
|
||||
exports.financialStockInfo = financialStockInfo;
|
||||
exports.followEvent = followEvent;
|
||||
exports.homeData = homeData;
|
||||
exports.industryCategoryList = industryCategoryList;
|
||||
|
||||
Reference in New Issue
Block a user