|
@@ -1,5 +1,4 @@
|
|
<template>
|
|
<template>
|
|
-
|
|
|
|
<div class="layout_container">
|
|
<div class="layout_container">
|
|
<header>
|
|
<header>
|
|
检索依据:
|
|
检索依据:
|
|
@@ -10,6 +9,7 @@
|
|
<el-input v-model="searchContent" style="width: 160px" clearable placeholder="请输入检索内容"></el-input>
|
|
<el-input v-model="searchContent" style="width: 160px" clearable placeholder="请输入检索内容"></el-input>
|
|
<el-divider direction="vertical"></el-divider>
|
|
<el-divider direction="vertical"></el-divider>
|
|
<el-button type="primary" icon="Search" @click="fetchAllPatients">检索</el-button>
|
|
<el-button type="primary" icon="Search" @click="fetchAllPatients">检索</el-button>
|
|
|
|
+ <el-button type="primary" icon="Download" @click="beforeExportEmrReg">导出急诊登记</el-button>
|
|
</header>
|
|
</header>
|
|
<div class="layout_main layout_el-table">
|
|
<div class="layout_main layout_el-table">
|
|
<el-table :data="patients" stripe highlight-current-row>
|
|
<el-table :data="patients" stripe highlight-current-row>
|
|
@@ -41,6 +41,11 @@
|
|
{{ statusFlagFilter(scope.row.statusFlag) }}
|
|
{{ statusFlagFilter(scope.row.statusFlag) }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
+ <el-table-column label="操作">
|
|
|
|
+ <template #default="{row}">
|
|
|
|
+ <el-button icon="Edit" @click="emergencyReg(row)">登记</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
<el-pagination
|
|
<el-pagination
|
|
@size-change="handleSizeChange"
|
|
@size-change="handleSizeChange"
|
|
@@ -52,14 +57,146 @@
|
|
:total="totalSize"
|
|
:total="totalSize"
|
|
></el-pagination>
|
|
></el-pagination>
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-drawer
|
|
|
|
+ v-model="showRegEdit"
|
|
|
|
+ title="急诊登记"
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
+ :close-on-press-escape="false"
|
|
|
|
+ >
|
|
|
|
+ <el-form :model="reginfo">
|
|
|
|
+ <el-form-item label="登记时间:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.createTime" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="挂号时间:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.regTime" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="门诊ID号:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.patientId" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="姓名:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.patientName" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="性别:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.gender" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="年龄:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.age" disabled />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="级别:" label-width="100px">
|
|
|
|
+ <el-select v-model="reginfo.level">
|
|
|
|
+ <el-option label="一级" value="一级" />
|
|
|
|
+ <el-option label="二级" value="二级" />
|
|
|
|
+ <el-option label="三级" value="三级" />
|
|
|
|
+ <el-option label="四级" value="四级" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="脉搏:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.pulse" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="血压:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.bloodPressure" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="体温:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.temperature" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="类别:" label-width="100px">
|
|
|
|
+ <el-select v-model="reginfo.type" clearable>
|
|
|
|
+ <el-option label="胸痛" value="胸痛" />
|
|
|
|
+ <el-option label="卒中" value="卒中" />
|
|
|
|
+ <el-option label="高危孕产妇" value="高危孕产妇" />
|
|
|
|
+ <el-option label="创伤" value="创伤" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="意识:" label-width="100px">
|
|
|
|
+ <el-select v-model="reginfo.consciousness" clearable>
|
|
|
|
+ <el-option label="清醒" value="清醒" />
|
|
|
|
+ <el-option label="嗜睡" value="嗜睡" />
|
|
|
|
+ <el-option label="昏睡" value="昏睡" />
|
|
|
|
+ <el-option label="昏迷" value="昏迷" />
|
|
|
|
+ <el-option label="意识模糊" value="意识模糊" />
|
|
|
|
+ <el-option label="谵妄" value="谵妄" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="诊断:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.icdName" readonly @click="openSearch(1)" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="五大中心诊断:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.icdName5c" readonly @click="openSearch(2)" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="科室:" label-width="100px">
|
|
|
|
+ <el-select v-model="reginfo.deptClass" clearable>
|
|
|
|
+ <el-option label="内科" value="内科" />
|
|
|
|
+ <el-option label="外科" value="外科" />
|
|
|
|
+ <el-option label="其他" value="其他" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="住址:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.liveAddress" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="联系方式:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.phone" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="登记者:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.createStaffName" disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="去向:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.dest" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="住院:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.hospitalization" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="备注:" label-width="100px">
|
|
|
|
+ <el-input v-model="reginfo.remark" type="textarea" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-button
|
|
|
|
+ style="width: 100%; margin-top: 10px"
|
|
|
|
+ type="primary"
|
|
|
|
+ size="large"
|
|
|
|
+ @click="submitEmrReginfo"
|
|
|
|
+ >
|
|
|
|
+ 提交
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-form>
|
|
|
|
+ </el-drawer>
|
|
|
|
+ <Search
|
|
|
|
+ v-if="showSearch"
|
|
|
|
+ med-type="01"
|
|
|
|
+ target="icd10"
|
|
|
|
+ title="诊断搜索(ICD-10)"
|
|
|
|
+ @close="showSearch = false"
|
|
|
|
+ @click-item="handleClickSearchItem"
|
|
|
|
+ />
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="导出急诊登记数据"
|
|
|
|
+ v-model="showExport"
|
|
|
|
+ width="300px"
|
|
|
|
+ >
|
|
|
|
+ <CyDateRange style="width: 100%" size="large" />
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ size="large"
|
|
|
|
+ style="width: 100%; margin-top: 20px"
|
|
|
|
+ icon="Download"
|
|
|
|
+ @click="executeExport"
|
|
|
|
+ >
|
|
|
|
+ 导出EXCEL
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import { ref } from 'vue'
|
|
import { ref } from 'vue'
|
|
-import { getAllPatients } from '@/api/triage/triage'
|
|
|
|
|
|
+import {
|
|
|
|
+ getAllPatients,
|
|
|
|
+ getEmergencyRegInfo, getEmrRegExportData,
|
|
|
|
+ saveEmergencyRegInfo
|
|
|
|
+} from '@/api/triage/triage'
|
|
import { onActivated } from 'vue'
|
|
import { onActivated } from 'vue'
|
|
|
|
+import Search from "@/components/search/Index.vue";
|
|
|
|
+import {xcMessage} from "@/utils/xiaochan-element-plus";
|
|
|
|
+import useDateRange from "@/utils/cy-use/useDateRange";
|
|
|
|
+import {Export} from "@/utils/ExportExcel.js";
|
|
|
|
|
|
const patients = ref([])
|
|
const patients = ref([])
|
|
const totalSize = ref(0)
|
|
const totalSize = ref(0)
|
|
@@ -84,6 +221,78 @@ const fetchAllPatients = () => {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+const showSearch = ref(false)
|
|
|
|
+const showRegEdit = ref(false)
|
|
|
|
+const diagType = ref(1)
|
|
|
|
+const reginfo = ref({})
|
|
|
|
+function emergencyReg(row) {
|
|
|
|
+ getEmergencyRegInfo(row.patientId, row.times).then(res => {
|
|
|
|
+ reginfo.value = res
|
|
|
|
+ showRegEdit.value = true
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function openSearch(flag) {
|
|
|
|
+ diagType.value = flag
|
|
|
|
+ showSearch.value = true
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function handleClickSearchItem(item) {
|
|
|
|
+ if (diagType.value === 1) {
|
|
|
|
+ reginfo.value.icdCode = item.code
|
|
|
|
+ reginfo.value.icdName = item.name
|
|
|
|
+ } else {
|
|
|
|
+ reginfo.value.icdCode5c = item.code
|
|
|
|
+ reginfo.value.icdName5c = item.name
|
|
|
|
+ }
|
|
|
|
+ showSearch.value = false
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function submitEmrReginfo() {
|
|
|
|
+ saveEmergencyRegInfo(reginfo.value).then(res => {
|
|
|
|
+ reginfo.value.id = res
|
|
|
|
+ xcMessage.success('保存成功。')
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const {CyDateRange, dateRange} = useDateRange({shortcutsIndex: 2, clearable: false})
|
|
|
|
+const showExport = ref(false)
|
|
|
|
+function beforeExportEmrReg() {
|
|
|
|
+ showExport.value = true
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const field = {
|
|
|
|
+ createTime: "登记时间",
|
|
|
|
+ regTime: "挂号时间",
|
|
|
|
+ patientId: "门诊ID号",
|
|
|
|
+ patientName: "姓名",
|
|
|
|
+ gender: "性别",
|
|
|
|
+ age: "年龄",
|
|
|
|
+ level: "级别",
|
|
|
|
+ pulse: "脉搏",
|
|
|
|
+ bloodPressure: "血压",
|
|
|
|
+ temperature: "体温",
|
|
|
|
+ type: "类别",
|
|
|
|
+ consciousness: "意识",
|
|
|
|
+ icdCode: "诊断编码",
|
|
|
|
+ icdName: "诊断名称",
|
|
|
|
+ icdCode5c: "五大中心诊断编码",
|
|
|
|
+ icdName5c: "五大中心诊断名称",
|
|
|
|
+ deptClass: "科室",
|
|
|
|
+ liveAddress: "住址",
|
|
|
|
+ phone: "联系方式",
|
|
|
|
+ createStaffName: "登记者",
|
|
|
|
+ dest: "去向",
|
|
|
|
+ hospitalization: "住院",
|
|
|
|
+ remark: "备注",
|
|
|
|
+}
|
|
|
|
+function executeExport() {
|
|
|
|
+ getEmrRegExportData(dateRange.value.start, dateRange.value.end).then(res => {
|
|
|
|
+ Export(res, field, '急诊登记数据')
|
|
|
|
+ showExport.value = false
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
onActivated(() => {
|
|
onActivated(() => {
|
|
fetchAllPatients()
|
|
fetchAllPatients()
|
|
})
|
|
})
|