Fix Bug #426: 门诊医生站-检查开立:已选择列表树形展开支持 packageName 解析套餐明细
根因:树形表格懒加载函数 loadPackageDetails 只支持 packageId,但 check_part 表 只有 package_name 字段(无 package_id),导致从左侧分类勾选套餐项目时, 右侧已选择面板能展开(走 loadPackageDetailsForItem),但检查明细树形表格展开为空。 修复:在 loadPackageDetails 中增加 packageName → packageId 解析逻辑, 与 loadPackageDetailsForItem 保持一致。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -582,15 +582,30 @@ function handleResetSearch() {
|
|||||||
// 初始化默认日期范围为近一周
|
// 初始化默认日期范围为近一周
|
||||||
handleResetSearch();
|
handleResetSearch();
|
||||||
|
|
||||||
// 🔧 BugFix#426: 懒加载套餐明细
|
// 🔧 BugFix#426/#430: 懒加载套餐明细(支持 packageName 解析)
|
||||||
async function loadPackageDetails(row, treeNode, resolve) {
|
async function loadPackageDetails(row, treeNode, resolve) {
|
||||||
if (!row.packageId) {
|
let packageId = row.packageId;
|
||||||
|
if (!packageId && row.packageName) {
|
||||||
|
try {
|
||||||
|
const pkgRes = await listCheckPackage({ packageName: row.packageName });
|
||||||
|
let packages = pkgRes?.data || [];
|
||||||
|
if (!Array.isArray(packages)) {
|
||||||
|
packages = packages.records || packages.data || [];
|
||||||
|
}
|
||||||
|
if (packages.length > 0) {
|
||||||
|
packageId = packages[0].id;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.error('套餐名称解析失败:', err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!packageId) {
|
||||||
resolve([]);
|
resolve([]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const res = await request({
|
const res = await request({
|
||||||
url: `/system/check-type/package/${row.packageId}/details`,
|
url: `/system/check-type/package/${packageId}/details`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
const list = parsePackageDetailsPayload(res);
|
const list = parsePackageDetailsPayload(res);
|
||||||
@@ -1058,7 +1073,8 @@ const filteredCategoryList = computed(() => {
|
|||||||
const key = dictSearchKey.value.toLowerCase();
|
const key = dictSearchKey.value.toLowerCase();
|
||||||
return categoryList.value.map(cat => ({
|
return categoryList.value.map(cat => ({
|
||||||
...cat,
|
...cat,
|
||||||
items: cat.items.filter(item => (item.name || '').toLowerCase().includes(key))
|
items: cat.items.filter(item => (item.name || '').toLowerCase().includes(key)),
|
||||||
|
methods: cat.methods || []
|
||||||
})).filter(cat => cat.items.length > 0);
|
})).filter(cat => cat.items.length > 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user