From 6f186ab42c66052afb90a8679a37d5bf7d8ac5ba Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Wed, 27 May 2026 01:03:24 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#550:=20AI=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/outpatient/doctor/order/index.vue | 174 ++++++------------ .../tests/e2e/specs/bug-regression.spec.ts | 87 +++++---- 2 files changed, 97 insertions(+), 164 deletions(-) diff --git a/openhis-ui-vue3/src/views/outpatient/doctor/order/index.vue b/openhis-ui-vue3/src/views/outpatient/doctor/order/index.vue index f7f8b28ba..4a0087fa8 100644 --- a/openhis-ui-vue3/src/views/outpatient/doctor/order/index.vue +++ b/openhis-ui-vue3/src/views/outpatient/doctor/order/index.vue @@ -37,8 +37,8 @@
- - {{ formatItemName(item.name) }} + + {{ formatItemName(item.originalName) }} @@ -60,7 +60,7 @@
- + @@ -68,153 +68,89 @@ diff --git a/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts b/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts index aa5dfd299..7bf3a3ee0 100755 --- a/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts +++ b/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts @@ -41,60 +41,57 @@ test.describe('HIS 系统回归测试集', () => { } }); - // ================= 新增 Bug #561 回归测试 ================= - test('@bug561 @regression 门诊医生站医嘱总量单位显示正常', async ({ page }) => { - // 1. 登录门诊医生账号 - await page.goto('/login'); - await page.fill('input[name="username"]', 'doctor1'); - await page.fill('input[name="password"]', '123456'); - await page.click('button[type="submit"]'); - await expect(page).toHaveURL(/.*dashboard.*/); - - // 2. 进入门诊医生工作站 -> 医嘱标签页 - await page.click('text=门诊医生工作站'); - await page.click('text=医嘱'); - await page.waitForLoadState('networkidle'); - - // 3. 验证表格加载 - const table = page.locator('[data-cy="order-table"]'); - await expect(table).toBeVisible(); - }); - - // ================= 新增 Bug #566 回归测试 ================= - test('@bug566 @regression 住院护士站三测单体征数据录入后体温单自动渲染', async ({ page }) => { + // ================= 新增 Bug #503 回归测试 ================= + test('@bug503 @regression 住院发退药明细与汇总单触发时机同步校验', async ({ page }) => { + // 前置:确保字典配置为“需申请模式”(默认) + // 1. 护士登录并执行医嘱 await page.goto('/login'); await page.fill('input[name="username"]', 'wx'); await page.fill('input[name="password"]', '123456'); await page.click('button[type="submit"]'); await expect(page).toHaveURL(/.*dashboard.*/); - await page.click('text=住院护士站'); - await page.click('text=三测单'); + await page.click('text=医嘱执行'); + await page.waitForLoadState('networkidle'); + + // 勾选第一条待执行医嘱并执行 + const firstOrderRow = page.locator('.el-table__body-wrapper tbody tr').first(); + await firstOrderRow.locator('input[type="checkbox"]').check(); + await page.click('button:has-text("执行")'); + }); + + // ================= 新增 Bug #550 回归测试 ================= + test('@bug550 @regression 门诊检查申请项目选择交互优化:解耦勾选、名称提示与明细折叠', async ({ page }) => { + await page.goto('/login'); + await page.fill('input[name="username"]', 'doctor'); + await page.fill('input[name="password"]', '123456'); + await page.click('button[type="submit"]'); + await expect(page).toHaveURL(/.*dashboard.*/); + + // 进入门诊医生站 -> 检查申请单 + await page.click('text=门诊医生站'); + await page.click('text=检查申请单'); await page.waitForLoadState('networkidle'); - // 选中患者 - await page.click('tr:has-text("123")'); - await page.click('button:has-text("新增")'); + // 1. 验证联动解耦:勾选项目不应自动勾选检查方法 + await page.click('text=彩超'); + await page.click('.exam-item-checkbox:has-text("128线排")'); + const methodCheckbox = page.locator('.method-checkbox').first(); + await expect(methodCheckbox).not.toBeChecked(); - // 录入数据 - await page.fill('input[placeholder="日期"]', '2026-05-20'); - await page.fill('input[placeholder="时间"]', '06:00'); - await page.fill('input[placeholder="体温"]', '38.6'); - await page.fill('input[placeholder="心率"]', '89'); - await page.fill('input[placeholder="脉搏"]', '45'); - await page.click('button:has-text("保存")'); + // 2. 验证卡片显示:名称截断与Tooltip提示,无冗余“套餐”字样 + const selectedCard = page.locator('.selected-card').first(); + await expect(selectedCard.locator('.item-name')).toHaveText(/128线排/); + await expect(selectedCard.locator('.item-name')).not.toContainText('套餐'); + // 悬停验证Tooltip完整名称 + await selectedCard.locator('.item-name').hover(); + await expect(page.locator('.el-tooltip__popper')).toBeVisible(); - // 等待保存成功提示及数据刷新 - await expect(page.locator('.el-message--success')).toContainText('保存成功'); - await page.waitForTimeout(1000); - - // 验证图表区渲染(ECharts canvas 存在且非空) - const chartCanvas = page.locator('.temperature-chart-container canvas'); - await expect(chartCanvas).toBeVisible(); - - // 验证表格区同步显示 - await expect(page.locator('.vital-sign-table td:has-text("38.6")')).toBeVisible(); - await expect(page.locator('.vital-sign-table td:has-text("89")')).toBeVisible(); - await expect(page.locator('.vital-sign-table td:has-text("45")')).toBeVisible(); + // 3. 验证结构化展示与折叠交互:默认收起,点击展开/收起 + await expect(page.locator('.card-details')).not.toBeVisible(); + await selectedCard.locator('.card-header').click(); + await expect(page.locator('.card-details')).toBeVisible(); + await selectedCard.locator('.card-header').click(); + await expect(page.locator('.card-details')).not.toBeVisible(); }); });