style: 运营监控

main
@0Melon0 1 year ago
parent bf1584f43d
commit 0b58681349

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="136.002197265625" height="106" viewBox="0 0 136.002197265625 106"><defs><linearGradient x1="0.5" y1="-3.0616171314629196e-17" x2="0.5" y2="1" id="master_svg0_185_29425"><stop offset="0%" stop-color="#006DAB" stop-opacity="0.30000001192092896"/><stop offset="100%" stop-color="#00669F" stop-opacity="1"/></linearGradient></defs><g><path d="" fill="#2D126F" fill-opacity="0"/><path d="M0,0L135.856,0L136.002,100.633L127.002,106L8.0022,106L0.00219727,100.633L0,1L0,0ZM134.858,1L135.001,100.065L126.727,105L8.30656,105L1.00219,100.1L1.00002,1L134.858,1Z" fill-rule="evenodd" fill="url(#master_svg0_185_29425)" fill-opacity="1"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="138" height="108" viewBox="0 0 138 108"><defs><linearGradient x1="0.5" y1="-3.0616171314629196e-17" x2="0.5" y2="1" id="master_svg0_123_00047"><stop offset="0%" stop-color="#006DAB" stop-opacity="0.30000001192092896"/><stop offset="100%" stop-color="#00669F" stop-opacity="1"/></linearGradient><linearGradient x1="-2.032271242567371e-14" y1="0.9999873042106628" x2="0.9840425848960876" y2="0.9999790191650391" id="master_svg1_117_02771"><stop offset="0%" stop-color="#006DAB" stop-opacity="0"/><stop offset="51.5625%" stop-color="#006DAB" stop-opacity="1"/><stop offset="100%" stop-color="#006DAB" stop-opacity="0"/></linearGradient></defs><g><g><g><path d="" fill="#2D126F" fill-opacity="0"/><path d="M1,1L136.856,1L137.002,101.633L128.002,107L9.0022,107L1.00219727,101.633L1,2L1,1ZM135.858,2L136.001,101.065L127.727,106L9.30656,106L2.0021899999999997,101.1L2.00002,2L135.858,2Z" fill-rule="evenodd" fill="url(#master_svg0_123_00047)" fill-opacity="1"/></g><g><g><g transform="matrix(0,1,-1,0,55,35)"><path d="M14.5,45L18.397109999999998,51.75L10.602886,51.75L14.5,45Z" fill="#006DAB" fill-opacity="1"/></g><g><rect x="5" y="49" width="128" height="1" rx="0" fill="url(#master_svg1_117_02771)" fill-opacity="1"/></g><g transform="matrix(0,1,1,0,83,-83)"><path d="M132.5,45L136.39711,51.75L128.602886,51.75L132.5,45Z" fill="#006DAB" fill-opacity="1"/></g></g></g></g><g><g><path d="M2,2L9,2L9,0L0,0L0,9L2,9L2,2Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(1,0,0,-1,0,214)"><path d="M10.30437,108L19,108L19,106L9.69563,106L0,112.50466L0,119.0759L2,119.0759L2,113.57128L6.05712,110.84942L10.30437,108Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,274,214)"><path d="M146.30437,108L155,108L155,106L145.69563,106L136,112.50466L136,119.0759L138,119.0759L138,113.57128L142.05712,110.84942L146.30437,108Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(-1,0,0,1,274,0)"><path d="M138,2L145,2L145,0L136,0L136,9L138,9L138,2Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 750 B

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="138" height="108" viewBox="0 0 138 108"><g><g><path d="M2,2L9,2L9,0L0,0L0,9L2,9L2,2Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(1,0,0,-1,0,214)"><path d="M10.30437,108L19,108L19,106L9.69563,106L0,112.50466L0,119.0759L2,119.0759L2,113.57128L6.05712,110.84942L10.30437,108Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,274,214)"><path d="M146.30437,108L155,108L155,106L145.69563,106L136,112.50466L136,119.0759L138,119.0759L138,113.57128L142.05712,110.84942L146.30437,108Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g><g transform="matrix(-1,0,0,1,274,0)"><path d="M138,2L145,2L145,0L136,0L136,9L138,9L138,2Z" fill-rule="evenodd" fill="#5D49AF" fill-opacity="1"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 883 B

Before

Width:  |  Height:  |  Size: 883 B

After

Width:  |  Height:  |  Size: 883 B

@ -1,11 +1,11 @@
<template>
<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/BottomLeft/Triangle.svg" />
<img src="@/assets/svg/Monitor/Triangle.svg" />
<span class="text-[2.03vh] youshe leading-none">手术量统计</span>
</div>
<div class="w-[42.96vh] h-[27.12vh] ml-[2.96vh] my-[3.7vh] border border-orange-500" ref="echartsContainer"></div>
<div class="absolute right-0 top-1/2 -translate-y-1/2 w-[3.51vh] h-[12.6vh] bgWeekBox">
<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>

@ -1,9 +1,100 @@
<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>
<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>
<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>
<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>
<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>
<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>

@ -66,8 +66,9 @@ export default {
}
}
}
.ItemBox {
background-image: url('@/assets/svg/Monitor/TopRight/ItemBox.svg'), url('@/assets/svg/Monitor/TopRight/ItemBoxBorder.svg');
background-image: url('@/assets/svg/Monitor/TopRight/ItemBox.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;

Loading…
Cancel
Save