fix(doctorstation): 修正页面跳转路径并优化术前讨论管理界面

- 修正住院医生工作站跳转路径从 /inHospital/inpatientDoctor/home 到 /inHospital/inpatientDoctor
- 为术前讨论管理界面添加响应式表格高度计算功能
- 添加窗口大小调整事件监听器以动态更新表格高度
- 优化术前讨论管理界面的CSS样式布局
- 添加 content-card 样式类增强界面显示效果
This commit is contained in:
2026-06-11 15:15:14 +08:00
parent 3e650dd041
commit 3f67753344
2 changed files with 26 additions and 6 deletions

View File

@@ -216,7 +216,7 @@ const handleWriteEmr = (row) => {
// 存储患者信息并跳转到住院医生工作站
updatePatientInfo(row)
updateLocalPatientInfo(row)
router.push({ path: '/inHospital/inpatientDoctor/home' })
router.push({ path: '/inHospital/inpatientDoctor' })
}
// 查看患者
@@ -224,7 +224,7 @@ const handleViewPatient = (row) => {
// 存储患者信息并跳转到住院医生工作站
updatePatientInfo(row)
updateLocalPatientInfo(row)
router.push({ path: '/inHospital/inpatientDoctor/home' })
router.push({ path: '/inHospital/inpatientDoctor' })
}
// 获取性别文本

View File

@@ -9,7 +9,7 @@
<el-col :span="4"><div class="stat-card"><div class="stat-value danger">{{ stats.rejected || 0 }}</div><div class="stat-label">已驳回</div></div></el-col>
</el-row>
<el-card shadow="never">
<el-card shadow="never" class="content-card">
<template #header>
<div class="card-header">
<span class="card-title">术前讨论管理</span>
@@ -39,7 +39,7 @@
</el-form-item>
</el-form>
<vxe-table :data="tableData" border height="calc(100vh - 380px)" v-loading="loading">
<vxe-table :data="tableData" border :height="tableHeight" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="patientName" title="患者" width="90" />
<vxe-column field="surgeryName" title="手术名称" min-width="160" show-overflow />
@@ -182,11 +182,13 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref, onMounted, onUnmounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { getDiscussionPage, getDiscussionDetail, addDiscussion, submitDiscussion, reviewDiscussion, getStatistics } from './components/api'
const loading = ref(false); const tableData = ref([]); const total = ref(0); const stats = ref(null)
const tableHeight = ref(Math.max(300, window.innerHeight - 320))
function handleResize() { tableHeight.value = Math.max(300, window.innerHeight - 320) }
const queryParams = ref({ patientName: '', surgeryLevel: undefined, status: undefined, pageNo: 1, pageSize: 20 })
const formVisible = ref(false); const formRef = ref()
const detailVisible = ref(false); const detailData = ref(null)
@@ -216,10 +218,28 @@ function submitForm() {
})
}
function loadStats() { getStatistics().then(res => { stats.value = res.data }) }
onMounted(() => { getList(); loadStats() })
onMounted(() => { getList(); loadStats(); window.addEventListener('resize', handleResize) })
onUnmounted(() => { window.removeEventListener('resize', handleResize) })
</script>
<style lang="scss" scoped>
.app-container {
display: flex;
flex-direction: column;
min-height: calc(100vh - 84px);
}
.content-card {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
:deep(.el-card__body) {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
}
.card-header { display: flex; justify-content: space-between; align-items: center; }
.card-title { font-weight: bold; font-size: 16px; }
.stat-row { margin-bottom: 16px; }