|
|
@@ -1,14 +1,53 @@
|
|
|
<script setup lang="ts">
|
|
|
-import {ref} from "vue";
|
|
|
+import {onMounted, ref} from "vue";
|
|
|
import DieEmr from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/query-die/comp/DieEmr.vue";
|
|
|
+import {QueryDieReturn, selectDieEmrData} from "@/api/emr-control/query-die";
|
|
|
+import {getDateRangeFormatDate, getFormatDatetime} from '@/utils/date'
|
|
|
+import {Export} from '@/utils/ExportExcel'
|
|
|
+import AnalysisChart
|
|
|
+ from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/query-die/comp/AnalysisChart.vue";
|
|
|
|
|
|
const tabs = ref('dieEmr')
|
|
|
+
|
|
|
+const dateRange = ref([])
|
|
|
+const resData = ref<QueryDieReturn>({
|
|
|
+ data: [],
|
|
|
+ header: [],
|
|
|
+ analysis: {}
|
|
|
+})
|
|
|
+
|
|
|
+const queryClick = async () => {
|
|
|
+ let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
|
|
|
+ resData.value = await selectDieEmrData(startTime, endTime)
|
|
|
+}
|
|
|
+
|
|
|
+const exportExcelClick = () => {
|
|
|
+ let title = {}
|
|
|
+ resData.value.header.forEach(item => {
|
|
|
+ title[item] = item
|
|
|
+ })
|
|
|
+ let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
|
|
|
+ Export(resData.value.data, title, `${getFormatDatetime(startTime, 'YYYY-MM-DD')}至${getFormatDatetime(endTime, 'YYYY-MM-DD')}`)
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ // dateRange.value = ['2021-01-01', '2023-08-09']
|
|
|
+})
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
+ <el-header>
|
|
|
+ <el-date-picker type="daterange" v-model="dateRange" style="width: 250px" :clearable="false"/>
|
|
|
+ <el-button type="primary" v-el-btn="queryClick">查询</el-button>
|
|
|
+ <el-button type="primary" @click="exportExcelClick">Excel</el-button>
|
|
|
+ </el-header>
|
|
|
<el-tabs v-model="tabs">
|
|
|
<el-tab-pane name="dieEmr" label="死亡病历">
|
|
|
- <DieEmr/>
|
|
|
+ <DieEmr :res-data="resData"/>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane name="analysisChart" label="分析图">
|
|
|
+ <AnalysisChart :res-data="resData"/>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</template>
|