From 427d567337844471898554e63fb8fef4a47afea6 Mon Sep 17 00:00:00 2001
From: duzhongxu <15039018447@163.com>
Date: Fri, 20 Mar 2026 17:26:02 +0800
Subject: [PATCH] =?UTF-8?q?205=20=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE-=E3=80=8B=E5=A5=97=E9=A4=90=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=EF=BC=9A=E7=82=B9=E5=BC=80=E3=80=90=E5=A5=97=E9=A4=90?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE=E3=80=91TAB=E9=A1=B5=E9=9D=A2=E7=9A=84?=
=?UTF-8?q?=E5=86=85=E5=AE=B9=E5=A5=97=E9=A4=90=E9=87=91=E9=A2=9D=E3=80=81?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=B4=B9=E5=8F=8A=E6=A3=80=E9=AA=8C=E5=A5=97?=
=?UTF-8?q?=E9=A4=90=E6=98=8E=E7=BB=86=E5=B8=A6=E5=85=A5=E8=84=8F=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=EF=BC=8C=20206=20=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE-=E3=80=8B=E5=A5=97=E9=A4=90=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=EF=BC=9A=E5=8D=AB=E7=94=9F=E6=9C=BA=E6=9E=84=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E5=8F=96=E5=80=BC=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95?=
=?UTF-8?q?=E8=B4=A6=E6=88=B7=E7=9A=84=E7=A7=91=E5=AE=A4=E5=90=8D=E7=A7=B0?=
=?UTF-8?q?=E4=BA=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/maintainSystem/Inspection/index.vue | 107 +++++++++++++++++-
1 file changed, 101 insertions(+), 6 deletions(-)
diff --git a/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue
index d7f87497..21b02482 100644
--- a/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue
+++ b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue
@@ -488,7 +488,24 @@
卫生机构
-
+
+
+
套餐金额
@@ -1006,7 +1023,83 @@ const handleFocus = () => {
}
*/
};
+// 获取当前登录用户信息
+// --- 新增:存储租户/机构列表和当前选中的值 ---
+const tenantOptions = ref([]); // 存储从后端获取的租户列表
+const selectedTenantId = ref(null); // 存储当前选中的租户ID
+// --- 新增:控制租户列表加载状态 ---
+const loadingTenant = ref(false); // 控制下拉框的加载状态
+const fetchTenantList = async () => {
+
+ if (loadingTenant.value) return; // 防止重复请求
+ loadingTenant.value = true;
+
+ try {
+
+ const response = await request({
+ url: '/system/tenant/page',
+ method: 'get',
+ params: {
+ pageNum: 1,
+ pageSize: 100
+ }
+ });
+
+
+
+ if (response.code === 200) {
+ let tenantData = [];
+
+ // --- 关键修改:优先检查 records 字段 ---
+ if (response.data && response.data.records && Array.isArray(response.data.records)) {
+ tenantData = response.data.records;
+
+ } else if (response.data && response.data.rows && Array.isArray(response.data.rows)) {
+ // 兼容旧的 rows 格式
+ tenantData = response.data.rows;
+
+ } else if (response.data && Array.isArray(response.data)) {
+ // 兼容最简单的数组格式
+ tenantData = response.data;
+
+ } else {
+
+ tenantData = [];
+ }
+
+ // 格式化数据以适应 el-select
+ tenantOptions.value = tenantData.map(item => ({
+ value: item.id,
+ label: item.tenantName || item.name || item.orgName || String(item.id) || '未知机构'
+ }));
+
+ // 如果仍未设置默认值且列表不为空,选择第一个
+ if (!selectedTenantId.value && tenantOptions.value.length > 0) {
+ selectedTenantId.value = tenantOptions.value[0].value;
+
+ }
+ } else {
+
+ ElMessage.error(response.msg || '获取机构列表失败,请联系管理员');
+ tenantOptions.value = [];
+ }
+ } catch (error) {
+
+ ElMessage.error('网络异常或数据解析错误,请检查控制台日志');
+ tenantOptions.value = [];
+ } finally {
+ // 确保无论成功还是失败都停止加载状态
+ loadingTenant.value = false;
+ }
+
+};
+// 展开时若列表为空则加载数据
+const handleTenantVisibleChange = async (visible) => {
+ if (visible && tenantOptions.value.length === 0) { // 仅在展开且列表为空时加载
+ await fetchTenantList();
+ }
+};
/**
* 获取数据方法
* 这里不再接收搜索关键词,而是直接拉取所有启用的套餐
@@ -2416,19 +2509,21 @@ const handlePackageManagement = () => {
const refreshPage = () => {
getInspectionTypeList();
// 刷新时也重新加载套餐项目
- loadPackageItemsFromAPI();
+ // loadPackageItemsFromAPI();
};
// 页面加载时获取数据
onMounted(() => {
getInspectionTypeList();
getLisGroupList();
- // 加载检验套餐明细项目
- loadPackageItemsFromAPI();
- // 初始化计算套餐金额和服务费
- calculateAmounts();
+ // // 加载检验套餐明细项目
+ // loadPackageItemsFromAPI();
+ // // 初始化计算套餐金额和服务费
+ // calculateAmounts();
+ fetchTenantList(); // 页面加载时获取租户列表
});
+
// 监听检验分类代码,当字典数据加载完成后加载检验项目数据
watch(activity_category_code, (newVal) => {
if (newVal && newVal.length > 0 && inspectionItems.value.length === 0) {