|
|
@@ -0,0 +1,123 @@
|
|
|
+<template>
|
|
|
+ <el-container>
|
|
|
+ <el-header>
|
|
|
+ 住院号:
|
|
|
+ <el-input v-model="queryForm.inpatientNo" placeholder="请输入住院号" style="width: 160px;margin-right: 10px" size="small" />
|
|
|
+ 入院次数:
|
|
|
+ <el-select v-model="queryForm.admissTimes" :disabled="admissTimes.length===0" style="width: 120px;margin-right: 10px" size="small">
|
|
|
+ <el-option v-for="item in admissTimes" :key="item" :label="item" :value="item" />
|
|
|
+ </el-select>
|
|
|
+ <el-radio-group v-model="queryForm.confirmFlag">
|
|
|
+ <el-radio value="0" size="small">未确认</el-radio>
|
|
|
+ <el-radio value="1" size="small">已确认</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-button icon="Search" type="primary" @click="handleQuery">查询</el-button>
|
|
|
+ <el-button type="success" @click="handleSave">保存</el-button>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <div style="width: 100%;">
|
|
|
+ <el-table :data="psInfo" highlight-current-row stripe border show-overflow-tooltip :height="props.height">
|
|
|
+ <el-table-column label="排序" type="index" width="40" />
|
|
|
+ <el-table-column prop="bedNo" label="床号" width="40" />
|
|
|
+ <el-table-column prop="inpatientNo" label="住院号" />
|
|
|
+ <el-table-column prop="name" label="病人姓名" />
|
|
|
+ <el-table-column prop="actOrderNo" label="医嘱号" />
|
|
|
+ <el-table-column prop="orderName" label="医嘱名称" min-width="120" />
|
|
|
+ <el-table-column prop="orderTime" label="医嘱时间" min-width="125" />
|
|
|
+ <el-table-column prop="dose" label="剂量" width="40" />
|
|
|
+ <el-table-column prop="doseUnit" label="剂量单位" width="80" />
|
|
|
+ <el-table-column prop="supplyName" label="给药方式" min-width="100" />
|
|
|
+ <el-table-column prop="psStatus" label="皮试结果" min-width="140">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-radio-group v-model="scope.row.psStatus">
|
|
|
+ <el-radio value="0" size="small">阴性</el-radio>
|
|
|
+ <el-radio value="1" size="small">阳性</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="psOperName" label="皮试执行人" min-width="100" />
|
|
|
+ <el-table-column prop="psResultTime" label="皮试结果时间" min-width="150">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-date-picker v-model="scope.row.psResultTime" type="datetime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" style="width: 130px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="enterTime" label="录入时间" min-width="125" />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup name='PsInfoInact'>
|
|
|
+import { ref } from 'vue'
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+import { getWindowSize } from '@/utils/window-size'
|
|
|
+import { inactAdmissTimes, queryPsInfoInact, updatePsInfoInact } from '@/api/medical-advice/nursing-manage'
|
|
|
+
|
|
|
+const props = defineProps({
|
|
|
+ height: { type: Number, default: getWindowSize.value.h - 50 }
|
|
|
+})
|
|
|
+
|
|
|
+const psInfo = ref([])
|
|
|
+const admissTimes = ref([])
|
|
|
+const loading = ref(false)
|
|
|
+
|
|
|
+const queryForm = ref({
|
|
|
+ inpatientNo: '',
|
|
|
+ admissTimes: undefined,
|
|
|
+ confirmFlag: '0'
|
|
|
+})
|
|
|
+
|
|
|
+const fetchAdmissTimes = async () => {
|
|
|
+ admissTimes.value = []
|
|
|
+ queryForm.value.admissTimes = undefined
|
|
|
+ if (!queryForm.value.inpatientNo) return
|
|
|
+ const res = await inactAdmissTimes(queryForm.value.inpatientNo)
|
|
|
+ if (Array.isArray(res) && res.length > 0) {
|
|
|
+ admissTimes.value = res
|
|
|
+ queryForm.value.admissTimes = res[0] // 默认选择最新(倒序第一个)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const handleQuery = async () => {
|
|
|
+ if (!queryForm.value.inpatientNo) {
|
|
|
+ ElMessage.warning('请输入住院号')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!queryForm.value.admissTimes) {
|
|
|
+ await fetchAdmissTimes()
|
|
|
+ if (!queryForm.value.admissTimes) {
|
|
|
+ ElMessage.warning('未找到该住院号的出院记录')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ loading.value = true
|
|
|
+ try {
|
|
|
+ const data = await queryPsInfoInact({
|
|
|
+ inpatientNo: queryForm.value.inpatientNo,
|
|
|
+ admissTimes: queryForm.value.admissTimes,
|
|
|
+ confirmFlag: queryForm.value.confirmFlag
|
|
|
+ })
|
|
|
+ psInfo.value = data || []
|
|
|
+ } finally {
|
|
|
+ loading.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const handleSave = () => {
|
|
|
+ if (!psInfo.value || psInfo.value.length === 0) {
|
|
|
+ ElMessage.warning('无可保存的数据')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ElMessageBox.confirm('请确认是否保存', { cancelButtonText: '取消', confirmButtonText: '确定' })
|
|
|
+ .then(async () => {
|
|
|
+ await updatePsInfoInact(psInfo.value)
|
|
|
+ ElMessage.success('保存成功')
|
|
|
+ handleQuery()
|
|
|
+ })
|
|
|
+ .catch(() => {})
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+
|