After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 750 B After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 883 B |
Before Width: | Height: | Size: 883 B After Width: | Height: | Size: 883 B |
@ -1,9 +1,100 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="w-[71.57vh]"></div>
|
<div class="w-[71.58vh] h-[40.09vh] bgBottomMidBox mt-[2.68vh] relative">
|
||||||
|
<div class="flex">
|
||||||
|
<div class="w-[12.4vh] h-[5.07vh] ml-[1.85vh] flex justify-between items-center">
|
||||||
|
<img src="@/assets/svg/Monitor/Triangle.svg" />
|
||||||
|
<span class="text-[2.03vh] youshe leading-none">手术等级</span>
|
||||||
|
</div>
|
||||||
|
<div class="w-[12.4vh] h-[5.07vh] ml-[27vh] flex justify-between items-center">
|
||||||
|
<img src="@/assets/svg/Monitor/Triangle.svg" />
|
||||||
|
<span class="text-[2.03vh] youshe leading-none">ASA分级</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<section class="flex mt-[4.81vh]">
|
||||||
|
<div class="w-[35.79vh] h-[24.62vh] border-r border-dashed border-r-[rgba(255,255,255,0.26)]">
|
||||||
|
<div class="h-full" ref="echartsContainerLeft"></div>
|
||||||
|
</div>
|
||||||
|
<div class="w-[35.79vh] h-[24.62vh]">
|
||||||
|
<div class="h-full" ref="echartsContainerRight"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {};
|
import * as echarts from 'echarts';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
nowIndex: 0,
|
||||||
|
chartOptionsLeft: {
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: 'pie',
|
||||||
|
radius: ['32%', '50%'],
|
||||||
|
selectedMode: 'single',
|
||||||
|
data: [
|
||||||
|
{ name: '一级', value: 148, selected: true },
|
||||||
|
{ name: '二级', value: 87, selected: false },
|
||||||
|
{ name: '三级', value: 75, selected: false },
|
||||||
|
{ name: '四级', value: 40, selected: false },
|
||||||
|
],
|
||||||
|
label: {
|
||||||
|
formatter: '{b}{c}',
|
||||||
|
color: 'inherit',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
chartOptionsRight: {
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: 'pie',
|
||||||
|
radius: ['32%', '50%'],
|
||||||
|
selectedMode: 'single',
|
||||||
|
data: [
|
||||||
|
{ name: 'I级', value: 137, selected: true },
|
||||||
|
{ name: 'II级', value: 105, selected: false },
|
||||||
|
{ name: 'III级', value: 58, selected: false },
|
||||||
|
{ name: 'IV级', value: 37, selected: false },
|
||||||
|
{ name: 'V级', value: 13, selected: false },
|
||||||
|
],
|
||||||
|
label: {
|
||||||
|
formatter: '{b}{c}',
|
||||||
|
color: 'inherit',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
const echartsContainerLeft = this.$refs.echartsContainerLeft;
|
||||||
|
const chartLeft = echarts.init(echartsContainerLeft);
|
||||||
|
chartLeft.setOption(this.chartOptionsLeft);
|
||||||
|
const echartsContainerRight = this.$refs.echartsContainerRight;
|
||||||
|
const chartRight = echarts.init(echartsContainerRight);
|
||||||
|
chartRight.setOption(this.chartOptionsRight);
|
||||||
|
setInterval(() => {
|
||||||
|
let lastIndex = this.nowIndex++;
|
||||||
|
const leftData = this.chartOptionsLeft['series'][0]['data'];
|
||||||
|
leftData[lastIndex % 4]['selected'] = false;
|
||||||
|
leftData[this.nowIndex % 4]['selected'] = true;
|
||||||
|
chartLeft.setOption(this.chartOptionsLeft, true);
|
||||||
|
const rightData = this.chartOptionsRight['series'][0]['data'];
|
||||||
|
rightData[lastIndex % 5]['selected'] = false;
|
||||||
|
rightData[this.nowIndex % 5]['selected'] = true;
|
||||||
|
chartRight.setOption(this.chartOptionsRight, true);
|
||||||
|
}, 2000);
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style></style>
|
<style>
|
||||||
|
.bgBottomMidBox {
|
||||||
|
background-image: url('@/assets/svg/Monitor/BottomMid/Box.svg');
|
||||||
|
background-size: contain;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,9 +1,68 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="w-[41.75vh]"></div>
|
<div class="w-[41.75vh] h-[40.09vh] bgBottomRightBox mt-[2.68vh] relative">
|
||||||
|
<div class="w-[20.8vh] h-[5.07vh] ml-[1.85vh] flex justify-between items-center">
|
||||||
|
<img src="@/assets/svg/Monitor/Triangle.svg" />
|
||||||
|
<span class="text-[2.03vh] youshe leading-none">科室手术量统计(前五)</span>
|
||||||
|
</div>
|
||||||
|
<div class="w-[35.46vh] h-[28.05vh] ml-[2.4vh] my-[3.7vh] border border-orange-500" 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]">周</div>
|
||||||
|
<div class="h-[6.3vh] leading-[6.3vh] text-center text-[#C0D3E1]">月</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {};
|
import * as echarts from 'echarts';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
chartOptions: {
|
||||||
|
grid: {
|
||||||
|
left: '0%',
|
||||||
|
right: '0%',
|
||||||
|
top: '0%',
|
||||||
|
bottom: '10%',
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: 'category',
|
||||||
|
data: ['骨科', '心胸外科', '普通外科', '神经外科', '整形外科'],
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
type: 'value',
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
data: [180, 165, 155, 148, 137],
|
||||||
|
type: 'bar',
|
||||||
|
barWidth: '10%',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
const echartsContainer = this.$refs.echartsContainer;
|
||||||
|
const chartLeft = echarts.init(echartsContainer);
|
||||||
|
chartLeft.setOption(this.chartOptions);
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style></style>
|
<style>
|
||||||
|
.bgBottomRightBox {
|
||||||
|
background-image: url('@/assets/svg/Monitor/BottomRight/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>
|
||||||
|