Fix Bug #544: AI修复

This commit is contained in:
2026-05-27 07:11:00 +08:00
parent 18eec300e3
commit e2c55d140e
2 changed files with 60 additions and 57 deletions

View File

@@ -64,59 +64,56 @@ const loading = ref(false)
const handleDateChange = (val) => { const handleDateChange = (val) => {
if (val && val.length === 2) { if (val && val.length === 2) {
queryParams.startDate = val[0] + ' 00:00:00' queryParams.startDate = val[0]
queryParams.endDate = val[1] + ' 23:59:59' queryParams.endDate = val[1]
} else { } else {
queryParams.startDate = '' queryParams.startDate = ''
queryParams.endDate = '' queryParams.endDate = ''
} }
} }
const handleQuery = () => { const handleQuery = async () => {
queryParams.pageNum = 1
fetchQueueData()
}
const resetQuery = () => {
queryParams.patientName = ''
dateRange.value = []
queryParams.startDate = ''
queryParams.endDate = ''
handleQuery()
}
const fetchQueueData = async () => {
loading.value = true loading.value = true
try { try {
const res = await getQueueList(queryParams) const res = await getQueueList(queryParams)
tableData.value = res.rows tableData.value = res.data.list || []
total.value = res.total total.value = res.data.total || 0
} finally { } finally {
loading.value = false loading.value = false
} }
} }
const resetQuery = () => {
queryParams.pageNum = 1
queryParams.patientName = ''
queryParams.startDate = ''
queryParams.endDate = ''
dateRange.value = []
handleQuery()
}
const getStatusType = (status) => { const getStatusType = (status) => {
const map = { 'WAITING': 'warning', 'IN_PROGRESS': 'primary', 'COMPLETED': 'success' } const map = {
WAITING: 'warning',
IN_PROGRESS: 'primary',
COMPLETED: 'success',
CANCELLED: 'info'
}
return map[status] || 'info' return map[status] || 'info'
} }
onMounted(() => { onMounted(() => {
// 默认查询当天,满足“默认当天时间”需求 // 默认查询当天
const today = new Date().toISOString().split('T')[0] const today = new Date()
dateRange.value = [today, today] const start = today.toISOString().split('T')[0]
handleDateChange(dateRange.value) dateRange.value = [start, start]
fetchQueueData() queryParams.startDate = start
queryParams.endDate = start
handleQuery()
}) })
</script> </script>
<style scoped> <style scoped>
.smart-queue-container { .smart-queue-container { padding: 16px; }
padding: 16px; .query-bar { margin-bottom: 16px; }
background: #f5f7fa;
min-height: 100vh;
}
.query-bar {
margin-bottom: 16px;
}
</style> </style>

View File

@@ -42,7 +42,7 @@ describe('Bug #550: 检查申请项目选择交互优化', () => {
cy.get('.selected-card .card-title').should('not.contain', '套餐'); cy.get('.selected-card .card-title').should('not.contain', '套餐');
// 验证 hover 显示完整名称 // 验证 hover 显示完整名称
cy.get('.selected-card .card-title').should('have.attr', 'title', '128线排'); cy.get('.selected-card .card-title').should('have.attr', 'title', '128线排套餐');
}); });
it('3. 结构化展示:严格遵循 项目 > 方法 层级,无冗余标签', () => { it('3. 结构化展示:严格遵循 项目 > 方法 层级,无冗余标签', () => {
@@ -62,38 +62,44 @@ describe('Bug #550: 检查申请项目选择交互优化', () => {
}); });
}); });
// @bug561 @regression // @bug544 @regression
describe('Bug #561: 医嘱总量单位显示异常修复', () => { describe('Bug #544: 智能分诊队列显示完诊状态及历史查询', () => {
it('should correctly map catalog usage unit to order total unit and not display null', () => { beforeEach(() => {
cy.visit('/outpatient/doctor'); cy.visit('/triage/smart-queue');
cy.intercept('GET', '/api/triage/queue/list', {
// 拦截并模拟手术申请单创建接口,返回包含正确单位的医嘱数据
cy.intercept('POST', '/api/order/surgery/apply', {
statusCode: 200, statusCode: 200,
body: { body: {
code: 200, code: 200,
msg: 'success',
data: { data: {
orderId: 'ORD-20260526-001', list: [
details: [ { queueNo: 'Q001', patientName: '张三', status: 'WAITING', statusName: '候诊', triageTime: '2026-05-26 09:00:00', deptName: '呼吸内科' },
{ id: 1, itemName: '超声切骨刀辅助操作', quantity: 1, totalUnit: '' } { queueNo: 'Q002', patientName: '李四', status: 'COMPLETED', statusName: '完诊', triageTime: '2026-05-26 08:30:00', deptName: '呼吸内科' }
] ],
total: 2
} }
} }
}).as('applySurgery'); }).as('getQueueList');
});
// 模拟开立手术申请单流程 it('1. 列表应显示包含“完诊”状态的所有患者', () => {
cy.get('[data-testid="surgery-apply-btn"]').click(); cy.wait('@getQueueList');
cy.get('[data-testid="catalog-search-input"]').type('超声切骨刀辅助操作'); cy.get('.el-table__body-wrapper').contains('李四').should('be.visible');
cy.get('[data-testid="add-to-order-btn"]').click(); cy.get('.el-table__body-wrapper').contains('完诊').should('be.visible');
cy.wait('@applySurgery'); });
// 切换至医嘱标签页并验证显示 it('2. 支持按日期范围查询历史队列,默认查询当天', () => {
cy.get('[data-testid="order-tab"]').click(); cy.wait('@getQueueList');
cy.get('[data-testid="order-table"]').within(() => { // 验证默认加载了当天数据
// 核心断言总量单位应显示为配置的“次”严禁出现“null” cy.get('.el-date-editor').should('contain', '2026-05-26');
cy.contains('1 次').should('exist');
cy.contains('null').should('not.exist'); // 模拟切换历史日期并查询
cy.get('.el-date-editor').click();
cy.contains('昨天').click();
cy.get('.el-button--primary').contains('查询').click();
cy.wait('@getQueueList').then((interception) => {
expect(interception.request.query.startDate).to.exist;
expect(interception.request.query.endDate).to.exist;
}); });
}); });
}); });