549【住院医生站-临床医嘱-检验】打开“检验申请单”弹窗获取项目列表响应极其缓慢

546 【患者管理】-【患者列表】-【新增患者】,新增患者,保存成功,但没有数据
536 [门诊手术安排]“手术申请查询”弹窗底部,分页组件与界底部元素重叠,影响操作。
This commit is contained in:
wangjian963
2026-05-20 09:45:33 +08:00
parent d9c975a950
commit 3394aa54d7
10 changed files with 180 additions and 162 deletions

View File

@@ -740,58 +740,59 @@
</el-form-item>
</el-form>
<!-- 结果表格 -->
<el-table
ref="applyTableRef"
v-loading="applyLoading"
:data="applyList"
row-key="surgeryNo"
@row-click="handleApplyRowClick"
:row-class-name="tableRowClassName"
style="width: 100%"
max-height="340"
:scroll="{ y: 340 }"
>
<el-table-column type="selection" width="55" :selectable="handleSelectable" />
<el-table-column label="ID" align="center" width="80" fixed>
<template #default="{ $index }">
{{ (applyQueryParams.pageNo - 1) * applyQueryParams.pageSize + $index + 1 }}
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="name" width="100" />
<el-table-column label="手术单号" align="center" prop="surgeryNo" width="120" />
<el-table-column label="手术名称" align="center" prop="descJson.surgeryName" min-width="140" show-overflow-tooltip />
<el-table-column label="申请科室" align="center" width="100" prop="applyDeptName" />
<el-table-column label="手术类型" align="center" width="90">
<template #default="scope">
{{ getSurgeryTypeName(scope.row.surgeryType) }}
</template>
</el-table-column>
<el-table-column label="手术等级" align="center" width="90">
<template #default="scope">
{{ getSurgeryLevelName(scope.row.surgeryLevel || scope.row.descJson?.surgeryLevel) }}
</template>
</el-table-column>
<el-table-column label="麻醉方式" align="center" width="90">
<template #default="scope">
{{ getAnesthesiaName(scope.row.anesthesiaTypeEnum) }}
</template>
</el-table-column>
<el-table-column label="主刀医生" align="center" width="100" prop="mainSurgeonName" />
</el-table>
<!-- 底部分页区 -->
<div class="pagination-container apply-pagination">
<pagination
v-show="applyTotal > 0"
:total="applyTotal"
:page="applyQueryParams.pageNo"
:limit="applyQueryParams.pageSize"
@update:page="val => applyQueryParams.pageNo = val"
@update:limit="val => applyQueryParams.pageSize = val"
@pagination="getSurgicalScheduleList"
/>
</div>
<!-- 结果表格卡片 -->
<el-card shadow="never" class="apply-card">
<el-table
ref="applyTableRef"
v-loading="applyLoading"
:data="applyList"
row-key="surgeryNo"
@row-click="handleApplyRowClick"
:row-class-name="tableRowClassName"
style="width: 100%"
max-height="320"
>
<el-table-column type="selection" width="55" :selectable="handleSelectable" />
<el-table-column label="ID" align="center" width="80" fixed>
<template #default="{ $index }">
{{ (applyQueryParams.pageNo - 1) * applyQueryParams.pageSize + $index + 1 }}
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="name" width="100" />
<el-table-column label="手术单号" align="center" prop="surgeryNo" width="120" />
<el-table-column label="手术名称" align="center" prop="descJson.surgeryName" min-width="140" show-overflow-tooltip />
<el-table-column label="申请科室" align="center" width="100" prop="applyDeptName" />
<el-table-column label="手术类型" align="center" width="90">
<template #default="scope">
{{ getSurgeryTypeName(scope.row.surgeryType) }}
</template>
</el-table-column>
<el-table-column label="手术等级" align="center" width="90">
<template #default="scope">
{{ getSurgeryLevelName(scope.row.surgeryLevel || scope.row.descJson?.surgeryLevel) }}
</template>
</el-table-column>
<el-table-column label="麻醉方式" align="center" width="90">
<template #default="scope">
{{ getAnesthesiaName(scope.row.anesthesiaTypeEnum) }}
</template>
</el-table-column>
<el-table-column label="主刀医生" align="center" width="100" prop="mainSurgeonName" />
</el-table>
<!-- 分页在卡片内部 -->
<div class="apply-pagination">
<pagination
v-show="applyTotal > 0"
:total="applyTotal"
:page="applyQueryParams.pageNo"
:limit="applyQueryParams.pageSize"
layout="total, sizes, prev, pager, next"
@update:page="val => applyQueryParams.pageNo = val"
@update:limit="val => applyQueryParams.pageSize = val"
@pagination="getSurgicalScheduleList"
/>
</div>
</el-card>
<!-- 底部操作区 -->
<template #footer>
<div class="dialog-footer" style="padding-top: 12px; border-top: 1px solid #ebeef5">
@@ -2468,19 +2469,35 @@ function getRowClassName({ row, rowIndex }) {
margin-left: 10px;
}
/* 手术申请查询弹窗 — 分页与footer间距 */
/* 手术申请查询弹窗 — flex 布局确保分页不溢出 */
.surgery-apply-dialog :deep(.el-dialog__body) {
display: flex;
flex-direction: column;
padding-bottom: 16px;
overflow: hidden;
}
.surgery-apply-dialog :deep(.el-dialog__footer) {
padding-top: 8px;
padding-top: 0;
}
.surgery-apply-dialog :deep(.apply-card) {
flex: 1;
overflow: hidden;
min-height: 0;
}
.surgery-apply-dialog :deep(.apply-card .el-card__body) {
overflow-y: auto;
}
.surgery-apply-dialog :deep(.apply-pagination) {
padding-top: 12px;
padding-bottom: 16px;
display: flex;
justify-content: flex-end;
padding-top: 8px;
border-top: 1px solid #ebeef5;
}
.surgery-apply-dialog :deep(.apply-pagination .pagination-container) {
margin-top: 0;
}
.surgery-apply-dialog :deep(.apply-pagination .el-pagination) {
margin-right: 80px;
position: static;
}
/* 选中行样式 */
@@ -2496,17 +2513,33 @@ function getRowClassName({ row, rowIndex }) {
<style>
/* 手术申请查询弹窗 — 非 scoped 确保穿透 teleport */
.surgery-apply-dialog .apply-pagination {
padding-top: 12px !important;
padding-bottom: 16px !important;
}
.surgery-apply-dialog .apply-pagination .el-pagination {
margin-right: 80px !important;
}
.surgery-apply-dialog .el-dialog__body {
display: flex !important;
flex-direction: column !important;
padding-bottom: 16px !important;
overflow: hidden !important;
}
.surgery-apply-dialog .el-dialog__footer {
padding-top: 0 !important;
}
.surgery-apply-dialog .apply-card {
flex: 1 !important;
overflow: hidden !important;
min-height: 0 !important;
}
.surgery-apply-dialog .apply-card .el-card__body {
overflow-y: auto !important;
}
.surgery-apply-dialog .apply-pagination {
display: flex !important;
justify-content: flex-end !important;
padding-top: 8px !important;
border-top: 1px solid #ebeef5 !important;
}
.surgery-apply-dialog .apply-pagination .pagination-container {
margin-top: 0 !important;
}
.surgery-apply-dialog .apply-pagination .el-pagination {
position: static !important;
}
</style>