fix: 健康管理系统,统计页面功能开发。
This commit is contained in:
@@ -23,3 +23,19 @@ export function getHealthAnalysis(query) {
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getRecordAnalysis(query) {
|
||||
return request({
|
||||
url: '/health/analysis/recordAnalysis',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDoctorAnalysis(query) {
|
||||
return request({
|
||||
url: '/health/analysis/doctorAnalysis',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
<div class="title">查询条件</div>
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="人员姓名" prop="personId">
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员" clearable>
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable @change="handleQueryPersonChange">
|
||||
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="健康档案" prop="healthRecordId">
|
||||
<el-select v-model="queryParams.healthRecordId" placeholder="请选择健康档案" clearable>
|
||||
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="医院名称" prop="hospitalName">
|
||||
<el-input v-model="queryParams.hospitalName" placeholder="请输入医院名称" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
@@ -390,6 +395,13 @@ const handlePersonChange = (personId) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const handleQueryPersonChange = (personId) => {
|
||||
queryHealthRecordParams.personId = personId
|
||||
queryParams.value.healthRecordId = null
|
||||
listHealthRecord(queryHealthRecordParams).then((response) => {
|
||||
healthRecordList.value = response.rows
|
||||
})
|
||||
}
|
||||
|
||||
const handleCountChange = (count) => {
|
||||
if (formDetail.value.price != null) {
|
||||
@@ -726,6 +738,11 @@ function getList() {
|
||||
function getPersonList() {
|
||||
listPerson(queryPersonParams.value).then((response) => {
|
||||
personList.value = response.rows
|
||||
if (response.rows.length > 0) {
|
||||
listHealthRecord(queryHealthRecordParams).then((res) => {
|
||||
healthRecordList.value = res.rows
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">就医次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCategoryCount }}</span
|
||||
<span class="num">{{ doctor.doctorCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,7 +75,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">就医费用</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCount }}</span
|
||||
<span class="num">{{ doctor.doctorCost }}</span
|
||||
><span class="unit">元 </span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -88,8 +88,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">常去医院</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.qingre }}</span
|
||||
><span class="unit">XXX</span>
|
||||
<span class="num" style="font-size: 16px">{{ doctor.commonHospital }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -100,25 +99,23 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">常去科室</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.zhike }}</span
|
||||
><span class="unit">XXX</span>
|
||||
<span style="font-size: 18px" class="num">{{ doctor.commonDepartments }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">常看大夫</div>
|
||||
<div>
|
||||
<span class="num" style="font-size: 18px">{{ doctor.commonDoctor }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-con" style="height: 115px">
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">常看大夫</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.wuhua }}</span
|
||||
><span class="unit">XXX</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
@@ -126,7 +123,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">门诊次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCategoryCount }}</span
|
||||
<span class="num">{{ doctor.clinicCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -138,7 +135,19 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">急诊次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCount }}</span
|
||||
<span class="num">{{ doctor.emergencyCount }}</span
|
||||
><span class="unit">次 </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">输液次数</div>
|
||||
<div>
|
||||
<span class="num">{{ doctor.infusionCount }}</span
|
||||
><span class="unit">次 </span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,7 +160,19 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">住院次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.qingre }}</span
|
||||
<span class="num">{{ doctor.hospitalizedCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">线上问诊次数</div>
|
||||
<div>
|
||||
<span class="num">{{ doctor.onlineCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -161,46 +182,62 @@
|
||||
<div class="title">就医统计</div>
|
||||
<div class="operate-btn-con">
|
||||
<el-radio-group v-model="radioVal" @change="handleRadioChange">
|
||||
<el-radio-button label="就医明细统计" />
|
||||
<el-radio-button label="就诊医院统计" />
|
||||
<el-radio-button label="就诊科室统计" />
|
||||
<el-radio-button label="就诊大夫统计" />
|
||||
<el-radio-button label="就医费用柱状图" />
|
||||
<el-radio-button label="就医费用折线图" />
|
||||
<el-radio-button label="就诊医院统计" />
|
||||
<el-radio-button label="就诊大夫统计" />
|
||||
<el-radio-button label="就医明细统计" />
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-con">
|
||||
<div v-show="radioVal === '就医费用柱状图'" class="chart" id="chartBar" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<div v-show="radioVal === '就医费用折线图'" class="chart" id="chartLine" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<el-table v-show="radioVal === '就诊医院统计'" v-loading="loading" :data="mar.marMapList" height="calc(100% - 245px)">
|
||||
<el-table v-show="radioVal === '就诊医院统计'" v-loading="loading" :data="doctor.hospitalStaticList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医院名称" align="center" prop="time" />
|
||||
<el-table-column label="就诊次数" align="center" prop="value" />
|
||||
<el-table-column label="医院名称" align="center" prop="hospitalName" />
|
||||
<el-table-column label="就诊次数" align="center" prop="count" />
|
||||
</el-table>
|
||||
<el-table v-show="radioVal === '就诊大夫统计'" v-loading="loading" :data="mar.marMapList" height="calc(100% - 245px)">
|
||||
<el-table v-show="radioVal === '就诊科室统计'" v-loading="loading" :data="doctor.departStaticList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="就诊大夫" align="center" prop="time" />
|
||||
<el-table-column label="所在医院" align="center" prop="value" />
|
||||
<el-table-column label="就诊次数" align="center" prop="dosage" />
|
||||
<el-table-column label="就诊科室" align="center" prop="departments" />
|
||||
<el-table-column label="就诊次数" align="center" prop="count" />
|
||||
</el-table>
|
||||
<el-table v-show="radioVal === '就医明细统计'" v-loading="loading" :data="mar.marMapList" height="calc(100% - 245px)">
|
||||
<el-table v-show="radioVal === '就诊大夫统计'" v-loading="loading" :data="doctor.doctorStaticList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="药品名称" align="center" prop="time" />
|
||||
<el-table-column label="用药次数" align="center" prop="value" />
|
||||
<el-table-column label="用药总量" align="center" prop="dosage" />
|
||||
<el-table-column label="单位" align="center" prop="unit" />
|
||||
<el-table-column label="就诊大夫" align="center" prop="doctor" />
|
||||
<el-table-column label="所在医院" align="center" prop="hospitalName" />
|
||||
<el-table-column label="就诊次数" align="center" prop="count" />
|
||||
</el-table>
|
||||
<el-table v-show="radioVal === '就医明细统计'" v-loading="loading" :data="doctor.doctorTableList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="就诊医院" align="center" width="250" prop="hospitalName" />
|
||||
<el-table-column label="就医类型" align="center" width="150" prop="type">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="doctor_type" :value="scope.row.type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="就诊大夫" align="center" width="150" prop="doctor" />
|
||||
<el-table-column label="就诊时间" align="center" width="160" prop="visitingTime" />
|
||||
<el-table-column label="诊断结果" align="center" prop="diagnosis" />
|
||||
<el-table-column label="就诊费用(元)" align="center" width="150" prop="totalCost" />
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -212,14 +249,20 @@ import dayjs from 'dayjs'
|
||||
import * as echarts from 'echarts'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import yearPicker from '@/components/YearPicker/index.vue'
|
||||
import { getMarAnalysis } from '@/api/health/statisticAnalysis'
|
||||
import { getDoctorAnalysis } from '@/api/health/statisticAnalysis'
|
||||
import { listPerson, getPerson } from '@/api/health/person'
|
||||
import { listHealthRecord } from '@/api/health/healthRecord'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { deal_type, account_type, deal_category } = proxy.useDict('deal_type', 'account_type', 'deal_category')
|
||||
const personList = ref([])
|
||||
const healthRecordList = ref([])
|
||||
|
||||
const { doctor_type, cost_type, check_type, package_unit, nursing_type, mar_type } = proxy.useDict(
|
||||
'doctor_type',
|
||||
'cost_type',
|
||||
'check_type',
|
||||
'package_unit',
|
||||
'nursing_type',
|
||||
'mar_type'
|
||||
)
|
||||
const dateValue = ref({ startYear: 2000, endYear: new Date().getFullYear() })
|
||||
const showYearValue = ref({ startShowYear: '', endShowYear: '' })
|
||||
const updateStatisticYear = (startYear, endYear) => {
|
||||
@@ -234,7 +277,7 @@ const dates = [{ value: 1, label: '日' }]
|
||||
const accountsList = ref([])
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const radioVal = ref('用药次数柱状图')
|
||||
const radioVal = ref('就医明细统计')
|
||||
const dateValidate = (rules, value, callback) => {
|
||||
const dateType = rules.dateType || 'days'
|
||||
const num = rules.num || 31
|
||||
@@ -312,9 +355,9 @@ function getPersonList() {
|
||||
}
|
||||
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
const start = dayjs(end).add(-60, 'day')
|
||||
queryParams.value.time = [start, end]
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
// const start = dayjs(end).add(-60, 'day')
|
||||
// queryParams.value.time = [start, end]
|
||||
const handleTimeChange = (type) => {
|
||||
queryParams.value.time = null
|
||||
if (type === 1) {
|
||||
@@ -362,7 +405,7 @@ const calendarChange = (val) => {
|
||||
if (val[1]) firstChooseDate.value = ''
|
||||
}
|
||||
|
||||
const mar = ref({})
|
||||
const doctor = ref({})
|
||||
const chartData = ref({
|
||||
name: [],
|
||||
value1: []
|
||||
@@ -387,16 +430,16 @@ function getList() {
|
||||
id,
|
||||
recordId
|
||||
}
|
||||
getMarAnalysis(params).then((response) => {
|
||||
getDoctorAnalysis(params).then((response) => {
|
||||
loading.value = false
|
||||
mar.value = { ...response.data }
|
||||
mar.value.marList.map((item) => {
|
||||
doctor.value = { ...response.data }
|
||||
doctor.value.doctorCostList.map((item) => {
|
||||
return {
|
||||
name: item.time,
|
||||
value: item.value
|
||||
}
|
||||
})
|
||||
response.data.marList.map((item) => {
|
||||
response.data.doctorCostList.map((item) => {
|
||||
chartData.value.name.push(item.time)
|
||||
chartData.value.value1.push(item.value)
|
||||
})
|
||||
@@ -411,10 +454,10 @@ function handleQuery() {
|
||||
function resetQuery() {
|
||||
proxy.resetForm('queryRef')
|
||||
queryParams.value.id = null
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
const start = dayjs(end).add(-60, 'day')
|
||||
queryParams.value.time = [start, end]
|
||||
// const today = new Date()
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
// const start = dayjs(end).add(-60, 'day')
|
||||
// queryParams.value.time = [start, end]
|
||||
total.value = 0
|
||||
getPersonList()
|
||||
}
|
||||
@@ -440,7 +483,7 @@ const drawBar = (data) => {
|
||||
type: 'shadow'
|
||||
},
|
||||
formatter: function (params) {
|
||||
return params[0].name + '<br>' + '用药:' + params[0].value + '次'
|
||||
return params[0].name + '<br>' + '费用:' + params[0].value + '元'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
@@ -470,7 +513,7 @@ const drawBar = (data) => {
|
||||
type: 'value',
|
||||
// min: 1, // 设置 y 轴的最小值为 0
|
||||
// max: 16, // 设置 y 轴的最大值为 100
|
||||
interval: 1, //设置y轴刻度间隔
|
||||
// interval: 1, //设置y轴刻度间隔
|
||||
axisTick: {
|
||||
show: true // 默认为true,如果要隐藏,则改为 false
|
||||
},
|
||||
@@ -491,18 +534,7 @@ const drawBar = (data) => {
|
||||
itemStyle: {
|
||||
// 此处可以是一个固定颜色值,也可以是一个回调函数根据数据动态计算颜色
|
||||
color: function (params) {
|
||||
// 这里可以根据需要设置不同的颜色,比如根据数据值
|
||||
if (params.data < 4) {
|
||||
return '#37b328'
|
||||
} else if (params.data >= 4 && params.data < 8) {
|
||||
return '#ff00ff'
|
||||
} else if (params.data >= 8 && params.data < 12) {
|
||||
return '#ff0066'
|
||||
} else if (params.data >= 12 && params.data < 15) {
|
||||
return '#ff0000'
|
||||
} else if (params.data >= 15) {
|
||||
return '#990000' // 数据在50到99之间为蓝色
|
||||
}
|
||||
return '#2283cf' // 数据在50到99之间为蓝色
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -540,7 +572,7 @@ const drawLine = (data) => {
|
||||
type: 'shadow'
|
||||
},
|
||||
formatter: function (params) {
|
||||
return params[0].name + '<br>' + '用药:' + params[0].value + '次'
|
||||
return params[0].name + '<br>' + '费用:' + params[0].value + '元'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
@@ -559,8 +591,8 @@ const drawLine = (data) => {
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
// min: 1, // 设置 y 轴的最小值为 0
|
||||
// max: 16, // 设置 y 轴的最大值为 100
|
||||
interval: 1, //设置y轴刻度间隔
|
||||
// // max: 16, // 设置 y 轴的最大值为 100
|
||||
// interval: 1, //设置y轴刻度间隔
|
||||
axisTick: {
|
||||
show: true
|
||||
},
|
||||
@@ -582,18 +614,7 @@ const drawLine = (data) => {
|
||||
itemStyle: {
|
||||
// 此处可以是一个固定颜色值,也可以是一个回调函数根据数据动态计算颜色
|
||||
color: function (params) {
|
||||
// 这里可以根据需要设置不同的颜色,比如根据数据值
|
||||
if (params.data < 4) {
|
||||
return '#37b328'
|
||||
} else if (params.data >= 4 && params.data < 8) {
|
||||
return '#ff00ff'
|
||||
} else if (params.data >= 8 && params.data < 12) {
|
||||
return '#ff0066'
|
||||
} else if (params.data >= 12 && params.data < 15) {
|
||||
return '#ff0000'
|
||||
} else if (params.data >= 15) {
|
||||
return '#990000' // 数据在50到99之间为蓝色
|
||||
}
|
||||
return '#2283cf' // 数据在50到99之间为蓝色
|
||||
}
|
||||
},
|
||||
smooth: true,
|
||||
@@ -626,14 +647,14 @@ const drawLine = (data) => {
|
||||
myChart.setOption(option)
|
||||
}
|
||||
|
||||
const currentType = ref('用药次数柱状图')
|
||||
const currentType = ref('就医费用柱状图')
|
||||
const handleRadioChange = (type) => {
|
||||
currentType.value = type
|
||||
switch (type) {
|
||||
case '用药次数柱状图':
|
||||
case '就医费用柱状图':
|
||||
drawBar(chartData.value)
|
||||
break
|
||||
case '用药次数折线图':
|
||||
case '就医费用折线图':
|
||||
drawLine(chartData.value)
|
||||
break
|
||||
default:
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="item">
|
||||
<img src="./assets/ticketSum.png" alt="" />
|
||||
<div class="info-sum">
|
||||
<div class="title">档案总数</div>
|
||||
<div class="title">档案数量</div>
|
||||
<div class="num">{{ healthRecordCount }}<span>份</span></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -127,7 +127,7 @@
|
||||
<div class="item">
|
||||
<img src="./assets/one.png" alt="" />
|
||||
<div class="info-sum">
|
||||
<div class="title">档案份数</div>
|
||||
<div class="title">档案数量</div>
|
||||
<div class="num">{{ item.healthRecordCount }}<span>份</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="发生时间" align="center" prop="occurTime" width="160"> </el-table-column>
|
||||
<el-table-column label="康复时间" align="center" prop="rehabilitationTime" width="160"> </el-table-column>
|
||||
<el-table-column label="持续时间" align="center" prop="duration" width="160"> </el-table-column>
|
||||
<el-table-column label="康复周期" align="center" prop="duration" width="160"> </el-table-column>
|
||||
<el-table-column label="发生原因" align="center" width="120" prop="etiology">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="etiology" :value="scope.row.etiology" />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="健康档案" prop="recordId">
|
||||
<el-select v-model="queryParams.recordId" placeholder="请选择健康档案" @change="handleRecordChange">
|
||||
<el-select v-model="queryParams.recordId" placeholder="请选择健康档案" clearable @change="handleRecordChange">
|
||||
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -56,14 +56,26 @@
|
||||
</div>
|
||||
<div class="main-con" style="height: calc(100% - 1.45rem)">
|
||||
<div class="summary-con" style="height: 115px">
|
||||
<div class="right-con" v-show="mar.marCategoryCount > 0">
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">建档次数</div>
|
||||
<div class="title">档案数量</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCategoryCount }}</span
|
||||
<span class="num">{{ record.healthRecordCount }}</span
|
||||
><span class="unit">份</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">档案过程记录次数</div>
|
||||
<div>
|
||||
<span class="num">{{ record.processRecordCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,8 +87,9 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">平均康复周期</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCount }}</span
|
||||
><span class="unit">天 </span>
|
||||
<span class="num">{{ record.perDuration.split(',')[0] }}</span
|
||||
><span class="unit">天</span> <span class="num">{{ record.perDuration.split(',')[1] }}</span
|
||||
><span class="unit">小时</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -85,10 +98,10 @@
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">就医次数</div>
|
||||
<div class="title">就医医院</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.marCount }}</span
|
||||
><span class="unit">次 </span>
|
||||
<span class="num">{{ record.hospitalCount }}</span
|
||||
><span class="unit">个</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -98,10 +111,10 @@
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">就医费用</div>
|
||||
<div class="title">就诊大夫</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.qingre }}</span
|
||||
><span class="unit">元</span>
|
||||
<span class="num">{{ record.doctorTotalCount }}</span
|
||||
><span class="unit">个</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -112,10 +125,22 @@
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">用药种类</div>
|
||||
<div class="title">就医次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.zhike }}</span
|
||||
><span class="unit">种</span>
|
||||
<span class="num">{{ record.doctorCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-con">
|
||||
<div class="img">
|
||||
<img src="@/assets/images/average.png" alt="" />
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div class="title">就医费用</div>
|
||||
<div>
|
||||
<span class="num">{{ record.doctorCost }}</span
|
||||
><span class="unit">元</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -126,7 +151,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">用药天数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.wuhua }}</span
|
||||
<span class="num">{{ record.marDayCount }}</span
|
||||
><span class="unit">天</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -138,7 +163,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">用药次数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.wuhua }}</span
|
||||
<span class="num">{{ record.marCount }}</span
|
||||
><span class="unit">次</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -150,7 +175,7 @@
|
||||
<div class="item-wrap">
|
||||
<div class="title">发烧天数</div>
|
||||
<div>
|
||||
<span class="num">{{ mar.kangjun }}</span> <span class="unit">天(大于37℃)</span>
|
||||
<span class="num">{{ record.feverDayCount }}</span> <span class="unit">天(>=37℃)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -159,40 +184,30 @@
|
||||
<div class="title">档案统计</div>
|
||||
<div class="operate-btn-con">
|
||||
<el-radio-group v-model="radioVal" @change="handleRadioChange">
|
||||
<el-radio-button label="用药次数柱状图" />
|
||||
<el-radio-button label="用药次数折线图" />
|
||||
<el-radio-button label="按天用药明细" />
|
||||
<el-radio-button label="用药分类明细" />
|
||||
<el-radio-button label="档案明细" />
|
||||
<el-radio-button label="档案费用柱状图" />
|
||||
<el-radio-button label="档案费用折线图" />
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-con">
|
||||
<div v-show="radioVal === '用药次数柱状图'" class="chart" id="chartBar" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<div v-show="radioVal === '用药次数折线图'" class="chart" id="chartLine" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<el-table v-show="radioVal === '按天用药明细'" v-loading="loading" :data="mar.tableMarList" height="calc(100% - 245px)">
|
||||
<div v-show="radioVal === '档案费用柱状图'" class="chart" id="chartBar" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<div v-show="radioVal === '档案费用折线图'" class="chart" id="chartLine" style="height: calc(100% - 225px); margin-top: -10px"></div>
|
||||
<el-table v-show="radioVal === '档案明细'" v-loading="loading" :data="record.recordList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用药日期" align="center" prop="time" />
|
||||
<el-table-column prop="detail" label="用药明细" v-if="queryParams.type === 1">
|
||||
<template #default="scope">
|
||||
<span v-html="formatMultiLineData(scope.row.detail)"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-table v-show="radioVal === '用药分类明细'" v-loading="loading" :data="mar.marMapList" height="calc(100% - 245px)">
|
||||
<el-table-column label="序号" width="50" type="index" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="药品名称" align="center" prop="time" />
|
||||
<el-table-column label="用药次数" align="center" prop="value" />
|
||||
<el-table-column label="用药总量" align="center" prop="dosage" />
|
||||
<el-table-column label="单位" align="center" prop="unit" />
|
||||
<el-table-column label="档案名称" align="center" prop="name" />
|
||||
<el-table-column label="发生时间" align="center" prop="occurTime" />
|
||||
<el-table-column label="持续时间" align="center" prop="duration" />
|
||||
<el-table-column label="过程记录次数" align="center" prop="processCount" />
|
||||
<el-table-column label="就医次数" align="center" prop="doctorCount" />
|
||||
<el-table-column label="就医费用" align="center" prop="doctorCost" />
|
||||
<el-table-column label="用药天数" align="center" prop="marDayCount" />
|
||||
<el-table-column label="用药次数" align="center" prop="marCount" />
|
||||
<el-table-column label="发烧天数" align="center" prop="feverDayCount" />
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -204,11 +219,10 @@ import dayjs from 'dayjs'
|
||||
import * as echarts from 'echarts'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import yearPicker from '@/components/YearPicker/index.vue'
|
||||
import { getMarAnalysis } from '@/api/health/statisticAnalysis'
|
||||
import { listPerson, getPerson } from '@/api/health/person'
|
||||
import { getRecordAnalysis } from '@/api/health/statisticAnalysis'
|
||||
import { listPerson } from '@/api/health/person'
|
||||
import { listHealthRecord } from '@/api/health/healthRecord'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { deal_type, account_type, deal_category } = proxy.useDict('deal_type', 'account_type', 'deal_category')
|
||||
const personList = ref([])
|
||||
const healthRecordList = ref([])
|
||||
|
||||
@@ -226,7 +240,7 @@ const dates = [{ value: 1, label: '日' }]
|
||||
const accountsList = ref([])
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const radioVal = ref('用药次数柱状图')
|
||||
const radioVal = ref('档案明细')
|
||||
const dateValidate = (rules, value, callback) => {
|
||||
const dateType = rules.dateType || 'days'
|
||||
const num = rules.num || 31
|
||||
@@ -278,10 +292,7 @@ const handlePersonChange = (personId) => {
|
||||
queryHealthRecordParams.personId = personId
|
||||
listHealthRecord(queryHealthRecordParams).then((response) => {
|
||||
healthRecordList.value = response.rows
|
||||
if (response.rows.length > 0) {
|
||||
queryParams.value.recordId = response.rows[0].id
|
||||
getList()
|
||||
}
|
||||
getList()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -294,39 +305,36 @@ function getPersonList() {
|
||||
queryHealthRecordParams.personId = response.rows[0].id
|
||||
listHealthRecord(queryHealthRecordParams).then((res) => {
|
||||
healthRecordList.value = res.rows
|
||||
if (res.rows.length > 0) {
|
||||
queryParams.value.recordId = res.rows[0].id
|
||||
getList()
|
||||
}
|
||||
getList()
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
const start = dayjs(end).add(-90, 'day')
|
||||
queryParams.value.time = [start, end]
|
||||
const handleTimeChange = (type) => {
|
||||
queryParams.value.time = null
|
||||
if (type === 1) {
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
const start = dayjs(end).add(-90, 'day')
|
||||
queryParams.value.time = [start, end]
|
||||
} else if (type === 2) {
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
|
||||
const start = dayjs(end).add(-11, 'months')
|
||||
queryParams.value.time = [start, end]
|
||||
} else if (type === 3) {
|
||||
const today = new Date()
|
||||
const endYear = today.getFullYear()
|
||||
queryParams.value.time = [new Date(endYear - 2, 0, 1), new Date(endYear, 0, 1)]
|
||||
showYearValue.value = { startShowYear: endYear - 2, endShowYear: endYear }
|
||||
}
|
||||
getList()
|
||||
}
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
// const start = dayjs(end).add(-90, 'day')
|
||||
// queryParams.value.time = [start, end]
|
||||
// const handleTimeChange = (type) => {
|
||||
// queryParams.value.time = null
|
||||
// if (type === 1) {
|
||||
// const today = new Date()
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
// const start = dayjs(end).add(-90, 'day')
|
||||
// queryParams.value.time = [start, end]
|
||||
// } else if (type === 2) {
|
||||
// const today = new Date()
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
|
||||
// const start = dayjs(end).add(-11, 'months')
|
||||
// queryParams.value.time = [start, end]
|
||||
// } else if (type === 3) {
|
||||
// const today = new Date()
|
||||
// const endYear = today.getFullYear()
|
||||
// queryParams.value.time = [new Date(endYear - 2, 0, 1), new Date(endYear, 0, 1)]
|
||||
// showYearValue.value = { startShowYear: endYear - 2, endShowYear: endYear }
|
||||
// }
|
||||
// getList()
|
||||
// }
|
||||
function formatMultiLineData(data) {
|
||||
if (data != null) {
|
||||
return data.replace(/<br\/>/g, '<br/>')
|
||||
@@ -354,7 +362,7 @@ const calendarChange = (val) => {
|
||||
if (val[1]) firstChooseDate.value = ''
|
||||
}
|
||||
|
||||
const mar = ref({})
|
||||
const record = ref({})
|
||||
const chartData = ref({
|
||||
name: [],
|
||||
value1: []
|
||||
@@ -379,16 +387,16 @@ function getList() {
|
||||
id,
|
||||
recordId
|
||||
}
|
||||
getMarAnalysis(params).then((response) => {
|
||||
getRecordAnalysis(params).then((response) => {
|
||||
loading.value = false
|
||||
mar.value = { ...response.data }
|
||||
mar.value.marList.map((item) => {
|
||||
record.value = { ...response.data }
|
||||
record.value.recordCostList.map((item) => {
|
||||
return {
|
||||
name: item.time,
|
||||
value: item.value
|
||||
}
|
||||
})
|
||||
response.data.marList.map((item) => {
|
||||
response.data.recordCostList.map((item) => {
|
||||
chartData.value.name.push(item.time)
|
||||
chartData.value.value1.push(item.value)
|
||||
})
|
||||
@@ -403,10 +411,10 @@ function handleQuery() {
|
||||
function resetQuery() {
|
||||
proxy.resetForm('queryRef')
|
||||
queryParams.value.id = null
|
||||
const today = new Date()
|
||||
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
const start = dayjs(end).add(-60, 'day')
|
||||
queryParams.value.time = [start, end]
|
||||
// const today = new Date()
|
||||
// const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
|
||||
// const start = dayjs(end).add(-60, 'day')
|
||||
// queryParams.value.time = [start, end]
|
||||
total.value = 0
|
||||
getPersonList()
|
||||
}
|
||||
@@ -432,7 +440,7 @@ const drawBar = (data) => {
|
||||
type: 'shadow'
|
||||
},
|
||||
formatter: function (params) {
|
||||
return params[0].name + '<br>' + '用药:' + params[0].value + '次'
|
||||
return params[0].name + '<br>' + '费用:' + params[0].value + '元'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
@@ -462,7 +470,7 @@ const drawBar = (data) => {
|
||||
type: 'value',
|
||||
// min: 1, // 设置 y 轴的最小值为 0
|
||||
// max: 16, // 设置 y 轴的最大值为 100
|
||||
interval: 1, //设置y轴刻度间隔
|
||||
// interval: 1, //设置y轴刻度间隔
|
||||
axisTick: {
|
||||
show: true // 默认为true,如果要隐藏,则改为 false
|
||||
},
|
||||
@@ -484,17 +492,7 @@ const drawBar = (data) => {
|
||||
// 此处可以是一个固定颜色值,也可以是一个回调函数根据数据动态计算颜色
|
||||
color: function (params) {
|
||||
// 这里可以根据需要设置不同的颜色,比如根据数据值
|
||||
if (params.data < 4) {
|
||||
return '#37b328'
|
||||
} else if (params.data >= 4 && params.data < 8) {
|
||||
return '#ff00ff'
|
||||
} else if (params.data >= 8 && params.data < 12) {
|
||||
return '#ff0066'
|
||||
} else if (params.data >= 12 && params.data < 15) {
|
||||
return '#ff0000'
|
||||
} else if (params.data >= 15) {
|
||||
return '#990000' // 数据在50到99之间为蓝色
|
||||
}
|
||||
return '#2283cf' // 数据在50到99之间为蓝色
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -532,7 +530,7 @@ const drawLine = (data) => {
|
||||
type: 'shadow'
|
||||
},
|
||||
formatter: function (params) {
|
||||
return params[0].name + '<br>' + '用药:' + params[0].value + '次'
|
||||
return params[0].name + '<br>' + '费用:' + params[0].value + '元'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
@@ -552,7 +550,7 @@ const drawLine = (data) => {
|
||||
type: 'value',
|
||||
// min: 1, // 设置 y 轴的最小值为 0
|
||||
// max: 16, // 设置 y 轴的最大值为 100
|
||||
interval: 1, //设置y轴刻度间隔
|
||||
// interval: 1, //设置y轴刻度间隔
|
||||
axisTick: {
|
||||
show: true
|
||||
},
|
||||
@@ -575,17 +573,7 @@ const drawLine = (data) => {
|
||||
// 此处可以是一个固定颜色值,也可以是一个回调函数根据数据动态计算颜色
|
||||
color: function (params) {
|
||||
// 这里可以根据需要设置不同的颜色,比如根据数据值
|
||||
if (params.data < 4) {
|
||||
return '#37b328'
|
||||
} else if (params.data >= 4 && params.data < 8) {
|
||||
return '#ff00ff'
|
||||
} else if (params.data >= 8 && params.data < 12) {
|
||||
return '#ff0066'
|
||||
} else if (params.data >= 12 && params.data < 15) {
|
||||
return '#ff0000'
|
||||
} else if (params.data >= 15) {
|
||||
return '#990000' // 数据在50到99之间为蓝色
|
||||
}
|
||||
return '#2283cf' // 数据在50到99之间为蓝色
|
||||
}
|
||||
},
|
||||
smooth: true,
|
||||
@@ -618,14 +606,14 @@ const drawLine = (data) => {
|
||||
myChart.setOption(option)
|
||||
}
|
||||
|
||||
const currentType = ref('用药次数柱状图')
|
||||
const currentType = ref('档案费用柱状图')
|
||||
const handleRadioChange = (type) => {
|
||||
currentType.value = type
|
||||
switch (type) {
|
||||
case '用药次数柱状图':
|
||||
case '档案费用柱状图':
|
||||
drawBar(chartData.value)
|
||||
break
|
||||
case '用药次数折线图':
|
||||
case '档案费用折线图':
|
||||
drawLine(chartData.value)
|
||||
break
|
||||
default:
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
<div class="title">查询条件</div>
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="人员姓名" prop="personId">
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable>
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable @change="handleQueryPersonChange">
|
||||
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="健康档案" prop="healthRecordId">
|
||||
<el-select v-model="queryParams.healthRecordId" placeholder="请选择健康档案" clearable>
|
||||
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用药类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择用药类型" @change="handleTypeChange" clearable>
|
||||
<el-option v-for="dict in mar_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
@@ -256,6 +261,13 @@ const handlePersonChange = (personId) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const handleQueryPersonChange = (personId) => {
|
||||
queryHealthRecordParams.personId = personId
|
||||
queryParams.value.healthRecordId = null
|
||||
listHealthRecord(queryHealthRecordParams).then((response) => {
|
||||
healthRecordList.value = response.rows
|
||||
})
|
||||
}
|
||||
|
||||
const handleTypeChange = (type) => {
|
||||
queryMedicineParams.value.treatmentType = type
|
||||
@@ -276,6 +288,11 @@ const handleMedicineChange = (medicineId) => {
|
||||
function getPersonList() {
|
||||
listPerson(queryPersonParams.value).then((response) => {
|
||||
personList.value = response.rows
|
||||
if (response.rows.length > 0) {
|
||||
listHealthRecord(queryHealthRecordParams).then((res) => {
|
||||
healthRecordList.value = res.rows
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
<div class="title">查询条件</div>
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="人员姓名" prop="personId">
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable>
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable @change="handleQueryPersonChange">
|
||||
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="健康档案" prop="healthRecordId">
|
||||
<el-select v-model="queryParams.healthRecordId" placeholder="请选择健康档案" clearable>
|
||||
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="记录时间" prop="time">
|
||||
<el-date-picker v-model="queryParams.time" type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
|
||||
</el-form-item>
|
||||
@@ -164,10 +169,23 @@ const handlePersonChange = (personId) => {
|
||||
})
|
||||
}
|
||||
|
||||
const handleQueryPersonChange = (personId) => {
|
||||
queryHealthRecordParams.personId = personId
|
||||
queryParams.value.healthRecordId = null
|
||||
listHealthRecord(queryHealthRecordParams).then((response) => {
|
||||
healthRecordList.value = response.rows
|
||||
})
|
||||
}
|
||||
|
||||
/** 查询成员管理列表 */
|
||||
function getPersonList() {
|
||||
listPerson(queryPersonParams.value).then((response) => {
|
||||
personList.value = response.rows
|
||||
if (response.rows.length > 0) {
|
||||
listHealthRecord(queryHealthRecordParams).then((res) => {
|
||||
healthRecordList.value = res.rows
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
<div class="title">查询条件</div>
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="人员姓名" prop="personId">
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable>
|
||||
<el-select v-model="queryParams.personId" placeholder="请选择人员姓名" clearable @change="handleQueryPersonChange">
|
||||
<el-option v-for="person in personList" :key="person.id" :label="person.name" :value="person.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="健康档案" prop="healthRecordId">
|
||||
<el-select v-model="queryParams.healthRecordId" placeholder="请选择健康档案" clearable>
|
||||
<el-option v-for="health in healthRecordList" :key="health.id" :label="health.name" :value="health.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="测量时间" prop="time">
|
||||
<el-date-picker v-model="queryParams.time" type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
|
||||
</el-form-item>
|
||||
@@ -180,10 +185,22 @@ const handlePersonChange = (personId) => {
|
||||
})
|
||||
}
|
||||
|
||||
const handleQueryPersonChange = (personId) => {
|
||||
queryHealthRecordParams.personId = personId
|
||||
queryParams.value.healthRecordId = null
|
||||
listHealthRecord(queryHealthRecordParams).then((response) => {
|
||||
healthRecordList.value = response.rows
|
||||
})
|
||||
}
|
||||
/** 查询成员管理列表 */
|
||||
function getPersonList() {
|
||||
listPerson(queryPersonParams.value).then((response) => {
|
||||
personList.value = response.rows
|
||||
if (response.rows.length > 0) {
|
||||
listHealthRecord(queryHealthRecordParams).then((res) => {
|
||||
healthRecordList.value = res.rows
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user