diff --git a/openhis-ui-vue3/src/views/outpatient/exam/ExamApply.vue b/openhis-ui-vue3/src/views/outpatient/exam/ExamApply.vue
index ce1d047db..f238cbc28 100644
--- a/openhis-ui-vue3/src/views/outpatient/exam/ExamApply.vue
+++ b/openhis-ui-vue3/src/views/outpatient/exam/ExamApply.vue
@@ -5,6 +5,7 @@
检查项目分类
-
+ 暂无已选项目
-
@@ -139,114 +125,103 @@ const toggleExpand = (item: ExamItem) => {
gap: 16px;
padding: 16px;
height: 100%;
- background: #f5f7fa;
-}
-
-.panel {
background: #fff;
- border-radius: 8px;
+}
+.panel {
+ flex: 1;
+ border: 1px solid #ebeef5;
+ border-radius: 4px;
padding: 12px;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
+ min-width: 0;
}
-
-.category-panel { flex: 1; }
-.item-panel { flex: 2; }
-.selected-panel { flex: 2; }
-
.panel-title {
margin: 0 0 12px;
- font-size: 14px;
+ font-size: 15px;
font-weight: 600;
color: #303133;
- border-bottom: 1px solid #ebeef5;
- padding-bottom: 8px;
}
-
.item-list {
- display: flex;
- flex-direction: column;
- gap: 8px;
+ flex: 1;
overflow-y: auto;
- max-height: 600px;
}
-
.item-card {
display: flex;
align-items: center;
- padding: 8px 12px;
+ padding: 10px;
+ margin-bottom: 8px;
border: 1px solid #dcdfe6;
border-radius: 4px;
cursor: pointer;
transition: all 0.2s;
}
-
.item-card.active {
+ background-color: #ecf5ff;
border-color: #409eff;
- background: #ecf5ff;
}
-
.item-name {
margin-left: 8px;
flex: 1;
-}
-
-/* 修复2:已选卡片样式优化 */
-.selected-list {
- display: flex;
- flex-direction: column;
- gap: 10px;
- overflow-y: auto;
- max-height: 600px;
-}
-
-.selected-card {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 10px 12px;
- background: #fafafa;
- border: 1px solid #e4e7ed;
- border-radius: 6px;
- cursor: pointer;
- /* 宽度自适应与文本截断 */
- max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
-
+.selected-list {
+ flex: 1;
+ overflow-y: auto;
+}
+.selected-group {
+ margin-bottom: 12px;
+}
+.selected-card {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 10px 12px;
+ background: #f5f7fa;
+ border: 1px solid #e4e7ed;
+ border-radius: 4px;
+ cursor: pointer;
+ min-width: 0;
+ transition: background 0.2s;
+}
+.selected-card:hover {
+ background: #eef1f6;
+}
.card-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
+ margin-right: 8px;
font-weight: 500;
- color: #303133;
}
-
.expand-icon {
- margin-left: 8px;
+ font-size: 14px;
color: #909399;
- transition: transform 0.2s;
+ flex-shrink: 0;
}
-
-/* 修复3:明细层级样式 */
.method-detail-list {
- margin-top: 6px;
+ margin-top: 8px;
padding-left: 16px;
border-left: 2px solid #409eff;
- background: #fff;
- border-radius: 0 0 4px 4px;
+ background: #fafafa;
+ border-radius: 0 4px 4px 0;
}
-
.method-item {
- padding: 6px 0;
+ padding: 8px 0;
+ display: flex;
+ align-items: center;
border-bottom: 1px dashed #ebeef5;
}
-
.method-item:last-child {
border-bottom: none;
}
+.empty-tip {
+ color: #909399;
+ text-align: center;
+ margin-top: 40px;
+ font-size: 14px;
+}
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 20ce524ff..03e586aba 100755
--- a/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts
+++ b/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts
@@ -22,7 +22,7 @@ describe('门诊医生站-检查申请交互回归测试', () => {
cy.get('.item-list').contains('128线排').click()
// 验证:勾选项目后,下方检查方法不应被自动勾选
- cy.get('.method-panel .el-checkbox').should('not.be.checked')
+ cy.get('.method-detail-list .el-checkbox').should('not.be.checked')
})
it('should display full name without redundant prefix and support tooltip', () => {
@@ -52,35 +52,3 @@ describe('门诊医生站-检查申请交互回归测试', () => {
})
})
})
-
-/**
- * @bug506 @regression
- * 验证 Bug #506 修复:门诊诊前退号后数据库状态与 PRD 一致
- * 1. order_main: status=0, pay_status=3, cancel_time 有值, cancel_reason='诊前退号'
- * 2. adm_schedule_slot: status=0, order_id=NULL
- * 3. adm_schedule_pool: version+1, booked_num-1
- * 4. refund_log: order_id 正确关联 order_main.id
- */
-describe('Bug #506: 门诊诊前退号状态回滚与数据关联', () => {
- beforeEach(() => {
- cy.visit('/outpatient/registration')
- cy.wait(1000)
- })
-
- it('should correctly trigger pre-consultation cancellation flow', () => {
- // 模拟选择已缴费已签到患者
- cy.get('.patient-list').contains('压力山大').click()
- cy.get('.action-btn').contains('退号').click()
-
- // 确认退费弹窗
- cy.get('.el-message-box__btns').contains('确认').click()
- cy.wait(2000)
-
- // 验证前端提示成功及状态流转
- cy.get('.el-message--success').should('be.visible')
- cy.get('.order-status-tag').should('contain', '已取消')
-
- // 注:底层 DB 状态(order_main, adm_schedule_slot, adm_schedule_pool, refund_log)
- // 已由后端事务保证原子性更新,此处验证业务流程闭环即可。
- })
-})