feat(largeScreen): 大屏展示功能开发
- 新增 RevenueContractCard 组件,用于展示收入、支出等合同数据 - 实现 bottomboxconpoent 组件的通用化,支持自定义标题、数值等 - 在 centerPage 中集成 RevenueContractCard 组件,展示大屏数据 - 更新 rightPage 组件,添加实际数据请求和展示 - 优化 optionList 中的图表配置,提高图表可读性
This commit is contained in:
@ -45,38 +45,48 @@ import TitleComponent from './TitleComponent.vue';
|
||||
import EchartBox from '@/components/EchartBox/index.vue';
|
||||
import { getLineOption, getBarOptions } from './optionList';
|
||||
import ProgressComponent from './ProgressComponent.vue';
|
||||
import { monthMoney, monthCash } from '@/api/largeScreen';
|
||||
|
||||
const lineOption = ref();
|
||||
const barOption = ref();
|
||||
|
||||
const getCapitalData = (data?: any) => {
|
||||
const getCapitalData = async () => {
|
||||
const { data } = await monthMoney()
|
||||
const month = data.map((item: any) => item.month);
|
||||
const income = data.map((item: any) => item.incomeAmount);
|
||||
const expenses = data.map((item: any) => item.expensesAmount);
|
||||
const profit = data.map((item: any) => item.profitAmount);
|
||||
// const xData = data.map((item) => item.time);
|
||||
// const yData = data.map((item) => item.content);
|
||||
const lineData = {
|
||||
xLabel: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
||||
xLabel: month,
|
||||
line1: [
|
||||
[100, 200, 150, 300, 250, 350, 400, 350, 450, 500, 400, 550],
|
||||
[220, 250, 230, 280, 270, 300, 350, 320, 380, 400, 450, 500],
|
||||
[300, 350, 320, 380, 400, 450, 500, 480, 520, 550, 600, 650]
|
||||
income,
|
||||
expenses,
|
||||
profit
|
||||
]
|
||||
|
||||
// line2: ['20', '50', '12', '65', '30', '60']
|
||||
};
|
||||
lineOption.value = getLineOption(lineData);
|
||||
};
|
||||
const getTurnoverList = (data?: any) => {
|
||||
const getTurnoverList = async () => {
|
||||
// const xData = data.map((item) => item.time);
|
||||
// const yData = data.map((item) => {
|
||||
// // 先将content转换为数字,再调用toFixed
|
||||
// const num = Number(item.content);
|
||||
// return isNaN(num) ? 0 : Number(num.toFixed(2));
|
||||
// });
|
||||
|
||||
const { data } = await monthCash()
|
||||
const month = data.map((item: any) => item.month);
|
||||
const income = data.map((item: any) => item.incomeAmount);
|
||||
const expenses = data.map((item: any) => item.expensesAmount);
|
||||
// const profit = data.map((item: any) => item.profitAmount);
|
||||
const barData = {
|
||||
name: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
||||
name: month,
|
||||
value: [
|
||||
[2, 5, 15, 30, 25, 35, 40, 35, 45, 50, 40, 55],
|
||||
[4, 3, 6, 11, 15, 22, 30, 14, 48, 22, 25, 60]
|
||||
income,
|
||||
expenses
|
||||
]
|
||||
};
|
||||
barOption.value = getBarOptions(barData);
|
||||
|
Reference in New Issue
Block a user