fix: 修复前端Bug #396 #397

- #396 疾病报卡管理:搜索查询区域布局优化(单行紧凑布局)
- #397 分诊排队管理:页面标题科室名称动态获取(替代硬编码)
This commit is contained in:
2026-04-23 16:37:52 +08:00
parent acc59ab87c
commit 87d4214541
2 changed files with 85 additions and 73 deletions

View File

@@ -76,78 +76,61 @@
<div class="filter-section"> <div class="filter-section">
<el-card> <el-card>
<div class="filter-container"> <div class="filter-container">
<el-form :model="filterForm" ref="filterFormRef" label-width="80px" :inline="true" style="flex: 1; overflow: hidden;"> <!-- 修复#396优化搜索查询区域布局所有筛选条件单行排列按钮紧凑靠右 -->
<el-row :gutter="16"> <el-form :model="filterForm" ref="filterFormRef" label-width="70px" :inline="true">
<!-- 第一行 --> <div class="filter-row">
<el-col :span="24"> <el-form-item label="登记来源">
<el-row :gutter="16"> <el-select v-model="filterForm.source" placeholder="全部" clearable style="width: 100px">
<el-col :span="3"> <el-option label="门诊" value="1" />
<el-form-item label="登记来源"> <el-option label="住院" value="2" />
<el-select v-model="filterForm.source" placeholder="全部" clearable> <el-option label="急诊" value="3" />
<el-option label="门诊" value="1" /> <el-option label="体检" value="4" />
<el-option label="住院" value="2" /> </el-select>
<el-option label="急诊" value="3" /> </el-form-item>
<el-option label="体检" value="4" /> <el-form-item label="上报时间">
</el-select> <el-date-picker
</el-form-item> v-model="filterForm.dateRange"
</el-col> type="daterange"
<el-col :span="6"> range-separator=""
<el-form-item label="上报时间"> start-placeholder="开始日期"
<el-date-picker end-placeholder="结束日期"
v-model="filterForm.dateRange" value-format="YYYY-MM-DD"
type="daterange" style="width: 220px"
range-separator="" />
start-placeholder="开始日期" </el-form-item>
end-placeholder="结束日期" <el-form-item label="患者姓名">
value-format="YYYY-MM-DD" <el-input v-model="filterForm.patientName" placeholder="请输入" clearable style="width: 120px" />
/> </el-form-item>
</el-form-item> <el-form-item label="审核状态">
</el-col> <el-select v-model="filterForm.status" placeholder="全部" clearable style="width: 110px">
<el-col :span="3"> <el-option
<el-form-item label="患者姓名"> v-for="item in auditStatusList.filter(s => ['1', '2', '3', '5'].includes(s.value))"
<el-input v-model="filterForm.patientName" placeholder="请输入患者姓名" clearable /> :key="item.value"
</el-form-item> :label="item.label"
</el-col> :value="item.value"
</el-row> />
</el-col> </el-select>
<!-- 第二行 --> </el-form-item>
<el-col :span="24"> <el-form-item label="上报科室">
<el-row :gutter="16"> <el-tree-select
<el-col :span="3"> v-model="filterForm.deptId"
<el-form-item label="审核状态"> :data="deptTreeData"
<el-select v-model="filterForm.status" placeholder="全部" clearable> :props="{ children: 'children', label: 'label', value: 'value' }"
<el-option placeholder="全部科室"
v-for="item in auditStatusList.filter(s => ['1', '2', '3', '5'].includes(s.value))" clearable
:key="item.value" check-strictly
:label="item.label" style="width: 140px"
:value="item.value" />
/> </el-form-item>
</el-select> <div class="filter-buttons">
</el-form-item> <el-button type="primary" @click="handleSearch" :loading="loading">
</el-col> <el-icon><Search /></el-icon> 查询
<el-col :span="3"> </el-button>
<el-form-item label="上报科室"> <el-button @click="handleReset">
<el-tree-select <el-icon><Refresh /></el-icon> 重置
v-model="filterForm.deptId" </el-button>
:data="deptTreeData" </div>
:props="{ children: 'children', label: 'label', value: 'value' }" </div>
placeholder="全部科室"
clearable
check-strictly
/>
</el-form-item>
</el-col>
<el-col :span="18" style="display: flex; align-items: center; justify-content: flex-end;">
<el-button type="primary" @click="handleSearch" :loading="loading">
<el-icon><Search /></el-icon> 查询
</el-button>
<el-button @click="handleReset">
<el-icon><Refresh /></el-icon> 重置
</el-button>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form> </el-form>
</div> </div>
</el-card> </el-card>
@@ -1318,6 +1301,27 @@ function getAuditTypeName(type) {
width: 100%; width: 100%;
} }
/* 修复【#396】单行筛选布局样式 */
.filter-row {
display: flex;
align-items: center;
flex-wrap: nowrap;
gap: 8px;
}
.filter-row .el-form-item {
display: inline-flex !important;
width: auto !important;
margin-bottom: 0;
}
.filter-buttons {
display: inline-flex;
align-items: center;
gap: 8px;
margin-left: auto;
}
/* 表格区 */ /* 表格区 */
.table-section { .table-section {
flex: 1; flex: 1;

View File

@@ -3,7 +3,7 @@
<!-- 顶部标题栏 --> <!-- 顶部标题栏 -->
<div class="header-section"> <div class="header-section">
<div class="header-left"> <div class="header-left">
<span class="title">智能分诊排队管理 - 心内科</span> <span class="title">智能分诊排队管理 - {{ currentDeptName }}</span>
</div> </div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="handleRefresh"> <el-button type="primary" @click="handleRefresh">
@@ -401,6 +401,9 @@
<script setup> <script setup>
import { ref, reactive, computed, onMounted, onUnmounted } from 'vue' import { ref, reactive, computed, onMounted, onUnmounted } from 'vue'
import { useUserStore } from '@/store/modules/user'
const userStore = useUserStore()
import { Refresh } from '@element-plus/icons-vue' import { Refresh } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { import {
@@ -443,6 +446,11 @@ const selectedDept = ref('all')
// 就诊科室列表 // 就诊科室列表
const departmentList = ref([]) const departmentList = ref([])
// 修复【#397】动态获取当前科室名称
const currentDeptName = computed(() => {
return userStore.deptName || userStore.orgName || '心内科'
})
// 后台配置对话框 // 后台配置对话框
const configDialogVisible = ref(false) const configDialogVisible = ref(false)
const rules = ref([ const rules = ref([