2.6 盈利能力模块表格完善
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../../common/vendor.js");
|
||||
const utils_util = require("../../../utils/util.js");
|
||||
const common_assets = require("../../../common/assets.js");
|
||||
const echarts = require("../../../uni_modules/lime-echart/static/echarts.min.js");
|
||||
const _sfc_main = {
|
||||
@@ -33,6 +34,7 @@ const _sfc_main = {
|
||||
}
|
||||
],
|
||||
profitabilityIndicatorIndex: 0,
|
||||
profitabilitySingleQuarterAllIndex: 0,
|
||||
perShareIndicatorList: [
|
||||
{
|
||||
title: "每股收益(EPS)"
|
||||
@@ -60,6 +62,7 @@ const _sfc_main = {
|
||||
}
|
||||
],
|
||||
perShareIndicatorIndex: 0,
|
||||
perShareSingleQuarterAllIndex: 0,
|
||||
option1: {
|
||||
legend: {
|
||||
show: true,
|
||||
@@ -71,14 +74,28 @@ const _sfc_main = {
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10,
|
||||
rotate: 45
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
@@ -99,9 +116,9 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom: [{
|
||||
type: "slider"
|
||||
}],
|
||||
// dataZoom:[{
|
||||
// type:'slider'
|
||||
// }],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
@@ -156,9 +173,9 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom: [{
|
||||
type: "slider"
|
||||
}],
|
||||
// dataZoom:[{
|
||||
// type:'slider'
|
||||
// }],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
@@ -173,7 +190,10 @@ const _sfc_main = {
|
||||
yAxisIndex: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
accDiv: utils_util.accDiv,
|
||||
accSub: utils_util.accSub,
|
||||
accMul: utils_util.accMul
|
||||
};
|
||||
},
|
||||
props: {
|
||||
@@ -181,31 +201,12 @@ const _sfc_main = {
|
||||
},
|
||||
watch: {
|
||||
dataList(newValue) {
|
||||
let category = [];
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
for (let item of newValue) {
|
||||
var type = item.report_type;
|
||||
type = type.replace("年三季报", "Q3");
|
||||
type = type.replace("年一季报", "Q1");
|
||||
type = type.replace("年中报", "中报");
|
||||
type = type.replace("年年报", "年报");
|
||||
category.push(type);
|
||||
if (item.profitability.roe) {
|
||||
data1.push(item.profitability.roe.toFixed(2));
|
||||
} else
|
||||
data1.push(0);
|
||||
if (item.per_share_metrics.eps) {
|
||||
data2.push(item.per_share_metrics.eps.toFixed(2));
|
||||
} else
|
||||
data2.push(0);
|
||||
if (this.profitabilitySingleQuarterAllIndex == 0) {
|
||||
this.getROESingleQuarterData();
|
||||
} else {
|
||||
this.getROEAllData();
|
||||
}
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.series[0].data = data1;
|
||||
this.profitabilityInit();
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.series[0].data = data2;
|
||||
this.perShareInit();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -226,11 +227,10 @@ const _sfc_main = {
|
||||
this.profitabilityIndicatorIndex = index;
|
||||
let data = [];
|
||||
if (index == 0) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roe) {
|
||||
data.push(item.profitability.roe.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
if (this.profitabilitySingleQuarterAllIndex == 0) {
|
||||
this.getROESingleQuarterData();
|
||||
} else {
|
||||
this.getROEAllData();
|
||||
}
|
||||
} else if (index == 1) {
|
||||
for (let item of this.dataList) {
|
||||
@@ -241,8 +241,8 @@ const _sfc_main = {
|
||||
}
|
||||
} else if (index == 2) {
|
||||
for (let item of this.dataList) {
|
||||
if (item.profitability.roe_deducted) {
|
||||
data.push(item.profitability.roe_deducted.toFixed(2));
|
||||
if (item.profitability.roe_weighted) {
|
||||
data.push(item.profitability.roe_weighted.toFixed(2));
|
||||
} else
|
||||
data.push(0);
|
||||
}
|
||||
@@ -286,6 +286,303 @@ const _sfc_main = {
|
||||
this.profitabilityInit();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 盈利能力切换单季度还是全部
|
||||
*/
|
||||
clickProfitabilitySingleQuarterOrAll(index) {
|
||||
if (this.profitabilitySingleQuarterAllIndex != index) {
|
||||
this.profitabilitySingleQuarterAllIndex = index;
|
||||
if (index == 0) {
|
||||
if (this.profitabilityIndicatorIndex == 0) {
|
||||
this.getROESingleQuarterData();
|
||||
} else if (this.profitabilityIndicatorIndex == 1) {
|
||||
this.getOwnerEquitySingleQuarterData();
|
||||
} else if (this.profitabilityIndicatorIndex == 2) {
|
||||
this.getOwnerEquitySingleQuarterData();
|
||||
}
|
||||
} else {
|
||||
if (this.profitabilityIndicatorIndex == 0) {
|
||||
this.getROEAllData();
|
||||
} else if (this.profitabilityIndicatorIndex == 1) {
|
||||
this.getOwnerEquityAllData();
|
||||
}
|
||||
}
|
||||
this.profitabilityInit();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取净资产收益率单季度数据
|
||||
*/
|
||||
getROESingleQuarterData() {
|
||||
let category = [];
|
||||
let currentYear = this.dataList[0].period.split("-")[0];
|
||||
var currentYearCount = 0;
|
||||
for (let item of this.dataList) {
|
||||
let year = item.period.split("-")[0];
|
||||
if (year == currentYear) {
|
||||
currentYearCount++;
|
||||
}
|
||||
}
|
||||
let years = (16 - currentYearCount) / 4;
|
||||
let showDataCount = years * 4 + currentYearCount;
|
||||
let showDataList = this.dataList.slice(0, showDataCount);
|
||||
for (var i = 0; i <= years; i++) {
|
||||
category.unshift(currentYear - i);
|
||||
}
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
let data3 = [];
|
||||
let data4 = [];
|
||||
for (let item of showDataList) {
|
||||
for (let item1 of category) {
|
||||
let index = showDataList.indexOf(item);
|
||||
let lastItem = showDataList[index + 1];
|
||||
if (item1 + "年一季报" == item.report_type) {
|
||||
if (item.profitability.roe) {
|
||||
data1.unshift(item.profitability.roe.toFixed(2));
|
||||
} else
|
||||
data1.unshift(0);
|
||||
}
|
||||
if (item1 + "年中报" == item.report_type) {
|
||||
if (item.profitability.roe) {
|
||||
data2.unshift(utils_util.accSub(item.profitability.roe, lastItem.profitability.roe));
|
||||
} else
|
||||
data2.unshift(0);
|
||||
}
|
||||
if (item1 + "年三季报" == item.report_type) {
|
||||
if (item.profitability.roe) {
|
||||
data3.unshift(utils_util.accSub(item.profitability.roe, lastItem.profitability.roe));
|
||||
} else
|
||||
data3.unshift(0);
|
||||
}
|
||||
if (item1 + "年年报" == item.report_type) {
|
||||
if (item.profitability.roe) {
|
||||
data4.unshift(utils_util.accSub(item.profitability.roe, lastItem.profitability.roe));
|
||||
} else
|
||||
data4.unshift(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
common_vendor.index.__f__("log", "at pagesStock/components/cwfx-view/cwfx-view.vue:476", data1, data2, data3, data4);
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option1.xAxis[0].data = category;
|
||||
this.option1.xAxis[1].data = category;
|
||||
this.option1.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
/**
|
||||
* 获取净资产收益率全部数据
|
||||
*/
|
||||
getROEAllData() {
|
||||
let showDataList = this.dataList.slice(0, 8);
|
||||
let category = [];
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
let data3 = [];
|
||||
let data4 = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
if (index < showDataList.length - 3) {
|
||||
let type = item.report_type;
|
||||
type = type.replaceAll("三季报", "\n三季报");
|
||||
type = type.replaceAll("年报", "\n年报");
|
||||
type = type.replaceAll("中报", "\n中报");
|
||||
type = type.replaceAll("一季报", "\n一季报");
|
||||
category.unshift(type);
|
||||
let lastItem1 = showDataList[index + 1];
|
||||
let lastItem2 = showDataList[index + 2];
|
||||
let lastItem3 = showDataList[index + 3];
|
||||
if (item.report_type.indexOf("三季报") > -1) {
|
||||
if (item.profitability.roe) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(utils_util.accSub(item.profitability.roe, lastItem1.profitability.roe).toFixed(2));
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(lastItem1.profitability.roe, lastItem2.profitability.roe), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(lastItem2.profitability.roe, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("中报") > -1) {
|
||||
if (item.profitability.roe) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(item.profitability.roe, lastItem1.profitability.roe), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(lastItem1.profitability.roe, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("一季报") > -1) {
|
||||
if (item.profitability.roe) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(utils_util.accDiv(item.profitability.roe, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("年报") > -1) {
|
||||
if (item.profitability.roe) {
|
||||
data4.unshift(utils_util.accDiv(utils_util.accSub(item.profitability.roe, lastItem1.profitability.roe), 1e8).toFixed(2));
|
||||
data3.unshift(utils_util.accDiv(utils_util.accSub(lastItem1.profitability.roe, lastItem2.profitability.roe), 1e8).toFixed(2));
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(lastItem2.profitability.roe, lastItem3.profitability.roe), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(lastItem3.profitability.roe, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i]);
|
||||
sum = utils_util.accAdd(sum, data3[i]);
|
||||
sum = utils_util.accAdd(sum, data4[i]).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
if (index < showDataList.length - 3) {
|
||||
let lastItem = this.dataList[index + 4];
|
||||
ratioList.unshift(utils_util.accMul(utils_util.accDiv(utils_util.accSub(item.profitability.roe, lastItem.profitability.roe), Math.abs(lastItem.profitability.roe)), 100).toFixed(2));
|
||||
}
|
||||
}
|
||||
this.option1.tooltip = {
|
||||
show: true,
|
||||
confine: true,
|
||||
formatter(params) {
|
||||
let index = params.dataIndex;
|
||||
let str = params.name + ":" + sumData[index];
|
||||
if (data1[index] != 0) {
|
||||
str += "\n第一季度:" + data1[index];
|
||||
}
|
||||
if (data2[index] != 0) {
|
||||
str += "\n第二季度:" + data2[index];
|
||||
}
|
||||
if (data3[index] != 0) {
|
||||
str += "\n第三季度:" + data3[index];
|
||||
}
|
||||
if (data4[index] != 0) {
|
||||
str += "\n第四季度:" + data4[index];
|
||||
}
|
||||
str += "\n同比(右)" + ratioList[index];
|
||||
return str;
|
||||
}
|
||||
};
|
||||
this.option1.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
label: {
|
||||
show: true,
|
||||
position: "top",
|
||||
formatter(params) {
|
||||
return sumData[params.dataIndex];
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
data: data2,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
data: data3,
|
||||
yAxisIndex: 0,
|
||||
stack: "quarter"
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
data: data4,
|
||||
yAxisIndex: 0,
|
||||
stack: "quarter"
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "同比(右)",
|
||||
data: ratioList,
|
||||
yAxisIndex: 1
|
||||
}
|
||||
];
|
||||
},
|
||||
/**
|
||||
* 切换每股指标
|
||||
* @param {Object} item
|
||||
@@ -354,6 +651,289 @@ const _sfc_main = {
|
||||
this.option2.series[0].data = data;
|
||||
this.perShareInit();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取期间费用单季度数据
|
||||
*/
|
||||
getPeriodExpensesSingleQuarterData() {
|
||||
let category = [];
|
||||
let currentYear = this.incomeStatementList[0].period.split("-")[0];
|
||||
var currentYearCount = 0;
|
||||
for (let item of this.incomeStatementList) {
|
||||
let year = item.period.split("-")[0];
|
||||
if (year == currentYear) {
|
||||
currentYearCount++;
|
||||
}
|
||||
}
|
||||
let years = (16 - currentYearCount) / 4;
|
||||
let showDataCount = years * 4 + currentYearCount;
|
||||
let showDataList = this.incomeStatementList.slice(0, showDataCount);
|
||||
for (var i = 0; i <= years; i++) {
|
||||
category.unshift(currentYear - i);
|
||||
}
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
let data3 = [];
|
||||
let data4 = [];
|
||||
for (let item of showDataList) {
|
||||
for (let item1 of category) {
|
||||
let index = showDataList.indexOf(item);
|
||||
let lastItem = showDataList[index + 1];
|
||||
let total1 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(item.costs.selling_expenses, item.costs.admin_expenses), item.costs.rd_expenses), item.costs.financial_expenses);
|
||||
let total2 = 0;
|
||||
if (lastItem) {
|
||||
total2 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(lastItem.costs.selling_expenses, lastItem.costs.admin_expenses), lastItem.costs.rd_expenses), lastItem.costs.financial_expenses);
|
||||
}
|
||||
if (item1 + "年一季报" == item.report_type) {
|
||||
if (total1) {
|
||||
data1.unshift(utils_util.accDiv(total1, 1e8).toFixed(2));
|
||||
} else
|
||||
data1.unshift(0);
|
||||
}
|
||||
if (item1 + "年中报" == item.report_type) {
|
||||
if (total1 && total2) {
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
} else
|
||||
data2.unshift(0);
|
||||
}
|
||||
if (item1 + "年三季报" == item.report_type) {
|
||||
if (total1 && total2) {
|
||||
data3.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
} else
|
||||
data3.unshift(0);
|
||||
}
|
||||
if (item1 + "年年报" == item.report_type) {
|
||||
if (total1 && total2) {
|
||||
data4.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
} else
|
||||
data4.unshift(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.xAxis[0].data = category;
|
||||
this.option3.xAxis[1].data = category;
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
/**
|
||||
* 获取期间费用全部数据
|
||||
*/
|
||||
getPeriodExpensesAllData() {
|
||||
let showDataList = this.incomeStatementList.slice(0, 8);
|
||||
let category = [];
|
||||
let data1 = [];
|
||||
let data2 = [];
|
||||
let data3 = [];
|
||||
let data4 = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
if (index < showDataList.length - 3) {
|
||||
let type = item.report_type;
|
||||
type = type.replaceAll("三季报", "\n三季报");
|
||||
type = type.replaceAll("年报", "\n年报");
|
||||
type = type.replaceAll("中报", "\n中报");
|
||||
type = type.replaceAll("一季报", "\n一季报");
|
||||
category.unshift(type);
|
||||
let lastItem1 = showDataList[index + 1];
|
||||
let lastItem2 = showDataList[index + 2];
|
||||
let lastItem3 = showDataList[index + 3];
|
||||
let total1 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(item.costs.selling_expenses, item.costs.admin_expenses), item.costs.rd_expenses), item.costs.financial_expenses);
|
||||
let total2 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(lastItem1.costs.selling_expenses, lastItem1.costs.admin_expenses), lastItem1.costs.rd_expenses), lastItem1.costs.financial_expenses);
|
||||
let total3 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(lastItem2.costs.selling_expenses, lastItem2.costs.admin_expenses), lastItem2.costs.rd_expenses), lastItem2.costs.financial_expenses);
|
||||
let total4 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(lastItem3.costs.selling_expenses, lastItem3.costs.admin_expenses), lastItem3.costs.rd_expenses), lastItem3.costs.financial_expenses);
|
||||
if (item.report_type.indexOf("三季报") > -1) {
|
||||
if (total1 && total2 && total3) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(total2, total3), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(total3, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("中报") > -1) {
|
||||
if (total1 && total2) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(total2, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("一季报") > -1) {
|
||||
if (total1) {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(utils_util.accDiv(total1, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
} else if (item.report_type.indexOf("年报") > -1) {
|
||||
if (total1 && total2 && total3 && total4) {
|
||||
data4.unshift(utils_util.accDiv(utils_util.accSub(total1, total2), 1e8).toFixed(2));
|
||||
data3.unshift(utils_util.accDiv(utils_util.accSub(total2, total3), 1e8).toFixed(2));
|
||||
data2.unshift(utils_util.accDiv(utils_util.accSub(total3, total4), 1e8).toFixed(2));
|
||||
data1.unshift(utils_util.accDiv(total4, 1e8).toFixed(2));
|
||||
} else {
|
||||
data4.unshift(0);
|
||||
data3.unshift(0);
|
||||
data2.unshift(0);
|
||||
data1.unshift(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i]);
|
||||
sum = utils_util.accAdd(sum, data3[i]);
|
||||
sum = utils_util.accAdd(sum, data4[i]).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option3.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
if (index < showDataList.length - 3) {
|
||||
let lastItem = this.incomeStatementList[index + 4];
|
||||
let total1 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(item.costs.selling_expenses, item.costs.admin_expenses), item.costs.rd_expenses), item.costs.financial_expenses);
|
||||
let total2 = utils_util.accAdd(utils_util.accAdd(utils_util.accAdd(lastItem.costs.selling_expenses, lastItem.costs.admin_expenses), lastItem.costs.rd_expenses), lastItem.costs.financial_expenses);
|
||||
ratioList.unshift(utils_util.accMul(utils_util.accDiv(utils_util.accSub(total1, total2), Math.abs(total2)), 100).toFixed(2));
|
||||
}
|
||||
}
|
||||
this.option3.tooltip = {
|
||||
show: true,
|
||||
confine: true,
|
||||
formatter(params) {
|
||||
let index = params.dataIndex;
|
||||
let str = params.name + ":" + sumData[index];
|
||||
if (data1[index] != 0) {
|
||||
str += "\n第一季度:" + data1[index];
|
||||
}
|
||||
if (data2[index] != 0) {
|
||||
str += "\n第二季度:" + data2[index];
|
||||
}
|
||||
if (data3[index] != 0) {
|
||||
str += "\n第三季度:" + data3[index];
|
||||
}
|
||||
if (data4[index] != 0) {
|
||||
str += "\n第四季度:" + data4[index];
|
||||
}
|
||||
str += "\n同比(右)" + ratioList[index];
|
||||
return str;
|
||||
}
|
||||
};
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
label: {
|
||||
show: true,
|
||||
position: "top",
|
||||
formatter(params) {
|
||||
return sumData[params.dataIndex];
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
data: data2,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
data: data3,
|
||||
yAxisIndex: 0,
|
||||
stack: "quarter"
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
data: data4,
|
||||
yAxisIndex: 0,
|
||||
stack: "quarter"
|
||||
},
|
||||
{
|
||||
type: "line",
|
||||
name: "同比(右)",
|
||||
data: ratioList,
|
||||
yAxisIndex: 1
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -366,7 +946,7 @@ if (!Math) {
|
||||
_easycom_l_echart();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
return common_vendor.e({
|
||||
a: common_assets._imports_0$3,
|
||||
b: common_assets._imports_2$3,
|
||||
c: common_vendor.f($data.profitabilityIndicatorList, (item, index, i0) => {
|
||||
@@ -377,12 +957,26 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickProfitabilityIndicatorItem(index), index)
|
||||
};
|
||||
}),
|
||||
d: common_assets._imports_3$12,
|
||||
e: common_assets._imports_5$7,
|
||||
f: common_vendor.sr("chartRef1", "351c0d57-0"),
|
||||
g: common_assets._imports_4$13,
|
||||
h: common_assets._imports_2$3,
|
||||
i: common_vendor.f($data.perShareIndicatorList, (item, index, i0) => {
|
||||
d: common_vendor.n("option " + ($data.profitabilitySingleQuarterAllIndex == 0 ? "select" : "")),
|
||||
e: common_vendor.o(($event) => $options.clickProfitabilitySingleQuarterOrAll(0)),
|
||||
f: $data.profitabilitySingleQuarterAllIndex == 1
|
||||
}, $data.profitabilitySingleQuarterAllIndex == 1 ? {
|
||||
g: common_assets._imports_2$12
|
||||
} : {
|
||||
h: common_assets._imports_3$11
|
||||
}, {
|
||||
i: $data.profitabilitySingleQuarterAllIndex == 1
|
||||
}, $data.profitabilitySingleQuarterAllIndex == 1 ? {
|
||||
j: common_assets._imports_4$10
|
||||
} : {
|
||||
k: common_assets._imports_5$7
|
||||
}, {
|
||||
l: common_vendor.n("flex option " + ($data.profitabilitySingleQuarterAllIndex == 1 ? "select" : "")),
|
||||
m: common_vendor.o(($event) => $options.clickProfitabilitySingleQuarterOrAll(1)),
|
||||
n: common_vendor.sr("chartRef1", "351c0d57-0"),
|
||||
o: common_assets._imports_6$3,
|
||||
p: common_assets._imports_2$3,
|
||||
q: common_vendor.f($data.perShareIndicatorList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: common_vendor.n("item flexCenter " + ($data.perShareIndicatorIndex == index ? "select" : "")),
|
||||
@@ -390,10 +984,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_vendor.o(($event) => $options.clickPerShareIndicatorItem(index), index)
|
||||
};
|
||||
}),
|
||||
j: common_assets._imports_3$12,
|
||||
k: common_assets._imports_5$7,
|
||||
l: common_vendor.sr("chartRef2", "351c0d57-1")
|
||||
};
|
||||
r: common_assets._imports_3$11,
|
||||
s: common_assets._imports_5$7,
|
||||
t: common_vendor.sr("chartRef2", "351c0d57-1")
|
||||
});
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
wx.createPage(MiniProgramPage);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view class="flex" style="padding:20rpx"><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 class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="{{item.b}}" style="justify-content:center;text-align:center;padding:3rpx 5rpx" bindtap="{{item.d}}">{{item.a}}</view></view><view class="flex" style="padding:20rpx"><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="351c0d57-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 class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{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="351c0d57-1" bind:__l="__l"></l-echart></view></view></view>
|
||||
<view><view style="color:#2B2B2B;font-weight:500;font-size:24rpx"><view class="flex" style="padding:20rpx"><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 class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="{{item.b}}" style="justify-content:center;text-align:center;padding:3rpx 5rpx" bindtap="{{item.d}}">{{item.a}}</view></view><view class="detailOptionC flex" style="padding:20rpx"><view class="flex1" style="font-size:28rpx">查看详细数据</view><view class="{{d}}" bindtap="{{e}}">单季度</view><view class="{{l}}" bindtap="{{m}}"><image wx:if="{{f}}" class="icon" src="{{g}}" mode="widthFix"></image><image wx:else class="icon" src="{{h}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image wx:if="{{i}}" class="arrow" src="{{j}}" mode="widthFix"></image><image wx:else class="arrow" src="{{k}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef1" u-i="351c0d57-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="{{o}}" mode="widthFix" style="width:40rpx;height:40rpx"></image><view class="flex1" style="margin:0 10rpx;font-size:28rpx">每股指标</view><image src="{{p}}" mode="widthFix" style="width:13rpx;height:22rpx"></image></view><view class="indicatorC" style="display:grid;gap:20rpx;grid-template-columns:repeat(4, 1fr);margin:0 20rpx"><view wx:for="{{q}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{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="{{r}}" mode="widthFix"></image><view style="margin:0 10rpx;color:#999999;font-size:22rpx">全部</view><image style="width:11rpx;height:6rpx" src="{{s}}" mode="widthFix"></image></view></view><view style="height:500rpx"><l-echart class="r" u-r="chartRef2" u-i="351c0d57-1" bind:__l="__l"></l-echart></view></view></view>
|
||||
@@ -11,3 +11,25 @@
|
||||
border: 1rpx solid #F2C369;
|
||||
color: #BB8520;
|
||||
}
|
||||
.detailOptionC .option {
|
||||
margin: 0 10rpx;
|
||||
line-height: 36rpx;
|
||||
padding: 0 10rpx;
|
||||
border-radius: 5rpx;
|
||||
border: 1rpx solid #D2D2D2;
|
||||
font-size: 22rpx;
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
}
|
||||
.detailOptionC .option .icon {
|
||||
width: 23rpx;
|
||||
height: auto;
|
||||
}
|
||||
.detailOptionC .option .arrow {
|
||||
width: 11rpx;
|
||||
height: auto;
|
||||
}
|
||||
.detailOptionC .option.select {
|
||||
border: solid 1rpx #F2C369;
|
||||
color: #F2C369;
|
||||
}
|
||||
|
||||
@@ -2413,7 +2413,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.xAxis[0].data = category;
|
||||
this.option3.xAxis[1].data = category;
|
||||
this.option3.series = [
|
||||
@@ -2677,9 +2677,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
e: common_vendor.o(($event) => $options.clickBalanceSingleQuarterOrAll(0)),
|
||||
f: $data.balanceSingleQuarterAllIndex == 1
|
||||
}, $data.balanceSingleQuarterAllIndex == 1 ? {
|
||||
g: common_assets._imports_2$13
|
||||
g: common_assets._imports_2$12
|
||||
} : {
|
||||
h: common_assets._imports_3$12
|
||||
h: common_assets._imports_3$11
|
||||
}, {
|
||||
i: $data.balanceSingleQuarterAllIndex == 1
|
||||
}, $data.balanceSingleQuarterAllIndex == 1 ? {
|
||||
@@ -2714,9 +2714,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
B: common_vendor.o(($event) => $options.clickCashFlowSingleQuarterOrAll(0)),
|
||||
C: $data.cashFlowSingleQuarterAllIndex == 1
|
||||
}, $data.cashFlowSingleQuarterAllIndex == 1 ? {
|
||||
D: common_assets._imports_2$13
|
||||
D: common_assets._imports_2$12
|
||||
} : {
|
||||
E: common_assets._imports_3$12
|
||||
E: common_assets._imports_3$11
|
||||
}, {
|
||||
F: $data.cashFlowSingleQuarterAllIndex == 1
|
||||
}, $data.cashFlowSingleQuarterAllIndex == 1 ? {
|
||||
@@ -2750,9 +2750,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
W: common_vendor.o(($event) => $options.clickProfitSingleQuarterOrAll(0)),
|
||||
X: $data.profitSingleQuarterAllIndex == 1
|
||||
}, $data.profitSingleQuarterAllIndex == 1 ? {
|
||||
Y: common_assets._imports_2$13
|
||||
Y: common_assets._imports_2$12
|
||||
} : {
|
||||
Z: common_assets._imports_3$12
|
||||
Z: common_assets._imports_3$11
|
||||
}, {
|
||||
aa: $data.profitSingleQuarterAllIndex == 1
|
||||
}, $data.profitSingleQuarterAllIndex == 1 ? {
|
||||
|
||||
@@ -20,6 +20,14 @@
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
}
|
||||
.detailOptionC .option .icon {
|
||||
width: 23rpx;
|
||||
height: auto;
|
||||
}
|
||||
.detailOptionC .option .arrow {
|
||||
width: 11rpx;
|
||||
height: auto;
|
||||
}
|
||||
.detailOptionC .option.select {
|
||||
border: solid 1rpx #F2C369;
|
||||
color: #F2C369;
|
||||
|
||||
@@ -80,7 +80,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: item.impact_metrics.is_positive == 1
|
||||
}, item.impact_metrics.is_positive == 1 ? {
|
||||
b: common_assets._imports_4$14
|
||||
b: common_assets._imports_4$12
|
||||
} : {
|
||||
c: common_assets._imports_5$8
|
||||
}, {
|
||||
|
||||
@@ -76,7 +76,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
i: item.list.length > 4
|
||||
}, item.list.length > 4 ? {
|
||||
j: common_vendor.t(item.isExpand ? "收起" : "展开查看"),
|
||||
k: common_assets._imports_2$14,
|
||||
k: common_assets._imports_2$13,
|
||||
l: common_vendor.o(($event) => $options.clickExpandOrRetractManagement(index), index)
|
||||
} : {}, {
|
||||
m: index
|
||||
|
||||
@@ -91,8 +91,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
});
|
||||
}),
|
||||
g: common_assets._imports_1$15,
|
||||
h: common_assets._imports_2$15,
|
||||
i: common_assets._imports_3$13
|
||||
h: common_assets._imports_2$14,
|
||||
i: common_assets._imports_3$12
|
||||
} : {}, {
|
||||
j: $data.showType == 1
|
||||
}, $data.showType == 1 ? {
|
||||
|
||||
@@ -96,21 +96,16 @@ const _sfc_main = {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// 筛选后的股票列表
|
||||
// 筛选后的股票列表:按板块codes匹配 + 连板排序/筛选
|
||||
filteredStocks() {
|
||||
var _a;
|
||||
if (!this.allStocks.length)
|
||||
if (!((_a = this.originData) == null ? void 0 : _a.stocks) || !this.bkList.length)
|
||||
return [];
|
||||
let stocks = [...this.allStocks];
|
||||
if (this.activeIndex >= 0 && this.bkList.length) {
|
||||
const currentSector = (_a = this.bkList[this.activeIndex]) == null ? void 0 : _a.title;
|
||||
if (currentSector) {
|
||||
stocks = stocks.filter((stock) => {
|
||||
const sectorMatch = stock.core_sectors.some((s) => s.includes(currentSector)) || (Array.isArray(stock.sector_category) ? stock.sector_category.includes(currentSector) : stock.sector_category === currentSector);
|
||||
return sectorMatch;
|
||||
});
|
||||
}
|
||||
}
|
||||
const currentBk = this.bkList[this.activeIndex];
|
||||
if (!(currentBk == null ? void 0 : currentBk.codes) || currentBk.codes.length === 0)
|
||||
return [];
|
||||
const targetCodes = new Set(currentBk.codes);
|
||||
let stocks = this.originData.stocks.filter((stock) => targetCodes.has(stock.scode));
|
||||
switch (this.filterIndex) {
|
||||
case 0:
|
||||
stocks.sort((a, b) => {
|
||||
@@ -134,7 +129,7 @@ const _sfc_main = {
|
||||
onLoad(e) {
|
||||
this.activeIndex = e.index;
|
||||
this.selectedFullDate = e.data;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:237", "selectedFullDate", this.selectedFullDate);
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:229", "selectedFullDate", this.selectedFullDate);
|
||||
this.contentTop = this.navH + 20 / 750 * common_vendor.inject("windowWidth");
|
||||
this.fetchData();
|
||||
},
|
||||
@@ -230,7 +225,6 @@ const _sfc_main = {
|
||||
setStockRoles() {
|
||||
if (!this.originData || !this.originData.stocks || !this.bkList.length)
|
||||
return;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:357", "setStockRoles", JSON.stringify(this.originData.stocks));
|
||||
this.allStocks = this.originData.stocks.map((stock) => {
|
||||
let sectorIndex = -1;
|
||||
const stockSectors = Array.isArray(stock.sector_category) ? stock.sector_category : [stock.sector_category];
|
||||
@@ -263,28 +257,20 @@ const _sfc_main = {
|
||||
const formattedDate = this.selectedFullDate;
|
||||
const baseURL = request_http.getBaseURL1();
|
||||
const requestUrl = `${baseURL}/data/zt/daily/${formattedDate}.json?t=${timestamp}`;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:401", "请求URL:", requestUrl);
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:390", "请求URL:", requestUrl);
|
||||
const res = await common_vendor.index.request({
|
||||
url: requestUrl,
|
||||
method: "GET"
|
||||
});
|
||||
if (res.statusCode === 200 && res.data) {
|
||||
this.originData = res.data;
|
||||
const chartData = this.originData.chart_data || {};
|
||||
const labels = chartData.labels || [];
|
||||
const counts = chartData.counts || [];
|
||||
const maxCount = counts.length > 0 ? Math.max(...counts) : 0;
|
||||
const maxLen = Math.min(labels.length, counts.length);
|
||||
let bkList = [];
|
||||
for (let i = 0; i < maxLen; i++) {
|
||||
const title = labels[i];
|
||||
const count = counts[i] || 0;
|
||||
bkList.push({
|
||||
title,
|
||||
count
|
||||
});
|
||||
}
|
||||
this.bkList = bkList;
|
||||
const { sector_data } = this.originData;
|
||||
this.bkList = Object.entries(sector_data).filter(([sectorName]) => sectorName !== "其他").map(([sectorName, sectorInfo]) => ({
|
||||
title: sectorName,
|
||||
codes: sectorInfo.stock_codes || []
|
||||
// 取板块对应的股票代码
|
||||
}));
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:408", "生成板块列表:", this.bkList);
|
||||
this.setStockRoles();
|
||||
} else {
|
||||
common_vendor.index.showToast({
|
||||
@@ -293,7 +279,7 @@ const _sfc_main = {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pagesStock/stockCenterDetails/bkydmx.vue:440", "请求异常:", error);
|
||||
common_vendor.index.__f__("error", "at pagesStock/stockCenterDetails/bkydmx.vue:418", "请求异常:", error);
|
||||
common_vendor.index.showToast({
|
||||
title: "网络异常",
|
||||
icon: "none"
|
||||
|
||||
313
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.js
vendored
Normal file
313
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.js
vendored
Normal file
@@ -0,0 +1,313 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../../common/vendor.js");
|
||||
const request_api = require("../../../request/api.js");
|
||||
const common_assets = require("../../../common/assets.js");
|
||||
const _sfc_main = {
|
||||
data() {
|
||||
return {
|
||||
navH: common_vendor.inject("navHeight"),
|
||||
windowWidth: common_vendor.inject("windowWidth"),
|
||||
contentTop: "",
|
||||
otherTop: "",
|
||||
stockCode: "000001",
|
||||
//股票代码
|
||||
tabList: ["盈利能力", "每股指标", "成长能力", "资产负债表", "现金流量指标", "现金流量表"],
|
||||
activeIndex: 0,
|
||||
topScrollWidth: 0,
|
||||
topScrollLeft: 0,
|
||||
filterList: ["全部", "年报", "中报", "一季度", "三季度"],
|
||||
filterIndex: 0,
|
||||
secondScrollWidth: 0,
|
||||
secondScrollLeft: 0,
|
||||
periodList: [
|
||||
{
|
||||
title: "最近4期",
|
||||
period: 4
|
||||
},
|
||||
{
|
||||
title: "最近8期",
|
||||
period: 8
|
||||
},
|
||||
{
|
||||
title: "最近12期",
|
||||
period: 12
|
||||
},
|
||||
{
|
||||
title: "最近16期",
|
||||
period: 16
|
||||
}
|
||||
],
|
||||
periodIndex: 1,
|
||||
periodTop: "",
|
||||
periodShow: false,
|
||||
//是否显示弹窗
|
||||
leftList: [
|
||||
["净资产收益率(ROE)%", "净资产收益率(扣非)%", "净资产收益率(加权)%", "总资产报酬率(ROA)%", "毛利率%", "净利率%", "营业利润率%", "成本费用利润率%", "EBIT"],
|
||||
["每股收益(EPS)%", "基本每股收益", "稀释每股收益", "扣非每股收益", "每股净资产", "每股经营现金流", "每股资本公积", "每股未分配利润"],
|
||||
["营收增长率%", "净利润增长率%", "扣非净利润增长率%", "归母净利润增长率%", "经营现金流增长率%", "总资产增长率%", "净资产增长率%", "固定资产增长率%"],
|
||||
["营收增长率%", "净利润增长率%", "扣非净利润增长率%", "归母净利润增长率%", "经营现金流增长率%", "总资产增长率%", "净资产增长率%", "固定资产增长率%"],
|
||||
["货币资金", "交易性金融资产", "应收票据", "营收账款", "预付款项", "其他应收款", "存货", "存货", "其他流动资产"],
|
||||
["经营现金流净额", "销售收现", "购买支付现金", "投资现金流净额", "筹资现金流净额", "现金净增加额", "期末现金余额", "自由现金流"]
|
||||
],
|
||||
financialMetricsList: [],
|
||||
showDataList: []
|
||||
};
|
||||
},
|
||||
onLoad(e) {
|
||||
if (e.index) {
|
||||
this.activeIndex = e.index;
|
||||
}
|
||||
if (e.code) {
|
||||
this.stockCode = e.code;
|
||||
}
|
||||
this.contentTop = this.navH + 20 / 750 * common_vendor.inject("windowWidth");
|
||||
this.otherTop = this.navH + 204 / 750 * common_vendor.inject("windowWidth");
|
||||
this.getFinancialMetricsData();
|
||||
},
|
||||
onReady() {
|
||||
common_vendor.index.createSelectorQuery().select("#topCategory").boundingClientRect((rect) => {
|
||||
this.topScrollWidth = Math.round(rect.width);
|
||||
}).exec();
|
||||
common_vendor.index.createSelectorQuery().select("#filterList").boundingClientRect((rect) => {
|
||||
if (rect) {
|
||||
this.secondScrollWidth = Math.round(rect.width);
|
||||
}
|
||||
}).exec();
|
||||
},
|
||||
methods: {
|
||||
clickTabItem(e, index) {
|
||||
if (this.activeIndex != index) {
|
||||
this.activeIndex = index;
|
||||
let offsetLeft = e.currentTarget.offsetLeft;
|
||||
this.topScrollLeft = offsetLeft - this.topScrollWidth / 2;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 点击选择筛选项
|
||||
* @param {Object} index
|
||||
*/
|
||||
clickFilterItem(e, index) {
|
||||
if (this.filterIndex != index) {
|
||||
this.filterIndex = index;
|
||||
let offsetLeft = e.currentTarget.offsetLeft;
|
||||
this.secondScrollLeft = offsetLeft - this.secondScrollWidth / 2;
|
||||
if (this.activeIndex == 0 || this.activeIndex == 1 || this.activeIndex == 2 || this.activeIndex == 4) {
|
||||
this.getFinancialMetricsData();
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 点击选择期数
|
||||
* @param {Object} e
|
||||
*/
|
||||
clickSelectPeriod(e) {
|
||||
this.periodTop = e.currentTarget.offsetTop + this.navH + (70 + 10) / 750 * this.windowWidth;
|
||||
this.periodShow = true;
|
||||
},
|
||||
/**
|
||||
* 点击选择期数
|
||||
* @param {Object} index
|
||||
*/
|
||||
clickPeriodItem(index) {
|
||||
if (this.periodIndex != index) {
|
||||
this.periodIndex = index;
|
||||
this.periodShow = false;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取财务指标数据
|
||||
*/
|
||||
getFinancialMetricsData() {
|
||||
let code = this.stockCode;
|
||||
let period = this.periodList[this.periodIndex].period;
|
||||
let param = { limit: period };
|
||||
request_api.financialMetrics(code, param).then((res) => {
|
||||
this.financialMetricsList = res.data;
|
||||
this.getFinancialMetricsShowData();
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
getFinancialMetricsShowData() {
|
||||
let data = [];
|
||||
if (this.filterIndex == 0) {
|
||||
data = this.financialMetricsList;
|
||||
} else if (this.filterIndex == 1) {
|
||||
for (let item of this.financialMetricsList) {
|
||||
if (item.report_type.indexOf("年报") > -1) {
|
||||
data.push(item);
|
||||
}
|
||||
}
|
||||
} else if (this.filterIndex == 2) {
|
||||
for (let item of this.financialMetricsList) {
|
||||
if (item.report_type.indexOf("中报") > -1) {
|
||||
data.push(item);
|
||||
}
|
||||
}
|
||||
} else if (this.filterIndex == 3) {
|
||||
for (let item of this.financialMetricsList) {
|
||||
if (item.report_type.indexOf("一季报") > -1) {
|
||||
data.push(item);
|
||||
}
|
||||
}
|
||||
} else if (this.filterIndex == 4) {
|
||||
for (let item of this.financialMetricsList) {
|
||||
if (item.report_type.indexOf("三季报") > -1) {
|
||||
data.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.showDataList = data;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/cwDetails/cwDetails.vue:272", this.showDataList);
|
||||
},
|
||||
/**
|
||||
* 获取资产负债表数据
|
||||
*/
|
||||
getFinancialBalanceSheetData() {
|
||||
let code = this.stockCode;
|
||||
let period = this.periodList[this.periodIndex].period;
|
||||
let param = { limit: period };
|
||||
request_api.financialBalanceSheet(code, param).then((res) => {
|
||||
this.financialBalanceList = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取现金流量表数据
|
||||
*/
|
||||
getCashFlowSheetData() {
|
||||
let code = this.stockCode;
|
||||
let period = this.periodList[this.periodIndex].period;
|
||||
let param = { limit: period };
|
||||
request_api.cashflowSheet(code, param).then((res) => {
|
||||
this.cashFlowList = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取利润表数据
|
||||
*/
|
||||
getIncomeStatementSheetData() {
|
||||
let code = this.stockCode;
|
||||
let period = this.periodList[this.periodIndex].period;
|
||||
let param = { limit: period };
|
||||
request_api.incomeStatementSheet(code, param).then((res) => {
|
||||
this.incomeStatementList = res.data;
|
||||
}).catch((error) => {
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
if (!Array) {
|
||||
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
|
||||
_easycom_navBar2();
|
||||
}
|
||||
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
|
||||
if (!Math) {
|
||||
_easycom_navBar();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.p({
|
||||
leftText: "平安银行(000001)",
|
||||
hideNavBg: true
|
||||
}),
|
||||
b: common_assets._imports_0,
|
||||
c: common_vendor.f($data.tabList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: index,
|
||||
c: "tab-" + index,
|
||||
d: index == $data.tabList.length - 1 ? "0" : "40rpx",
|
||||
e: $data.activeIndex == index ? "#2B2B2B" : "#999999",
|
||||
f: $data.activeIndex == index ? "28rpx" : "26rpx",
|
||||
g: $data.activeIndex == index ? "1rpx solid #F2C369" : "none",
|
||||
h: $data.activeIndex == index ? "bold" : "500",
|
||||
i: common_vendor.o(($event) => $options.clickTabItem($event, index), index)
|
||||
};
|
||||
}),
|
||||
d: $data.topScrollLeft,
|
||||
e: common_vendor.f($data.filterList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: common_vendor.n("item flexCenter " + ($data.filterIndex == index ? "select" : "")),
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => $options.clickFilterItem($event, index), index)
|
||||
};
|
||||
}),
|
||||
f: $data.secondScrollLeft,
|
||||
g: common_vendor.t($data.periodList[$data.periodIndex].title),
|
||||
h: common_assets._imports_4$10,
|
||||
i: common_vendor.o(($event) => $options.clickSelectPeriod($event)),
|
||||
j: common_vendor.s("top:" + $data.contentTop + "px;"),
|
||||
k: common_vendor.f($data.leftList[$data.activeIndex], (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: index,
|
||||
c: index % 2 == 0 ? "#fff" : "#FAFAFC"
|
||||
};
|
||||
}),
|
||||
l: common_vendor.f($data.showDataList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.report_type),
|
||||
b: common_vendor.f($data.leftList[$data.activeIndex], (litem, lindex, i1) => {
|
||||
return common_vendor.e($data.activeIndex == 0 ? common_vendor.e({
|
||||
a: lindex == 0
|
||||
}, lindex == 0 ? {
|
||||
b: common_vendor.t($data.showDataList[index].profitability.roe ? $data.showDataList[index].profitability.roe.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
c: lindex == 1
|
||||
}, lindex == 1 ? {
|
||||
d: common_vendor.t($data.showDataList[index].profitability.roe_deducted ? $data.showDataList[index].profitability.roe_deducted.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
e: lindex == 2
|
||||
}, lindex == 2 ? {
|
||||
f: common_vendor.t($data.showDataList[index].profitability.roe_weighted ? $data.showDataList[index].profitability.roe_weighted.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
g: lindex == 3
|
||||
}, lindex == 3 ? {
|
||||
h: common_vendor.t($data.showDataList[index].profitability.roa ? $data.showDataList[index].profitability.roa.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
i: lindex == 4
|
||||
}, lindex == 4 ? {
|
||||
j: common_vendor.t($data.showDataList[index].profitability.gross_margin ? $data.showDataList[index].profitability.gross_margin.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
k: lindex == 5
|
||||
}, lindex == 5 ? {
|
||||
l: common_vendor.t($data.showDataList[index].profitability.net_profit_margin ? $data.showDataList[index].profitability.net_profit_margin.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
m: lindex == 6
|
||||
}, lindex == 6 ? {
|
||||
n: common_vendor.t($data.showDataList[index].profitability.operating_profit_margin ? $data.showDataList[index].profitability.operating_profit_margin.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
o: lindex == 7
|
||||
}, lindex == 7 ? {
|
||||
p: common_vendor.t($data.showDataList[index].profitability.cost_profit_ratio ? $data.showDataList[index].profitability.cost_profit_ratio.toFixed(2) : "-")
|
||||
} : {}, {
|
||||
q: lindex == 8
|
||||
}, lindex == 8 ? {
|
||||
r: common_vendor.t($data.showDataList[index].profitability.ebit ? $data.showDataList[index].profitability.ebit.toFixed(2) : "-")
|
||||
} : {}) : {}, {
|
||||
s: lindex,
|
||||
t: lindex % 2 == 0 ? "#fff" : "#FAFAFC"
|
||||
});
|
||||
}),
|
||||
c: index
|
||||
};
|
||||
}),
|
||||
m: $data.activeIndex == 0,
|
||||
n: common_vendor.s("top:" + $data.otherTop + "px;"),
|
||||
o: $data.periodShow
|
||||
}, $data.periodShow ? {
|
||||
p: common_vendor.f($data.periodList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.title),
|
||||
b: index,
|
||||
c: common_vendor.o(($event) => $options.clickPeriodItem(index), index)
|
||||
};
|
||||
}),
|
||||
q: common_vendor.s("top:" + $data.periodTop + "px")
|
||||
} : {});
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
wx.createPage(MiniProgramPage);
|
||||
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.js.map
|
||||
6
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.json
vendored
Normal file
6
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"navigationBarTitleText": "",
|
||||
"usingComponents": {
|
||||
"nav-bar": "../../../components/navBar/navBar"
|
||||
}
|
||||
}
|
||||
1
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.wxml
vendored
Normal file
1
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<view><nav-bar wx:if="{{a}}" u-i="9030b988-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="stockDetailsC fixed" style="{{j}}"><view style="margin:0 20rpx;height:99rpx"><scroll-view id="topCategory" scroll-x style="white-space:nowrap" scroll-with-animation scroll-left="{{d}}" show-scrollbar="false"><view style="display:inline-block"><view wx:for="{{c}}" wx:for-item="item" wx:key="b" id="{{item.c}}" style="{{'display:inline-block;text-align:center;line-height:98rpx' + ';' + ('margin-right:' + item.d + ';' + ('color:' + item.e) + ';' + ('font-size:' + item.f) + ';' + ('border-bottom:' + item.g) + ';' + ('font-weight:' + item.h))}}" bindtap="{{item.i}}">{{item.a}}</view></view></scroll-view></view><view style="height:1rpx;background-color:#E7E7E7;margin:0 20rpx"></view><view class="flex" style="margin:20rpx 20rpx 0"><scroll-view id="filterList" class="filterList" scroll-x scroll-left="{{f}}"><view wx:for="{{e}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></scroll-view><view class="flexCenter" style="color:#F2C369;font-size:22rpx;font-weight:500;border:1rpx solid #F2C369;border-radius:5rpx;padding:0 10rpx;height:43rpx" bindtap="{{i}}"><text>{{g}}</text><image style="width:11rpx;height:6rpx;margin-left:10rpx" src="{{h}}" mode="widthFix"></image></view></view></view><scroll-view scroll-y class="stockDetailsC fixed" style="{{n}}"><view style="display:flex;color:#666666;font-size:20rpx;font-weight:500;margin:0 20rpx"><view><view style="height:60rpx;background-color:#FAFAFC"></view><view wx:for="{{k}}" wx:for-item="item" wx:key="b" style="{{'line-height:60rpx;padding-right:20rpx' + ';' + ('background-color:' + item.c)}}">{{item.a}}</view></view><view style="flex:1;white-space:nowrap;overflow:scroll;display:flex"><view wx:for="{{l}}" wx:for-item="item" wx:key="c" style="font-size:18rpx;text-align:center"><view style="padding:0 10rpx;line-height:60rpx;background-color:#FAFAFC">{{item.a}}</view><view wx:for="{{item.b}}" wx:for-item="litem" wx:key="s" style="{{'line-height:60rpx' + ';' + ('background-color:' + litem.t)}}"><block wx:if="{{m}}"><block wx:if="{{litem.a}}">{{litem.b}}</block><block wx:if="{{litem.c}}">{{litem.d}}</block><block wx:if="{{litem.e}}">{{litem.f}}</block><block wx:if="{{litem.g}}">{{litem.h}}</block><block wx:if="{{litem.i}}">{{litem.j}}</block><block wx:if="{{litem.k}}">{{litem.l}}</block><block wx:if="{{litem.m}}">{{litem.n}}</block><block wx:if="{{litem.o}}">{{litem.p}}</block><block wx:if="{{litem.q}}">{{litem.r}}</block></block></view></view></view></view></scroll-view><view wx:if="{{o}}" class="periodList fixed" style="{{q}}"><view wx:for="{{p}}" wx:for-item="item" wx:key="b" class="item" bindtap="{{item.c}}">{{item.a}}</view></view></view>
|
||||
85
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.wxss
vendored
Normal file
85
unpackage/dist/dev/mp-weixin/pagesStock/stockCenterDetails/cwDetails/cwDetails.wxss
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
page {
|
||||
background-color: #070707;
|
||||
}
|
||||
.topBg {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.stockDetailsC {
|
||||
left: 25rpx;
|
||||
width: calc(100vw - 50rpx);
|
||||
background-color: white;
|
||||
border-radius: 10rpx 10rpx 0 0;
|
||||
overflow: hidden;
|
||||
bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom));
|
||||
}
|
||||
.bottomC {
|
||||
background-color: black;
|
||||
padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom));
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.bottomC .inputC {
|
||||
background-color: #424143;
|
||||
margin-right: 20rpx;
|
||||
padding: 0 33rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 35rpx;
|
||||
}
|
||||
.bottomC .inputC input {
|
||||
height: 100%;
|
||||
font-size: 26rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
.bottomC .contrastShareC .item {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #FEFAF6;
|
||||
text-align: center;
|
||||
}
|
||||
.bottomC .contrastShareC .item .icon {
|
||||
margin: 0 30rpx;
|
||||
width: auto;
|
||||
height: 26rpx;
|
||||
}
|
||||
.filterList {
|
||||
margin-right: 20rpx;
|
||||
white-space: nowrap;
|
||||
width: calc(100% - 150rpx);
|
||||
}
|
||||
.filterList .item {
|
||||
display: inline-block;
|
||||
margin-right: 28rpx;
|
||||
background-color: #F6F6F6;
|
||||
padding: 0 10rpx;
|
||||
min-width: 110rpx;
|
||||
line-height: 45rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #939393;
|
||||
text-align: center;
|
||||
}
|
||||
.filterList .item.select {
|
||||
background-color: #F2C369;
|
||||
font-weight: bold;
|
||||
color: #070707;
|
||||
}
|
||||
.periodList {
|
||||
right: 25rpx;
|
||||
margin: 0 25rpx;
|
||||
width: 130rpx;
|
||||
}
|
||||
.periodList .item {
|
||||
line-height: 40rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
.periodList .item.select {
|
||||
color: #F2C369;
|
||||
}
|
||||
@@ -775,7 +775,7 @@ const _sfc_main = {
|
||||
if (this.selectSearchStockInfo) {
|
||||
code = this.selectSearchStockInfo.stock_code;
|
||||
}
|
||||
let param = { limit: 8 };
|
||||
let param = { limit: 16 };
|
||||
request_api.financialMetrics(code, param).then((res) => {
|
||||
this.financialMetricsList = res.data;
|
||||
}).catch((error) => {
|
||||
|
||||
@@ -161,7 +161,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
a: index
|
||||
};
|
||||
}),
|
||||
k: common_assets._imports_4$12,
|
||||
k: common_assets._imports_4$11,
|
||||
l: common_assets._imports_5$4,
|
||||
m: common_assets._imports_5$4,
|
||||
n: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
|
||||
Reference in New Issue
Block a user