{
if (!descJson) return '-';
try {
const obj = JSON.parse(descJson);
- // specimenName 或 sampleType 字段
- return obj.specimenName || obj.sampleType || '-';
+ // 优先取标签字段(新格式),其次取码值字段,兼容旧数据 sampleType
+ return obj.specimenNameLabel || obj.specimenName || obj.sampleType || '-';
} catch (e) {
console.error('解析 descJson 失败:', e);
return '-';
@@ -649,8 +655,8 @@ const parseSpecimenType = (descJson) => {
/**
* 根据申请单详情构建申请单名称
- * 单一项目:显示项目名称+数量
- * 多个项目:显示首个项目名称+数量+"等X项"
+ * 单一项目:直接显示项目全名(不拼接数量)
+ * 多个项目:显示"项目1 + 项目2 等n项"缩略格式
*/
const buildApplicationName = (row) => {
const details = row.requestFormDetailList;
@@ -658,11 +664,24 @@ const buildApplicationName = (row) => {
return row.name || '-';
}
if (details.length === 1) {
- const item = details[0];
- return `${item.adviceName}${item.quantity || ''}`;
+ // 单一项目:直接显示项目全名
+ return details[0].adviceName || row.name || '-';
}
- const first = details[0];
- return `${first.adviceName}${first.quantity || ''}等${details.length}项`;
+ // 多个项目:首项 + 第二项 + 等n项
+ const names = details.map((d) => d.adviceName).filter(Boolean);
+ if (names.length === 0) return row.name || '-';
+ const first = names[0];
+ const second = names.length > 1 ? ` + ${names[1]}` : '';
+ return `${first}${second} 等${details.length}项`;
+};
+
+/**
+ * 获取申请单完整项目名称列表(用于 tooltip 展示)
+ */
+const buildFullName = (row) => {
+ const details = row.requestFormDetailList;
+ if (!details || details.length === 0) return row.name || '-';
+ return details.map((d) => d.adviceName).filter(Boolean).join(' + ') || row.name || '-';
};
const isFieldMatched = (key) => {
diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue
index de8b4990c..bdeb9d810 100755
--- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue
+++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue
@@ -147,8 +147,6 @@ onBeforeMount(() => {});
onMounted(() => {});
const applicationFormNameRef = ref();
const submitApplicationForm = () => {
- console.log(applicationFormNameRef.value);
-
if (applicationFormNameRef.value?.submit) {
applicationFormNameRef.value.submit();
}
diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue
index 2c261b134..52bdfdd50 100755
--- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue
+++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue
@@ -31,9 +31,10 @@
共 {{ totalCount }} 项
@@ -182,44 +183,10 @@
style="width: 100%"
>
-
-
-
-
-
-
-
-
-
@@ -247,11 +214,12 @@