诊疗下没有项目功能完善

This commit is contained in:
2026-01-26 11:59:13 +08:00
parent 2df1ed645f
commit 1616f66fc4
6 changed files with 22 additions and 576 deletions

View File

@@ -11,7 +11,7 @@
@row-click="clickRow"
>
<el-table-column label="名称" align="center" prop="adviceName" />
<el-table-column label="类型" align="center" prop="activityType_enumText" />
<el-table-column label="类型" align="center" prop="activityType_dictText" />
<el-table-column label="包装单位" align="center" prop="unitCode_dictText" />
<el-table-column label="最小单位" align="center" prop="minUnitCode_dictText" />
<el-table-column label="规格" align="center" prop="volume" />

View File

@@ -30,9 +30,6 @@
v-loading="loading"
>
<el-table-column label="名称" align="center" prop="adviceName" width="200" show-overflow-tooltip />
<el-table-column label="类型" align="center" width="100">
<template #default="scope">{{ getCategoryName(scope.row) }}</template>
</el-table-column>
<el-table-column label="包装单位" align="center" prop="unitCode_dictText" width="100" />
<el-table-column label="最小单位" align="center" prop="minUnitCode_dictText" width="100" />
<el-table-column label="单次剂量" align="center" width="120">
@@ -105,6 +102,8 @@ const medicalInsuranceLevelMap = {
// 获取药品分类名称 - 使用系统统一的数据字典
function getCategoryName(row) {
if (!row) return '-';
if (row.adviceType === 1) { // 药品类型
// 优先使用系统统一的药品分类数据字典
if (med_category_code.value && med_category_code.value.length > 0) {
@@ -124,10 +123,11 @@ function getCategoryName(row) {
} else if (row.adviceType === 2) { // 耗材类型
return '耗材';
} else if (row.adviceType === 3) { // 诊疗类型
// 使用目录类别的字典文本显示
return row.categoryCode_dictText || row.categoryCode || '诊疗';
// 对于诊疗类型activityType 就是 category_code 的整数值,使用 activityType_dictText 显示
return row.activityType_dictText || row.categoryCode_dictText || row.categoryCode || '诊疗';
}
return row.activityType_dictText || '-';
// 其他情况使用 categoryCode_dictText
return row.categoryCode_dictText || '-';
}
// 获取医保等级 - 简单直接的实现
@@ -178,16 +178,19 @@ const isRequestInProgress = ref(false); // 请求进行中的标志
// 计算属性:根据搜索条件过滤数据
const filteredAdviceBaseList = computed(() => {
let result = [];
if (!props.adviceQueryParams.searchKey) {
return adviceBaseList.value.slice(0, 50); // 返回前50个常用项目
result = adviceBaseList.value.slice(0, 50); // 返回前50个常用项目
} else {
const searchKey = props.adviceQueryParams.searchKey.toLowerCase();
result = adviceBaseList.value.filter(item =>
item.adviceName.toLowerCase().includes(searchKey) ||
item.py_str?.toLowerCase().includes(searchKey) ||
item.wb_str?.toLowerCase().includes(searchKey)
).slice(0, 100); // 限制返回数量
}
const searchKey = props.adviceQueryParams.searchKey.toLowerCase();
return adviceBaseList.value.filter(item =>
item.adviceName.toLowerCase().includes(searchKey) ||
item.py_str?.toLowerCase().includes(searchKey) ||
item.wb_str?.toLowerCase().includes(searchKey)
).slice(0, 100); // 限制返回数量
return result;
});
// 预加载数据
@@ -322,7 +325,7 @@ async function getList() {
}
} else {
const res = await getAdviceBaseInfo(queryParams);
const result = res.data?.records || [];
let result = res.data?.records || [];
// 缓存结果
searchCache.set(cacheKey, {