fix: #568 (codex)

This commit is contained in:
2026-05-24 15:03:14 +08:00
parent f11fa023c4
commit 926c1f68e3

View File

@@ -1,10 +1,10 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form
:model="queryParams"
ref="queryRef"
:inline="true"
v-show="showSearch" v-show="showSearch"
ref="queryRef"
:model="queryParams"
:inline="true"
label-width="90px" label-width="90px"
> >
<el-form-item label="查询日期"> <el-form-item label="查询日期">
@@ -13,9 +13,9 @@
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
style="width: 300px; margin-right: 20px" style="width: 300px"
@change="getValue"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="getValue"
/> />
</el-form-item> </el-form-item>
<el-form-item label="费用性质"> <el-form-item label="费用性质">
@@ -23,8 +23,8 @@
v-model="contractNo" v-model="contractNo"
placeholder="费用性质" placeholder="费用性质"
clearable clearable
style="width: 160px"
@change="getValue" @change="getValue"
style="width: 160px; margin-right: 20px"
> >
<el-option <el-option
v-for="item in contractList" v-for="item in contractList"
@@ -34,145 +34,170 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item class="search-buttons">
<el-button type="primary" plain icon="Search" @click="getValue" style="margin-right: 10px">查询</el-button> <el-button
<el-button type="primary" plain icon="Printer" @click="print">打印</el-button> type="primary"
plain
icon="Search"
@click="getValue"
>
查询
</el-button>
<el-button
type="primary"
plain
icon="Printer"
@click="print"
>
打印
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div v-loading="loading" class="report-container"> <div
<div class="report-title">门诊收费日结单</div> v-loading="loading"
class="report-container"
>
<div class="report-title">
门诊收费日结单
</div>
<el-row class="info-row" :gutter="10"> <div class="info-grid">
<el-col :span="4"> <div class="info-item">
<span class="label">经办人姓名</span> <span class="label">经办人姓名</span>
<span class="value">{{ userStore.nickName || '全部' }}</span> <span class="value">{{ userStore.nickName || '全部' }}</span>
</el-col> </div>
<el-col :span="4"> <div class="info-item">
<span class="label">科室</span> <span class="label">科室</span>
<span class="value">{{ userStore.orgName || '-' }}</span> <span class="value">{{ userStore.orgName || '-' }}</span>
</el-col> </div>
<el-col :span="5"> <div class="info-item">
<span class="label">机构</span> <span class="label">机构</span>
<span class="value">{{ userStore.hospitalName || '-' }}</span> <span class="value">{{ userStore.hospitalName || '-' }}</span>
</el-col> </div>
<el-col :span="7"> <div class="info-item">
<span class="label">时间</span> <span class="label">时间</span>
<span class="value">{{ queryTime && queryTime.length === 2 ? queryTime[0] + ' ~ ' + queryTime[1] : '-' }}</span> <span class="value">{{ queryTime && queryTime.length === 2 ? queryTime[0] + ' ~ ' + queryTime[1] : '-' }}</span>
</el-col> </div>
</el-row> </div>
<div class="divider"></div> <el-divider />
<div class="section-title">收入汇总</div> <div class="section-title">
<el-row class="data-row" :gutter="10"> 收入汇总
<el-col :span="6"> </div>
<div class="data-grid">
<div class="data-item">
<span class="label">总收入</span> <span class="label">总收入</span>
<span class="value">{{ formatValue(reportValue.cashSum) }}</span> <span class="value">{{ formatValue(reportValue.cashSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">现金</span> <span class="label">现金</span>
<span class="value">{{ formatValue(reportValue.rmbCashSum) }}</span> <span class="value">{{ formatValue(reportValue.rmbCashSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">微信</span> <span class="label">微信</span>
<span class="value">{{ formatValue(reportValue.vxCashSum) }}</span> <span class="value">{{ formatValue(reportValue.vxCashSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">支付宝</span> <span class="label">支付宝</span>
<span class="value">{{ formatValue(reportValue.aliCashSum) }}</span> <span class="value">{{ formatValue(reportValue.aliCashSum) }}</span>
</el-col> </div>
</el-row> </div>
<div class="divider"></div> <el-divider />
<div class="section-title">医保支付</div> <div class="section-title">
<el-row class="data-row" :gutter="10"> 医保支付
<el-col :span="6"> </div>
<div class="data-grid">
<div class="data-item">
<span class="label">统筹支付</span> <span class="label">统筹支付</span>
<span class="value">{{ formatValue(reportValue.tcSum) }}</span> <span class="value">{{ formatValue(reportValue.tcSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">账户支付</span> <span class="label">账户支付</span>
<span class="value">{{ formatValue(reportValue.zhSum) }}</span> <span class="value">{{ formatValue(reportValue.zhSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">基金支付总额</span> <span class="label">基金支付总额</span>
<span class="value">{{ formatValue(reportValue.fundSum) }}</span> <span class="value">{{ formatValue(reportValue.fundSum) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">医保统筹+账户</span> <span class="label">医保统筹+账户</span>
<span class="value">{{ formatValue(Number(reportValue.zhSum || 0) + Number(reportValue.fundSum || 0)) }}</span> <span class="value">{{ formatValue(Number(reportValue.zhSum || 0) + Number(reportValue.fundSum || 0)) }}</span>
</el-col> </div>
</el-row> </div>
<div class="divider"></div> <el-divider />
<div class="section-title">费用明细</div> <div class="section-title">
<el-row class="data-row" :gutter="10"> 费用明细
<el-col :span="6"> </div>
<div class="data-grid">
<div class="data-item">
<span class="label">诊查费</span> <span class="label">诊查费</span>
<span class="value">{{ formatValue(reportValue.DIAGNOSTIC_FEE) }}</span> <span class="value">{{ formatValue(reportValue.DIAGNOSTIC_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">检查费</span> <span class="label">检查费</span>
<span class="value">{{ formatValue(reportValue.CHECK_FEE) }}</span> <span class="value">{{ formatValue(reportValue.CHECK_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">化验费</span> <span class="label">化验费</span>
<span class="value">{{ formatValue(reportValue.DIAGNOSTIC_TEST_FEE) }}</span> <span class="value">{{ formatValue(reportValue.DIAGNOSTIC_TEST_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">治疗费</span> <span class="label">治疗费</span>
<span class="value">{{ formatValue(reportValue.MEDICAL_EXPENSE_FEE) }}</span> <span class="value">{{ formatValue(reportValue.MEDICAL_EXPENSE_FEE) }}</span>
</el-col> </div>
</el-row> </div>
<el-row class="data-row" :gutter="10"> <div class="data-grid">
<el-col :span="6"> <div class="data-item">
<span class="label">西药费</span> <span class="label">西药费</span>
<span class="value">{{ formatValue(reportValue.WEST_MEDICINE) }}</span> <span class="value">{{ formatValue(reportValue.WEST_MEDICINE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">中药饮片费</span> <span class="label">中药饮片费</span>
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_SLICES_FEE) }}</span> <span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_SLICES_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">中成药费</span> <span class="label">中成药费</span>
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_FEE) }}</span> <span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">卫生材料费</span> <span class="label">卫生材料费</span>
<span class="value">{{ formatValue(reportValue.SANITARY_MATERIALS_FEE) }}</span> <span class="value">{{ formatValue(reportValue.SANITARY_MATERIALS_FEE) }}</span>
</el-col> </div>
</el-row> </div>
<el-row class="data-row" :gutter="10"> <div class="data-grid">
<el-col :span="6"> <div class="data-item">
<span class="label">普通挂号费</span> <span class="label">普通挂号费</span>
<span class="value">{{ formatValue(reportValue.GENERAL_CONSULTATION_FEE) }}</span> <span class="value">{{ formatValue(reportValue.GENERAL_CONSULTATION_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">挂号费</span> <span class="label">挂号费</span>
<span class="value">{{ formatValue(reportValue.REGISTRATION_FEE) }}</span> <span class="value">{{ formatValue(reportValue.REGISTRATION_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">其他费用</span> <span class="label">其他费用</span>
<span class="value">{{ formatValue(reportValue.OTHER_FEE) }}</span> <span class="value">{{ formatValue(reportValue.OTHER_FEE) }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">退费金额</span> <span class="label">退费金额</span>
<span class="value">{{ formatValue(reportValue.returnFee) }}</span> <span class="value">{{ formatValue(reportValue.returnFee) }}</span>
</el-col> </div>
</el-row> </div>
<el-row class="data-row data-row-summary" :gutter="10"> <div class="data-grid data-grid-summary">
<el-col :span="6"> <div class="data-item">
<span class="label">费用总额</span> <span class="label">费用总额</span>
<span class="value value-highlight">{{ totalFeeAmount }}</span> <span class="value value-highlight">{{ totalFeeAmount }}</span>
</el-col> </div>
<el-col :span="6"> <div class="data-item">
<span class="label">医保报销</span> <span class="label">医保报销</span>
<span class="value value-highlight">{{ insuranceReimbursement }}</span> <span class="value value-highlight">{{ insuranceReimbursement }}</span>
</el-col> </div>
</el-row> </div>
</div> </div>
</div> </div>
</template> </template>
@@ -377,9 +402,9 @@ getPharmacyCabinetLists();
} }
.report-container { .report-container {
width: 100%; max-width: 1200px;
margin: 16px 0; margin: 16px auto;
padding: 20px 24px; padding: 24px;
background: #fff; background: #fff;
border-radius: 8px; border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
@@ -389,54 +414,52 @@ getPharmacyCabinetLists();
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
font-weight: 600; font-weight: 600;
margin: 0 0 20px 0; margin: 0 0 20px;
color: #303133; color: #303133;
} }
.info-row { .info-grid {
margin-bottom: 16px; display: grid;
display: flex; grid-template-columns: repeat(4, 1fr);
flex-wrap: wrap; gap: 12px 16px;
gap: 12px 24px; padding: 8px 0;
} }
.info-row .el-col { .data-grid {
display: flex; display: grid;
align-items: center; grid-template-columns: repeat(4, 1fr);
margin-bottom: 0; gap: 10px 16px;
padding: 6px 0;
} }
.data-row { .data-grid-summary {
margin: 8px 0; margin-top: 12px;
padding-top: 12px;
border-top: 1px dashed #e4e7ed;
} }
.data-row .el-col { .info-item,
.data-item {
display: flex; display: flex;
align-items: center; align-items: baseline;
margin-bottom: 4px; line-height: 28px;
} }
.section-title { .section-title {
font-size: 15px; font-size: 15px;
font-weight: 600; font-weight: 600;
color: #409eff; color: #409eff;
padding: 12px 0 8px 12px; padding: 12px 0 8px 10px;
margin: 8px 0; margin: 4px 0 0;
border-left: 3px solid #409eff; border-left: 3px solid #409eff;
background: linear-gradient(90deg, rgba(64, 158, 255, 0.05) 0%, transparent 100%); background: linear-gradient(90deg, rgba(64, 158, 255, 0.05) 0%, transparent 100%);
} }
.divider {
height: 1px;
background: linear-gradient(90deg, transparent, #e4e7ed 10%, #e4e7ed 90%, transparent);
margin: 12px 0;
}
.label { .label {
color: #909399; color: #909399;
font-size: 13px; font-size: 13px;
white-space: nowrap; white-space: nowrap;
margin-right: 4px; min-width: 95px;
} }
.value { .value {
@@ -451,14 +474,20 @@ getPharmacyCabinetLists();
font-size: 15px; font-size: 15px;
} }
.data-row-summary { .search-buttons {
margin-top: 16px; margin-bottom: 0;
padding-top: 16px; }
border-top: 2px solid #e4e7ed;
.search-buttons .el-form-item__content {
justify-content: flex-start;
}
:deep(.el-divider--horizontal) {
margin: 16px 0;
} }
/* 搜索表单区域样式优化 */
.el-form--inline .el-form-item { .el-form--inline .el-form-item {
margin-bottom: 12px; margin-bottom: 12px;
margin-right: 16px;
} }
</style> </style>