You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.5 KiB

<template>
1 year ago
<div class="w-[51.29vh] h-[40.09vh] bgBottomLeftBox mt-[2.68vh] relative">
<div class="w-[12.4vh] h-[5.07vh] ml-[1.85vh] flex justify-between items-center">
<img src="@/assets/svg/Monitor/Triangle.svg" />
1 year ago
<span class="text-[2.03vh] youshe leading-none">手术量统计</span>
</div>
<div class="w-[42.96vh] h-[27.12vh] ml-[2.96vh] my-[3.7vh]" ref="echartsContainer"></div>
<div class="absolute right-0 top-1/4 w-[3.51vh] h-[12.6vh] bgWeekBox">
<div class="h-[6.3vh] leading-[6.3vh] text-center text-[#C0D3E1]" @click="toWeek"></div>
<div class="h-[6.3vh] leading-[6.3vh] text-center text-[#C0D3E1]" @click="toMonth"></div>
1 year ago
</div>
</div>
</template>
<script>
1 year ago
import * as echarts from 'echarts';
import { GetMonitorOperationNumber } from '@/api/monitor';
import dayjs from 'dayjs';
1 year ago
export default {
data() {
return {
chartOptions: {
grid: {
left: '0%',
right: '0%',
top: '0%',
bottom: '10%',
},
xAxis: {
type: 'category',
data: ['择期手术', '急诊手术', '日间手术', '门诊手术'],
},
yAxis: {
type: 'value',
},
series: [
{
data: [1, 1, 1, 1],
1 year ago
type: 'bar',
barWidth: '10%',
},
],
},
startDate: dayjs().format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD'),
1 year ago
};
},
methods: {
onGetPageData() {
GetMonitorOperationNumber({ startDate: this.startDate, endDate: this.endDate }).then(res => {
this.chartOptions['series'][0]['data'] = [res['data']['ElectiveCount'], res['data']['EmergencyCount'], res['data']['DaySurgeryCount'], res['data']['OutSurgeryCount']];
this.isLoading = false;
});
},
toWeek() {
// this.startDate =
},
toMonth() {},
},
1 year ago
mounted() {
this.onGetPageData();
1 year ago
const echartsContainer = this.$refs.echartsContainer;
const chartLeft = echarts.init(echartsContainer);
chartLeft.setOption(this.chartOptions);
},
};
</script>
1 year ago
<style>
.bgBottomLeftBox {
background-image: url('@/assets/svg/Monitor/BottomLeft/Box.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
.bgWeekBox {
background-image: url('@/assets/svg/Monitor/BottomLeft/WeekActive.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
.bgMonthBox {
background-image: url('@/assets/svg/Monitor/BottomLeft/MonthActive.svg');
}
</style>