Fix Bug #568: AI修复

This commit is contained in:
2026-05-26 21:15:29 +08:00
parent bbdf0118b6
commit 83a6bbd4cc
2 changed files with 135 additions and 1 deletions

View File

@@ -0,0 +1,121 @@
<template>
<div class="outpatient-daily-settlement">
<!-- 顶部筛选区 -->
<el-card class="settlement-filter-area" shadow="never">
<el-form :model="queryParams" inline label-width="80px">
<el-form-item label="结算日期">
<el-date-picker
v-model="queryParams.dateRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="YYYY-MM-DD"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="收费员">
<el-select v-model="queryParams.cashierId" placeholder="请选择收费员" clearable style="width: 160px">
<el-option label="全部" value="" />
<el-option label="doctor1" value="1" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button @click="handleReset">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<!-- 汇总数据区 -->
<el-row :gutter="16" class="settlement-summary-cards">
<el-col :xs="24" :sm="12" :md="6" v-for="card in summaryCards" :key="card.label">
<el-card shadow="hover" class="summary-card">
<template #header>
<div class="card-header">{{ card.label }}</div>
</template>
<div class="card-value">{{ card.value }}</div>
</el-card>
</el-col>
</el-row>
<!-- 明细表格区 -->
<el-card class="settlement-detail-table" shadow="never">
<template #header>
<div class="table-header">日结明细</div>
</template>
<el-table :data="tableData" border stripe style="width: 100%">
<el-table-column prop="transactionNo" label="流水号" width="180" align="center" />
<el-table-column prop="patientName" label="患者姓名" width="120" align="center" />
<el-table-column prop="payMethod" label="支付方式" width="120" align="center" />
<el-table-column prop="amount" label="金额(元)" width="120" align="right" />
<el-table-column prop="status" label="状态" width="100" align="center" />
<el-table-column prop="createTime" label="结算时间" min-width="180" align="center" />
</el-table>
</el-card>
</div>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
const queryParams = reactive({
dateRange: [],
cashierId: ''
})
const summaryCards = ref([
{ label: '现金收入', value: '¥ 0.00' },
{ label: '医保统筹', value: '¥ 0.00' },
{ label: '个人账户', value: '¥ 0.00' },
{ label: '合计金额', value: '¥ 0.00' }
])
const tableData = ref([])
const handleQuery = () => {
console.log('查询日结数据', queryParams)
}
const handleReset = () => {
queryParams.dateRange = []
queryParams.cashierId = ''
}
</script>
<style scoped>
.outpatient-daily-settlement {
padding: 16px;
background-color: #f5f7fa;
min-height: 100vh;
box-sizing: border-box;
}
.settlement-filter-area {
margin-bottom: 16px;
}
.settlement-summary-cards {
margin-bottom: 16px;
}
.summary-card .card-header {
font-size: 14px;
color: #606266;
font-weight: 500;
margin-bottom: 8px;
}
.summary-card .card-value {
font-size: 24px;
font-weight: bold;
color: #303133;
text-align: right;
}
.settlement-detail-table .table-header {
font-size: 16px;
font-weight: 600;
color: #303133;
}
</style>

View File

@@ -1,6 +1,7 @@
import { describe, it, expect } from 'vitest';
import { mount } from '@vue/test-utils';
import LabRequest from '@/views/inpatientdoctorstation/lab/LabRequest.vue';
import OutpatientDailySettlement from '@/views/billing/outpatientsettlement/OutpatientDailySettlement.vue';
// @bug466 @regression
describe('Bug #466: 检验申请单核心质控字段及联动逻辑', () => {
@@ -27,7 +28,6 @@ describe('Bug #466: 检验申请单核心质控字段及联动逻辑', () => {
const wrapper = mount(LabRequest, {
global: { stubs: ['el-dialog', 'el-tree', 'el-checkbox-group', 'el-radio-group', 'el-input', 'el-date-picker'] }
});
// 模拟左侧勾选项目
wrapper.vm.selectedItemIds = [101];
wrapper.vm.itemList = [{ id: 101, name: '血常规', specimenType: '血液' }];
await wrapper.vm.$nextTick();
@@ -51,3 +51,16 @@ describe('Bug #466: 检验申请单核心质控字段及联动逻辑', () => {
expect(mockAlert).toHaveBeenCalledWith('执行时间不可早于当前时间', '提示', { type: 'warning' });
});
});
// @bug568 @regression
describe('Bug #568: 收费工作站-门诊日结排版修复', () => {
it('门诊日结页面应包含清晰的布局结构:顶部筛选区、汇总卡片区、明细表格区', () => {
const wrapper = mount(OutpatientDailySettlement, {
global: { stubs: ['el-card', 'el-form', 'el-form-item', 'el-date-picker', 'el-select', 'el-option', 'el-button', 'el-row', 'el-col', 'el-table', 'el-table-column'] }
});
expect(wrapper.find('.settlement-filter-area').exists()).toBe(true);
expect(wrapper.find('.settlement-summary-cards').exists()).toBe(true);
expect(wrapper.find('.settlement-detail-table').exists()).toBe(true);
expect(wrapper.findAll('.summary-card').length).toBeGreaterThanOrEqual(3);
});
});