-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/views/largeScreen/components/leftPage.vue b/src/views/largeScreen/components/leftPage.vue
index 683c9a3..52e271f 100644
--- a/src/views/largeScreen/components/leftPage.vue
+++ b/src/views/largeScreen/components/leftPage.vue
@@ -1,56 +1,301 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -58,13 +303,23 @@ onMounted(() => {
.leftPage {
width: 100%;
height: 100%;
- .kpi_box{
+
+ .kpi_box {
margin-bottom: 10px;
}
- .contract_box{
- height: 35vh;
+
+ .contract_box {
+ height: 33vh;
+ display: flex;
+ flex-direction: column; // 按钮区和图表区垂直排列
}
- .kpi_box,.contract_box {
+
+ .chart-container {
+ height: 28vh;
+ }
+
+ .kpi_box,
+ .contract_box {
padding: 10px;
box-sizing: border-box;
border: 1px solid rgba(29, 214, 255, 0.3);
diff --git a/src/views/largeScreen/components/optionList.ts b/src/views/largeScreen/components/optionList.ts
index 822fd94..2a6572f 100644
--- a/src/views/largeScreen/components/optionList.ts
+++ b/src/views/largeScreen/components/optionList.ts
@@ -1,3 +1,4 @@
+import { to } from 'await-to-js';
import * as echarts from 'echarts/core';
import { text } from 'stream/consumers';
// import { PictorialBarChart } from 'echarts/charts'
@@ -578,10 +579,10 @@ export const getDishesOption = (data?: any) => {
// 菜品库存图
export const getInventoryOption = () => {
const res = {
- data: [2800, 300, 3900, 3000, 2450, 2670, 3320],
- name: ['麻辣牛肉', '水煮肉片', '酸菜鱼', '辣子鸡丁', '烧白', '冬瓜排骨汤', '清炒油麦菜'],
- ratio: [4000, 4000, 4000, 4000, 4000, 4000, 4000]
- },
+ data: [2800, 300, 3900, 3000, 2450, 2670, 3320],
+ name: ['麻辣牛肉', '水煮肉片', '酸菜鱼', '辣子鸡丁', '烧白', '冬瓜排骨汤', '清炒油麦菜'],
+ ratio: [4000, 4000, 4000, 4000, 4000, 4000, 4000]
+ },
dataIndex = 1;
const option = {
xAxis: {
@@ -697,18 +698,33 @@ export const getBarOptions = (data: any) => {
const option = {
backgroundColor: '',
grid: {
- left: '8%',
- top: '4%',
+ left: '9%',
+ top: '10%', // 顶部留一点空间给 legend
bottom: '8%',
right: '2%'
},
+ legend: {
+ data: ['现金流入', '现金流出'], // 与 series.name 对应
+ top: '0%',
+ textStyle: { color: '#fff', fontSize: 12 }
+ },
tooltip: {
show: true,
backgroundColor: '',
trigger: 'axis',
- formatter: '{b0}:{c0}万元',
+ // formatter: '{b0}:{c0}万元',
+ formatter: (params: any) => {
+ // params 是数组,对应每条柱子
+ return params
+ .map((p: any) => `${p.seriesName}:${Number(p.value).toFixed(2)} 万元`)
+
+ .join('
');
+ },
textStyle: {
color: '#fff'
+ },
+ axisPointer: {
+ type: 'shadow' // 默认为直线,可选为:'line' | 'shadow',
}
// borderColor: 'rgba(252, 217, 18, 1)'
},
@@ -743,8 +759,11 @@ export const getBarOptions = (data: any) => {
{
axisLabel: {
formatter: function (value) {
- value = value + '万';
- return value;
+ if (value >= 1000) {
+ return value / 1000 + '千万';
+ } else {
+ return value + '万';
+ }
},
color: 'rgba(255, 255, 255, 0.8)'
},
@@ -779,6 +798,7 @@ export const getBarOptions = (data: any) => {
// ],
series: [
{
+ name: '现金流入',
type: 'bar',
data: data.value[0],
// stack: '合并',
@@ -809,7 +829,9 @@ export const getBarOptions = (data: any) => {
},
label: {
show: false,
- formatter: '{c}',
+ formatter: function (params) {
+ return Number(params.value).toFixed(2);
+ },
position: 'top',
color: '#fff',
fontSize: 10
@@ -817,6 +839,7 @@ export const getBarOptions = (data: any) => {
}
},
{
+ name: '现金流出',
type: 'bar',
data: data.value[1],
// stack: '合并',
@@ -846,12 +869,13 @@ export const getBarOptions = (data: any) => {
)
},
label: {
- show: false,
- formatter: '{c}',
+ show: true,
+ formatter: function (params) {
+ return Number(params.value).toFixed(2);
+ },
position: 'top',
color: '#fff',
fontSize: 10
- // padding: 5
}
}
]
@@ -862,7 +886,7 @@ export const getBarOptions = (data: any) => {
// 收支合同分析
export const getBarOptions2 = (data: any) => {
const option = {
- color:['#FF932A', '#678FE6', '#1DD6FF', '#00E396'],
+ color: ['#FF932A', '#678FE6', '#1DD6FF', '#00E396'],
title: {
text: '数量(个)',
subtext: '16',
@@ -872,14 +896,15 @@ export const getBarOptions2 = (data: any) => {
color: '#9DADB7',
fontSize: 16
},
- subtextStyle:{
+ subtextStyle: {
color: '#707070',
fontSize: 32,
fontWeight: 'bold'
}
},
tooltip: {
- trigger: 'item'
+ trigger: 'item',
+ show: true
},
legend: {
top: '5%',
@@ -907,13 +932,13 @@ export const getBarOptions2 = (data: any) => {
show: false
},
data: [
- { value: 3, name: '100万一下' },
+ { value: 3, name: '100万以下' },
{ value: 4, name: '100-500万' },
{ value: 5, name: '500-1000万' },
- { value: 4, name: '1000万以上' },
+ { value: 4, name: '1000万以上' }
]
}
]
};
return option;
-}
\ No newline at end of file
+};
diff --git a/src/views/largeScreen/components/rightPage.vue b/src/views/largeScreen/components/rightPage.vue
index bcde746..f9e9bfd 100644
--- a/src/views/largeScreen/components/rightPage.vue
+++ b/src/views/largeScreen/components/rightPage.vue
@@ -11,17 +11,17 @@
现金流入
-
1000000
+
{{ bigDataObj.incomeCash }}
万元
现金流出
-
1000000
+
{{ bigDataObj.expensesCash }}
万元
净现金流
-
1000000
+
{{ bigDataObj.profitCash }}
万元
@@ -33,7 +33,7 @@
项目进度
100%