修改心电图首页

This commit is contained in:
lxd 2024-12-17 17:54:52 +08:00
parent 62aa487fb5
commit 436db3ff84
6 changed files with 110 additions and 86 deletions

View File

@ -118,4 +118,6 @@ export const ApplyformApi = {
GetReglistCount: async () => {
return await request.get({ url: `/applyregistration/applyform/getreglisrcount`})
},
}

View File

@ -106,11 +106,20 @@ export const PatientexamlistApi = {
WholeDiagFlagCount: async () => {
return await request.get({ url: `/tblist/patientexamlist/WholeDiagFlagCount` })
},
// 获取心电已分析数据的男女是否申请危急值统计
EcgWholeDiagFlagCount: async () => {
return await request.get({ url: `/tblist/patientexamlist/EcgWholeDiagFlagCount` })
},
// 获取一周已检查全部的阴性阳性重大阳性统计
GetDateYYZDYXCount: async () => {
return await request.get({ url: `/tblist/patientexamlist/GetDateYYZDYXCount` })
},
//统计一周内的心电上级申请和危急值统计
GetEcgDateYYZDYXCount: async () => {
return await request.get({ url: `/tblist/patientexamlist/GetEcgDateYYZDYXCount` })
},
// 收藏功能
CollectAndCancellation: async (id: String, type: string) => {
return await request.get({ url: `/tblist/patientexamlist/CollectAndCancellation?id=${id}&&type=${type}` })
@ -123,5 +132,8 @@ export const PatientexamlistApi = {
Updatetblistwarning: async (id: String, type: string) => {
return await request.get({ url: `/tblist/patientexamlist/Updatetblistwarning?id=${id}&&type=${type}` })
},
// 获取心电首页统计
getECGStatistics: async () => {
return await request.get({ url: `/tblist/patientexamlist/getECGStatistics`})
},
}

View File

@ -21,14 +21,14 @@
<div class="left-stats">
<div class="my-statistics">
<ContentWrap class="my-quickstatistics">
<span class="my-span">累计已检查登记单概况</span>
<span class="my-span">累计已分析数据概况</span>
<div class="div-inline">
<div v-if="isDataReady" style="background-color: rgb(243, 247, 254)">
<YY
:mytotalcount="totalcount"
:myy="y"
:mysq="sq"
:mywjz="wjz"
:myyx="yx"
:myzdyx="zdyx"
style="height: 300px"
/>
</div>
@ -42,7 +42,7 @@
</div>
<div class="my-statistics">
<ContentWrap class="my-quickstatistics">
<span class="my-span">已检查登记单概况分布</span>
<span class="my-span">周期危急值概况分布</span>
<div v-if="iszxDataReady">
<zx
:yxArray="yxArray"
@ -58,7 +58,7 @@
<!-- 右侧竖直统计图区域 -->
<div class="right-stats">
<ContentWrap class="my-right-statistics" style="height: 753px">
<span class="my-span" style="margin-left: 10px">检查状态概况</span>
<span class="my-span" style="margin-left: 10px">数据状态概况</span>
<div
style="
display: flex;
@ -76,7 +76,7 @@
align-items: flex-start;
"
>
<span style="color: rgb(128, 128, 128)">登记单累计总数</span>
<span style="color: rgb(128, 128, 128)">累计总数</span>
<span class="my-span" style="margin-top: 8px">{{ regtotalcount }}</span>
</div>
</div>
@ -98,11 +98,11 @@
align-items: flex-start;
"
>
<span style="color: rgb(128, 128, 128)">登记单未分检</span>
<span class="my-span" style="margin-top: 8px">{{ wfj }}</span>
<span style="color: rgb(128, 128, 128)">已分析</span>
<span class="my-span" style="margin-top: 8px">{{ analyzedCount }}</span>
</div>
<span style="color: rgb(128, 128, 128); margin-left: auto; margin-top: 20px"
>({{ usePercentageCalculation(regtotalcount, wfj) }}%)</span
>({{ usePercentageCalculation(regtotalcount, analyzedCount) }}%)</span
>
</div>
<!-- -->
@ -123,11 +123,11 @@
align-items: flex-start;
"
>
<span style="color: rgb(128, 128, 128)">登记单未检查</span>
<span class="my-span" style="margin-top: 8px">{{ wjc }}</span>
<span style="color: rgb(128, 128, 128)">未分析</span>
<span class="my-span" style="margin-top: 8px">{{ unanalyzedCount }}</span>
</div>
<span style="color: rgb(128, 128, 128); margin-left: auto; margin-top: 20px"
>({{ usePercentageCalculation(regtotalcount, wjc) }}%)</span
>({{ usePercentageCalculation(regtotalcount, unanalyzedCount) }}%)</span
>
</div>
<!-- -->
@ -148,11 +148,11 @@
align-items: flex-start;
"
>
<span style="color: rgb(128, 128, 128)">登记单已检查</span>
<span class="my-span" style="margin-top: 8px">{{ yjc }}</span>
<span style="color: rgb(128, 128, 128)">阳性</span>
<span class="my-span" style="margin-top: 8px">{{ positiveCount }}</span>
</div>
<span style="color: rgb(128, 128, 128); margin-left: auto; margin-top: 20px"
>({{ usePercentageCalculation(regtotalcount, yjc) }}%)</span
>({{ usePercentageCalculation(regtotalcount, positiveCount) }}%)</span
>
</div>
<!-- -->
@ -173,11 +173,11 @@
align-items: flex-start;
"
>
<span style="color: rgb(128, 128, 128)">登记单已放弃</span>
<span class="my-span" style="margin-top: 8px">{{ yfq }}</span>
<span style="color: rgb(128, 128, 128)">危急值</span>
<span class="my-span" style="margin-top: 8px">{{ criticalCount }}</span>
</div>
<span style="color: rgb(128, 128, 128); margin-left: auto; margin-top: 20px"
>({{ usePercentageCalculation(regtotalcount, yfq) }}%)</span
>({{ usePercentageCalculation(regtotalcount, criticalCount) }}%)</span
>
</div>
</ContentWrap>
@ -235,29 +235,29 @@ let projects = reactive<Project[]>([])
const getProject = async () => {
const data = [
{
name: '登记单列表',
message: '/reservation/applyform'
name: '心电工作台',
message: '/diagnosis/patientexamlistECG'
},
{
name: '预约登记',
message: '/reservation/reservationInfo'
name: '阳性统计',
message: '/stat/positiveStatistics'
},
{
name: '病例管理',
message: '/reservation/illnessCase'
name: '工作量统计',
message: '/stat/ECGStat'
},
{
name: '超声工作台',
message: '/diagnosis/patientexamlistultrasonic'
name: '危急值统计',
message: '/stat/warningStatisticsReport'
},
{
name: '影像工作台',
message: '/diagnosis/patientexamlist'
},
{
name: '报告打印统计',
message: '/stat/reportPrintStatistics'
}
// {
// name: '',
// message: '/diagnosis/patientexamlist'
// },
// {
// name: '',
// message: '/stat/reportPrintStatistics'
// }
]
projects = Object.assign(projects, data)
}
@ -267,11 +267,15 @@ const totalcount = ref()
const zdyx = ref()
const F = ref()
const M = ref()
const wjz=ref()//
const sq=ref()//
const GetWholeDiagFlagCount = async () => {
const data = await PatientexamlistApi.WholeDiagFlagCount()
const data = await PatientexamlistApi.EcgWholeDiagFlagCount()
totalcount.value = data.totalcount //
wjz.value=data.wjz
sq.value=data.sq
y.value = data.y
yx.value = data.yx
yx.value = data.dictyx
zdyx.value = data.zdyx
F.value = data.f
M.value = data.m
@ -285,29 +289,28 @@ const yArray = ref(new Array(7).fill(0))
const zdyxArray = ref(new Array(7).fill(0))
const GetDateYYZDYXCount = async () => {
const data = await PatientexamlistApi.GetDateYYZDYXCount()
const data = await PatientexamlistApi.GetEcgDateYYZDYXCount()
for (let i = 0; i < data.length; i++) {
yxArray.value[i] = data[i].yx
yArray.value[i] = data[i].y
zdyxArray.value[i] = data[i].zdyx
yxArray.value[i] = data[i].sq
zdyxArray.value[i] = data[i].wjz
}
iszxDataReady.value = true
}
const regtotalcount = ref(0)
const wfj = ref(0)
const wjc = ref(0)
const yjc = ref(0)
const yfq = ref(0)
const analyzedCount = ref(0)
const unanalyzedCount = ref(0)
const positiveCount = ref(0)
const criticalCount = ref(0)
const GetReglistCount = async () => {
const data = await ApplyformApi.GetReglistCount()
regtotalcount.value = data.totalcount
wfj.value = data.wfj
wjc.value = data.wjc
yjc.value = data.yjc
yfq.value = data.yfq
const data = await PatientexamlistApi.getECGStatistics()
regtotalcount.value = data.totalCount
analyzedCount.value = data.analyzedCount
unanalyzedCount.value = data.unanalyzedCount
positiveCount.value = data.positiveCount
criticalCount.value = data.criticalCount
}
//
@ -345,10 +348,10 @@ const getAllApi = async () => {
//
function getImageUrl(name) {
const imageMap = {
登记单列表: '/static/登记单列表.jpg',
预约登记: '/static/预约登记.jpg',
病例管理: '/static/病例管理.jpg',
超声工作台: '/static/超声.jpg',
心电工作台: '/static/登记单列表.jpg',
阳性统计: '/static/预约登记.jpg',
工作量统计: '/static/病例管理.jpg',
危急值统计: '/static/超声.jpg',
影像工作台: '/static/影像.jpg',
报告打印统计: '/static/报告打印.jpg'
}
@ -357,10 +360,10 @@ function getImageUrl(name) {
//
function getbackground(name) {
const backgroundMap = {
登记单列表: 'background: rgb(220, 228, 245);',
预约登记: 'background: rgb(250, 239, 232);',
病例管理: 'background: rgb(235, 245, 244);',
超声工作台: 'background: rgb(247, 240, 218);',
心电工作台: 'background: rgb(220, 228, 245);',
阳性统计: 'background: rgb(250, 239, 232);',
工作量统计: 'background: rgb(235, 245, 244);',
危急值统计: 'background: rgb(247, 240, 218);',
影像工作台: 'background: rgb(250, 231, 235);',
报告打印统计: 'background: rgb(227, 228, 252);'
}
@ -370,10 +373,10 @@ function getbackground(name) {
//
function getarrowImageUrl(name) {
const imageMap = {
登记单列表: '/static/djjt.jpg',
预约登记: '/static/yydj.jpg',
心电工作台: '/static/djjt.jpg',
阳性统计: '/static/yydj.jpg',
病例管理: '/static/blgl.jpg',
超声工作台: '/static/cs.jpg',
危急值统计: '/static/cs.jpg',
影像工作台: '/static/yx.jpg',
报告打印统计: '/static/bg.jpg'
}

View File

@ -5,7 +5,7 @@
<script setup>
import { ref, onMounted, onUnmounted, nextTick } from 'vue'
import * as echarts from 'echarts'
import { number } from 'vue-types';
import { number, string } from 'vue-types';
// DOM
const projectSigningOverview = ref(null)
let projectSigningOverviewElement = null
@ -15,14 +15,19 @@ const props = defineProps({
mytotalcount: String,
myy:String,
myyx:String,
myzdyx:String
myzdyx:String,
mysq:String,
mywjz:String
});
//
const state = reactive({
totalcount: props.mytotalcount,
y:props.myy,
yx:props.myyx,
zdyx:props.myzdyx
zdyx:props.myzdyx,
wjz:props.mywjz,
sq:props.mysq
});
// ECharts线
@ -62,9 +67,9 @@ onMounted(async () => {
show: false
},
data: [
{ value: state.yx, name: '阴性', itemStyle: { color: 'rgb(0, 186, 173)' } },
{ value: state.y, name: '阳性', itemStyle: { color: 'rgb(255, 183, 74)' } },
{ value: state.zdyx, name: '重大阳性', itemStyle: { color: 'rgb(212, 48, 48)' } }
{ value: state.sq, name: '上级申请', itemStyle: { color: 'rgb(0, 186, 173)' } },
{ value: state.sq, name: '阳性', itemStyle: { color: 'rgb(204, 167, 0)' } },
{ value: state.wjz, name: '危急值', itemStyle: { color: 'rgb(212, 48, 48)' } }
]
}
],
@ -74,7 +79,7 @@ onMounted(async () => {
left: 'center', //
top: 'center', //
style: {
text: '检查数', //
text: '检查数', //
textAlign: 'center',
fill: '#666', //
fontSize: 20
@ -109,6 +114,8 @@ const d=()=>
yx.value=myyx
totalcount.value=mytotalcount
zdyx.value=myzdyx
wjz.value=mywjz
sq.value=mysq
}

View File

@ -67,7 +67,7 @@ onMounted(async () => {
left: 'center', //
top: 'center', //
style: {
text: '人数数', //
text: '检查总数', //
textAlign: 'center',
fill: '#666', //
fontSize: 20

View File

@ -32,7 +32,7 @@ onMounted(async () => {
trigger: 'axis'
},
legend: {
data: ['阴性', '阳性', '重大阳性'],
data: [ '危急值'],
top: '35%',
right: '1%',
orient: 'vertical',
@ -59,22 +59,22 @@ onMounted(async () => {
interval: 100
},
series: [
// {
// name: '',
// type: 'line',
// stack: 'yxTotal',
// data:state.yx ,//[120, 132, 101, 134, 90, 230, 210]
// itemStyle: { color: 'rgb(0, 185, 173)' }
// },
// {
// name: '',
// type: 'line',
// stack: 'yTotal',
// data: state.yx,//[220, 182, 191, 234, 290, 330, 310]
// itemStyle: { color: 'rgb(255, 183, 75)' }
// },
{
name: '阴性',
type: 'line',
stack: 'yxTotal',
data:state.yx ,//[120, 132, 101, 134, 90, 230, 210]
itemStyle: { color: 'rgb(0, 185, 173)' }
},
{
name: '阳性',
type: 'line',
stack: 'yTotal',
data: state.y,//[220, 182, 191, 234, 290, 330, 310]
itemStyle: { color: 'rgb(255, 183, 75)' }
},
{
name: '重大阳性',
name: '危急值',
type: 'line',
stack: 'zdyxTotal',
data: state.zdyx,//[150, 232, 201, 154, 190, 330, 410]