修改心电图首页
This commit is contained in:
parent
62aa487fb5
commit
436db3ff84
@ -118,4 +118,6 @@ export const ApplyformApi = {
|
||||
GetReglistCount: async () => {
|
||||
return await request.get({ url: `/applyregistration/applyform/getreglisrcount`})
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
@ -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`})
|
||||
},
|
||||
}
|
||||
|
@ -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'
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
@ -67,7 +67,7 @@ onMounted(async () => {
|
||||
left: 'center', // 水平居中
|
||||
top: 'center', // 垂直居中
|
||||
style: {
|
||||
text: '总人数数', // 要显示的文本
|
||||
text: '检查总数', // 要显示的文本
|
||||
textAlign: 'center',
|
||||
fill: '#666', // 文本颜色
|
||||
fontSize: 20
|
||||
|
@ -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]
|
||||
|
Loading…
Reference in New Issue
Block a user