|
|
@@ -24,7 +24,7 @@
|
|
|
<el-table-column fixed="right" label="操作" width="250">
|
|
|
<template #default="scope">
|
|
|
<el-button type="warning" @click="getDepts(scope.row, 1)">复诊</el-button>
|
|
|
- <el-button type="primary" @click="getMzVitalSigns(scope.row)">生命体征</el-button>
|
|
|
+ <el-button type="primary" @click="showMzVitals(scope.row)">生命体征</el-button>
|
|
|
<el-button type="success" @click="getDepts(scope.row, 0)">分诊</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -45,65 +45,7 @@
|
|
|
<a href="http://webhis.thyy.cn:8080/download/候诊信息-Setup.exe">下载候诊展示软件</a>
|
|
|
</div>
|
|
|
|
|
|
- <el-drawer title="生命体征录入" v-model="showVital" :with-header="false" direction="ltr" size="30%">
|
|
|
- <div style="height: 15px"></div>
|
|
|
- <h3 style="margin-left: 15px; font-size: 16px">生命体征录入</h3>
|
|
|
- <div class="vital-sign-box">
|
|
|
- <div>
|
|
|
- <el-input size="small" readonly v-model="vitalSigns.patientId">
|
|
|
- <template #prepend>患者ID</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" readonly v-model="vitalSigns.visitDate">
|
|
|
- <template #prepend>录入日期</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueSg">
|
|
|
- <template #prepend>身高 (cm)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueTz">
|
|
|
- <template #prepend>体重 (kg)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueTw">
|
|
|
- <template #prepend>体温 (℃)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueMb">
|
|
|
- <template #prepend>脉搏 (次/分)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueHx">
|
|
|
- <template #prepend>呼吸 (次/分)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueSsy">
|
|
|
- <template #prepend>血压上限 (mmHg)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" type="number" v-model="vitalSigns.valueSzy">
|
|
|
- <template #prepend>血压下限 (mmHg)</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-input size="small" text v-model="vitalSigns.visitRemark">
|
|
|
- <template #prepend>备注</template>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-button type="primary" size="small" :loading="drawSaving" @click="saveVitals"
|
|
|
- style="width: 200px; margin-left: 120px; margin-top: 20px"> 保存
|
|
|
- </el-button>
|
|
|
- </el-drawer>
|
|
|
+ <VitalSign ref="vitalRef" :times="times" :patient-id="patientId" />
|
|
|
|
|
|
<el-dialog v-model="showTriageDialog" :title="triageDialogTitle" width="50%">
|
|
|
<div style="background-color: lightblue; padding: 4px 8px; margin-top: -16px; border-radius: 4px; color: red">
|
|
|
@@ -169,21 +111,20 @@ import {ref} from 'vue'
|
|
|
import {
|
|
|
fenZhen,
|
|
|
getPatientIdByIdNo,
|
|
|
- fetchVitalSign,
|
|
|
getChosenDept,
|
|
|
getRooms,
|
|
|
getUnTriagedPatient,
|
|
|
saveNewCard,
|
|
|
queryCardInfo,
|
|
|
- saveMzVitalSigns, refreshBigScreenData
|
|
|
+ refreshBigScreenData
|
|
|
} from '@/api/triage/triage'
|
|
|
import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
import ReadElectronicSiCard from '@/components/medical-insurance/read-electronic-si-card/index.vue'
|
|
|
import {xcMessage} from "@/utils/xiaochan-element-plus";
|
|
|
+import VitalSign from "@/views/clinic/triage/components/VitalSign.vue";
|
|
|
|
|
|
const patients = ref([])
|
|
|
const totalSize = ref(0)
|
|
|
-const showVital = ref(false)
|
|
|
|
|
|
const pageSize = ref(30)
|
|
|
const currentPage = ref(1)
|
|
|
@@ -245,11 +186,13 @@ const findSiCardReader = (patId) => {
|
|
|
return target
|
|
|
}
|
|
|
|
|
|
-const getMzVitalSigns = (row) => {
|
|
|
- fetchVitalSign(row.patientId).then((res) => {
|
|
|
- vitalSigns.value = res
|
|
|
- showVital.value = true
|
|
|
- })
|
|
|
+const vitalRef = ref()
|
|
|
+const patientId = ref('')
|
|
|
+const times = ref(0)
|
|
|
+const showMzVitals = (row) => {
|
|
|
+ patientId.value = row.patientId
|
|
|
+ times.value = row.times
|
|
|
+ vitalRef.value.switchVisibility()
|
|
|
}
|
|
|
const chosenDeptsTable = ref(null)
|
|
|
const roomTable = ref(null)
|
|
|
@@ -302,23 +245,6 @@ const executeTriage = (row) => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-const vitalSigns = ref({})
|
|
|
-const drawSaving = ref(false)
|
|
|
-const saveVitals = () => {
|
|
|
- drawSaving.value = true
|
|
|
- saveMzVitalSigns(vitalSigns.value).then((res) => {
|
|
|
- ElMessage({
|
|
|
- message: res,
|
|
|
- type: 'success',
|
|
|
- duration: 2000,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- drawSaving.value = false
|
|
|
- }).catch(() => {
|
|
|
- drawSaving.value = false
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
const showTriageDialog = ref(false)
|
|
|
|
|
|
const fetchInteval = ref(null)
|
|
|
@@ -386,21 +312,9 @@ function statusFlagFilter(val) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function roomStatusFilter(val) {
|
|
|
- return val === 0 ? '在线' : '离线'
|
|
|
-}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-.vital-sign-box {
|
|
|
- padding: 0 20px;
|
|
|
- margin-top: 15px;
|
|
|
-}
|
|
|
-
|
|
|
-.vital-sign-box > div {
|
|
|
- margin-top: 15px;
|
|
|
-}
|
|
|
-
|
|
|
.dialog-head {
|
|
|
display: flex;
|
|
|
height: 26px;
|