taskid:282,remark:'commit'
This commit is contained in:
@@ -73,6 +73,14 @@
|
||||
defineOptions({
|
||||
energyType: 'all', // 与页面路由name一致缓存才可生效
|
||||
});
|
||||
// 父组件id
|
||||
const props = defineProps({
|
||||
tabId: {
|
||||
type: Number,
|
||||
},
|
||||
});
|
||||
console.log(props, 'xxy');
|
||||
|
||||
const orgId = ref('');
|
||||
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
|
||||
orgId.value = result;
|
||||
@@ -93,6 +101,9 @@
|
||||
columns.value[2].dataIndex = 'month';
|
||||
selectedTime.value = false;
|
||||
getMonthData();
|
||||
getBallQuery.value.yearAndMonth = 'month';
|
||||
getBallData();
|
||||
getMonthPillarData();
|
||||
};
|
||||
const changeToYear = () => {
|
||||
monthStyles.value = 'background: #f2f2f2';
|
||||
@@ -101,10 +112,40 @@
|
||||
columns.value[2].dataIndex = 'year';
|
||||
selectedTime.value = true;
|
||||
getYearData();
|
||||
getBallQuery.value.yearAndMonth = 'year';
|
||||
getBallData();
|
||||
getYearPillarData();
|
||||
};
|
||||
// echarts图
|
||||
const pillarChartRef = ref(null);
|
||||
let chartInstance: echarts.ECharts | null = null;
|
||||
const getPillarQuery = ref({
|
||||
orgId: orgId.value,
|
||||
type: props.tabId,
|
||||
year: selectYearValue.value.format('YYYY'),
|
||||
});
|
||||
const xAxisData = ref([]);
|
||||
const referenceValue = ref([]);
|
||||
const budget = ref([]);
|
||||
const actualUsage = ref([]);
|
||||
const getYearPillarData = () => {
|
||||
fetch(carbonPlanning.annualElectricityConsumption, getPillarQuery.value).then((res) => {
|
||||
xAxisData.value = res.data.year;
|
||||
referenceValue.value = res.data.referenceValue;
|
||||
budget.value = res.data.budget;
|
||||
actualUsage.value = res.data.actualUsage;
|
||||
drawPillarChart();
|
||||
});
|
||||
};
|
||||
const getMonthPillarData = () => {
|
||||
fetch(carbonPlanning.electricityUsageBackThen, getPillarQuery.value).then((res) => {
|
||||
xAxisData.value = res.data.year;
|
||||
referenceValue.value = res.data.referenceValue;
|
||||
budget.value = res.data.budget;
|
||||
actualUsage.value = res.data.actualUsage;
|
||||
drawPillarChart();
|
||||
});
|
||||
};
|
||||
const drawPillarChart = () => {
|
||||
chartInstance = echarts.init(pillarChartRef.value);
|
||||
const option = {
|
||||
@@ -125,7 +166,7 @@
|
||||
bottom: '10%',
|
||||
},
|
||||
legend: {
|
||||
data: ['昨日总人数', '今日实时人数', '昨日使用率'],
|
||||
data: ['实际用量', '预算量', '基准线'],
|
||||
top: '0',
|
||||
left: '0',
|
||||
textStyle: {
|
||||
@@ -134,7 +175,7 @@
|
||||
},
|
||||
},
|
||||
xAxis: {
|
||||
data: ['2020', '2021', '2022', '2023', '2024'],
|
||||
data: xAxisData.value,
|
||||
axisLine: {
|
||||
show: true, //隐藏X轴轴线
|
||||
lineStyle: {
|
||||
@@ -182,7 +223,7 @@
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '昨日总人数',
|
||||
name: '实际用量',
|
||||
type: 'bar',
|
||||
barWidth: 18,
|
||||
itemStyle: {
|
||||
@@ -190,10 +231,10 @@
|
||||
color: '#6395f9',
|
||||
},
|
||||
},
|
||||
data: [24, 45, 43, 35, 76],
|
||||
data: actualUsage.value,
|
||||
},
|
||||
{
|
||||
name: '今日实时人数',
|
||||
name: '预算量',
|
||||
type: 'bar',
|
||||
barWidth: 18,
|
||||
itemStyle: {
|
||||
@@ -201,10 +242,10 @@
|
||||
color: '#62daab',
|
||||
},
|
||||
},
|
||||
data: [133, 23, 114, 67, 89],
|
||||
data: budget.value,
|
||||
},
|
||||
{
|
||||
name: '昨日使用率',
|
||||
name: '基准线',
|
||||
type: 'line',
|
||||
smooth: true, // 开启平滑曲线
|
||||
symbol: 'none', //标记的图形为实心圆
|
||||
@@ -212,7 +253,7 @@
|
||||
color: '#f4664a',
|
||||
width: 2,
|
||||
},
|
||||
data: [4.2, 3.5, 2.9, 7.8, 2],
|
||||
data: referenceValue.value,
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -220,25 +261,65 @@
|
||||
chartInstance.setOption(option);
|
||||
};
|
||||
const ballChartRef = ref(null);
|
||||
const getBallQuery = ref({
|
||||
orgId: orgId.value,
|
||||
type: props.tabId,
|
||||
year: selectYearValue.value.format('YYYY'),
|
||||
yearAndMonth: 'year',
|
||||
});
|
||||
const ballValue = ref();
|
||||
const getBallData = () => {
|
||||
fetch(carbonPlanning.yearAndMonthAchievement, getBallQuery.value).then((res) => {
|
||||
ballValue.value = res.data;
|
||||
drawSQ();
|
||||
});
|
||||
};
|
||||
let ballChartInstance: echarts.ECharts | null = null;
|
||||
const drawSQ = () => {
|
||||
ballChartInstance = echarts.init(ballChartRef.value);
|
||||
let ballData = (Number(ballValue.value)/100).toFixed(2)
|
||||
const option = {
|
||||
series: [
|
||||
{
|
||||
type: 'liquidFill',
|
||||
data: [0.6, 0.5, 0.4, 0.3],
|
||||
radius: '80%',
|
||||
radius: '78.1%',
|
||||
center: ['50%', '50%'],
|
||||
color: ['#ecf3fe', '#c8dcfe', '#5594fa'],
|
||||
data: [ballData, ballData, ballData], // data个数代表波浪数
|
||||
amplitude: 5,
|
||||
// 图形样式
|
||||
itemStyle: {
|
||||
opacity: 1, // 波浪的透明度
|
||||
shadowBlur: 0, // 波浪的阴影范围
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: '#5594fa',
|
||||
insideColor: '#12786f',
|
||||
fontSize: 40,
|
||||
},
|
||||
formatter: (params) => {
|
||||
// return `${(params.value * 100).toFixed(2)}%`;
|
||||
return `${Number(params.value * 100).toFixed(2)}%`;
|
||||
},
|
||||
},
|
||||
|
||||
outline: {
|
||||
show: true,
|
||||
borderDistance: 5,
|
||||
itemStyle: {
|
||||
borderColor: 'rgba(68, 197, 253,1)',
|
||||
borderWidth: 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
ballChartInstance = echarts.init(ballChartRef.value);
|
||||
ballChartInstance.setOption(option);
|
||||
};
|
||||
setTimeout(() => {
|
||||
drawPillarChart();
|
||||
drawSQ();
|
||||
}, 500);
|
||||
// 新增节点
|
||||
const visible = ref(false);
|
||||
const addNode = () => {
|
||||
@@ -293,7 +374,7 @@
|
||||
// 获取年数据
|
||||
const yearQueryParams = ref({
|
||||
orgId: orgId.value,
|
||||
type: 1,
|
||||
type: props.tabId,
|
||||
year: selectYearValue.value.format('YYYY'),
|
||||
});
|
||||
const changeYear = () => {
|
||||
@@ -308,8 +389,8 @@
|
||||
// 获取月数据
|
||||
const monthQueryParams = ref({
|
||||
orgId: orgId.value,
|
||||
type: 1,
|
||||
yearMonth: selectMonthValue.value,
|
||||
type: props.tabId,
|
||||
yearMonth: selectYearValue.value.format('YYYY'),
|
||||
});
|
||||
const changeMonth = () => {
|
||||
monthQueryParams.value.yearMonth = selectMonthValue.value;
|
||||
@@ -322,6 +403,8 @@
|
||||
};
|
||||
defineExpose({
|
||||
getYearData,
|
||||
getBallData,
|
||||
getYearPillarData,
|
||||
});
|
||||
const parentId = ref();
|
||||
const detailData = (record) => {
|
||||
|
Reference in New Issue
Block a user