fix: #568 (codex)

This commit is contained in:
2026-05-24 14:53:07 +08:00
parent 72b0040921
commit 2b2fcc0f20

View File

@@ -5,7 +5,7 @@
ref="queryRef" ref="queryRef"
:inline="true" :inline="true"
v-show="showSearch" v-show="showSearch"
label-width="80px" label-width="90px"
> >
<el-form-item label="查询日期"> <el-form-item label="查询日期">
<el-date-picker <el-date-picker
@@ -13,7 +13,7 @@
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
style="width: 280px" style="width: 300px; margin-right: 20px"
@change="getValue" @change="getValue"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
/> />
@@ -24,7 +24,7 @@
placeholder="费用性质" placeholder="费用性质"
clearable clearable
@change="getValue" @change="getValue"
style="width: 160px" style="width: 160px; margin-right: 20px"
> >
<el-option <el-option
v-for="item in contractList" v-for="item in contractList"
@@ -35,67 +35,153 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" plain icon="Search" @click="getValue">查询</el-button> <el-button type="primary" plain icon="Search" @click="getValue" style="margin-right: 10px">查询</el-button>
<el-button type="primary" plain icon="Printer" @click="print">打印</el-button> <el-button type="primary" plain icon="Printer" @click="print">打印</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-card v-loading="loading" class="report-card" shadow="never"> <div v-loading="loading" class="report-container">
<div class="report-header"> <div class="report-title">门诊收费日结单</div>
<h2 class="report-title">门诊收费日结单</h2>
</div>
<el-descriptions :column="4" border class="info-section" size="small"> <el-row class="info-row" :gutter="10">
<el-descriptions-item label="经办人姓名">{{ userStore.nickName || '-' }}</el-descriptions-item> <el-col :span="4">
<el-descriptions-item label="科室">{{ userStore.orgName || '-' }}</el-descriptions-item> <span class="label">经办人姓名</span>
<el-descriptions-item label="时间" :span="2"> <span class="value">{{ userStore.nickName || '全部' }}</span>
{{ queryTime && queryTime.length === 2 ? queryTime[0] + ' ~ ' + queryTime[1] : '-' }} </el-col>
</el-descriptions-item> <el-col :span="4">
</el-descriptions> <span class="label">科室</span>
<span class="value">{{ userStore.orgName || '-' }}</span>
</el-col>
<el-col :span="5">
<span class="label">机构</span>
<span class="value">{{ userStore.hospitalName || '-' }}</span>
</el-col>
<el-col :span="7">
<span class="label">时间</span>
<span class="value">{{ queryTime && queryTime.length === 2 ? queryTime[0] + ' ~ ' + queryTime[1] : '-' }}</span>
</el-col>
</el-row>
<div class="divider"></div>
<div class="section-title">收入汇总</div> <div class="section-title">收入汇总</div>
<el-descriptions :column="4" border class="data-section" size="small"> <el-row class="data-row" :gutter="10">
<el-descriptions-item label="总收入">{{ formatValue(reportValue.cashSum) }}</el-descriptions-item> <el-col :span="6">
<el-descriptions-item label="现金">{{ formatValue(reportValue.rmbCashSum) }}</el-descriptions-item> <span class="label">总收入</span>
<el-descriptions-item label="微信">{{ formatValue(reportValue.vxCashSum) }}</el-descriptions-item> <span class="value">{{ formatValue(reportValue.cashSum) }}</span>
<el-descriptions-item label="支付宝">{{ formatValue(reportValue.aliCashSum) }}</el-descriptions-item> </el-col>
</el-descriptions> <el-col :span="6">
<span class="label">现金</span>
<span class="value">{{ formatValue(reportValue.rmbCashSum) }}</span>
</el-col>
<el-col :span="6">
<span class="label">微信</span>
<span class="value">{{ formatValue(reportValue.vxCashSum) }}</span>
</el-col>
<el-col :span="6">
<span class="label">支付宝</span>
<span class="value">{{ formatValue(reportValue.aliCashSum) }}</span>
</el-col>
</el-row>
<div class="divider"></div>
<div class="section-title">医保支付</div> <div class="section-title">医保支付</div>
<el-descriptions :column="4" border class="data-section" size="small"> <el-row class="data-row" :gutter="10">
<el-descriptions-item label="统筹支付">{{ formatValue(reportValue.tcSum) }}</el-descriptions-item> <el-col :span="6">
<el-descriptions-item label="账户支付">{{ formatValue(reportValue.zhSum) }}</el-descriptions-item> <span class="label">统筹支付</span>
<el-descriptions-item label="基金支付总额">{{ formatValue(reportValue.fundSum) }}</el-descriptions-item> <span class="value">{{ formatValue(reportValue.tcSum) }}</span>
<el-descriptions-item label="医保统筹+账户">{{ formatValue(Number(reportValue.zhSum || 0) + Number(reportValue.fundSum || 0)) }}</el-descriptions-item> </el-col>
</el-descriptions> <el-col :span="6">
<span class="label">账户支付</span>
<span class="value">{{ formatValue(reportValue.zhSum) }}</span>
</el-col>
<el-col :span="6">
<span class="label">基金支付总额</span>
<span class="value">{{ formatValue(reportValue.fundSum) }}</span>
</el-col>
<el-col :span="6">
<span class="label">医保统筹+账户</span>
<span class="value">{{ formatValue(Number(reportValue.zhSum || 0) + Number(reportValue.fundSum || 0)) }}</span>
</el-col>
</el-row>
<div class="divider"></div>
<div class="section-title">费用明细</div> <div class="section-title">费用明细</div>
<el-descriptions :column="4" border class="data-section" size="small"> <el-row class="data-row" :gutter="10">
<el-descriptions-item label="诊查费">{{ formatValue(reportValue.DIAGNOSTIC_FEE) }}</el-descriptions-item> <el-col :span="6">
<el-descriptions-item label="检查费">{{ formatValue(reportValue.CHECK_FEE) }}</el-descriptions-item> <span class="label">诊查费</span>
<el-descriptions-item label="化验费">{{ formatValue(reportValue.DIAGNOSTIC_TEST_FEE) }}</el-descriptions-item> <span class="value">{{ formatValue(reportValue.DIAGNOSTIC_FEE) }}</span>
<el-descriptions-item label="治疗费">{{ formatValue(reportValue.MEDICAL_EXPENSE_FEE) }}</el-descriptions-item> </el-col>
<el-descriptions-item label="西药费">{{ formatValue(reportValue.WEST_MEDICINE) }}</el-descriptions-item> <el-col :span="6">
<el-descriptions-item label="中药饮片费">{{ formatValue(reportValue.CHINESE_MEDICINE_SLICES_FEE) }}</el-descriptions-item> <span class="label">检查费</span>
<el-descriptions-item label="中成药费">{{ formatValue(reportValue.CHINESE_MEDICINE_FEE) }}</el-descriptions-item> <span class="value">{{ formatValue(reportValue.CHECK_FEE) }}</span>
<el-descriptions-item label="卫生材料费">{{ formatValue(reportValue.SANITARY_MATERIALS_FEE) }}</el-descriptions-item> </el-col>
<el-descriptions-item label="普通挂号费">{{ formatValue(reportValue.GENERAL_CONSULTATION_FEE) }}</el-descriptions-item> <el-col :span="6">
<el-descriptions-item label="其他费用">{{ formatValue(reportValue.OTHER_FEE) }}</el-descriptions-item> <span class="label">化验费</span>
<el-descriptions-item label="退费金额">{{ formatValue(reportValue.returnFee) }}</el-descriptions-item> <span class="value">{{ formatValue(reportValue.DIAGNOSTIC_TEST_FEE) }}</span>
<el-descriptions-item label="费用总额">{{ formatValue(Number(reportValue.DIAGNOSTIC_FEE || 0) + Number(reportValue.CHECK_FEE || 0) + Number(reportValue.DIAGNOSTIC_TEST_FEE || 0) + Number(reportValue.MEDICAL_EXPENSE_FEE || 0) + Number(reportValue.WEST_MEDICINE || 0) + Number(reportValue.CHINESE_MEDICINE_SLICES_FEE || 0) + Number(reportValue.CHINESE_MEDICINE_FEE || 0) + Number(reportValue.GENERAL_CONSULTATION_FEE || 0) + Number(reportValue.REGISTRATION_FEE || 0) + Number(reportValue.OTHER_FEE || 0) + Number(reportValue.SANITARY_MATERIALS_FEE || 0)) }}</el-descriptions-item> </el-col>
</el-descriptions> <el-col :span="6">
</el-card> <span class="label">治疗费</span>
<span class="value">{{ formatValue(reportValue.MEDICAL_EXPENSE_FEE) }}</span>
</el-col>
</el-row>
<el-row class="data-row" :gutter="10">
<el-col :span="6">
<span class="label">西药费</span>
<span class="value">{{ formatValue(reportValue.WEST_MEDICINE) }}</span>
</el-col>
<el-col :span="6">
<span class="label">中药饮片费</span>
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_SLICES_FEE) }}</span>
</el-col>
<el-col :span="6">
<span class="label">中成药费</span>
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_FEE) }}</span>
</el-col>
<el-col :span="6">
<span class="label">卫生材料费</span>
<span class="value">{{ formatValue(reportValue.SANITARY_MATERIALS_FEE) }}</span>
</el-col>
</el-row>
<el-row class="data-row" :gutter="10">
<el-col :span="6">
<span class="label">普通挂号费</span>
<span class="value">{{ formatValue(reportValue.GENERAL_CONSULTATION_FEE) }}</span>
</el-col>
<el-col :span="6">
<span class="label">其他费用</span>
<span class="value">{{ formatValue(reportValue.OTHER_FEE) }}</span>
</el-col>
<el-col :span="6">
<span class="label">退费金额</span>
<span class="value">{{ formatValue(reportValue.returnFee) }}</span>
</el-col>
<el-col :span="6">
<span class="label">费用总额</span>
<span class="value">{{ formatValue(Number(reportValue.DIAGNOSTIC_FEE || 0) + Number(reportValue.CHECK_FEE || 0) + Number(reportValue.DIAGNOSTIC_TEST_FEE || 0) + Number(reportValue.MEDICAL_EXPENSE_FEE || 0) + Number(reportValue.WEST_MEDICINE || 0) + Number(reportValue.CHINESE_MEDICINE_SLICES_FEE || 0) + Number(reportValue.CHINESE_MEDICINE_FEE || 0) + Number(reportValue.GENERAL_CONSULTATION_FEE || 0) + Number(reportValue.REGISTRATION_FEE || 0) + Number(reportValue.OTHER_FEE || 0) + Number(reportValue.SANITARY_MATERIALS_FEE || 0)) }}</span>
</el-col>
</el-row>
<el-row class="data-row" :gutter="10">
<el-col :span="6">
<span class="label">医保报销</span>
<span class="value">{{ formatValue(Number(reportValue.tcSum || 0) + Number(reportValue.zhSum || 0)) }}</span>
</el-col>
</el-row>
</div>
</div> </div>
</template> </template>
<script setup name="dayEnd"> <script setup name="DayEnd">
import { formatDateStr } from '@/utils/openhis'; import { ref, reactive, toRefs, getCurrentInstance } from 'vue';
import { getRreportReturnIssue, getTotal, getContractList } from './component/api';
import useUserStore from '@/store/modules/user';
import Decimal from 'decimal.js'; import Decimal from 'decimal.js';
import { getTotal, getContractList, getRreportReturnIssue } from './component/api';
import useUserStore from '@/store/modules/user';
import { formatDateStr } from '@/utils/index';
const { proxy } = getCurrentInstance();
const userStore = useUserStore(); const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const purchaseinventoryList = ref([]); const purchaseinventoryList = ref([]);
const reportValue = ref({}); const reportValue = ref({});
@@ -255,21 +341,34 @@ function formatValue(value) {
getList(); getList();
getPharmacyCabinetLists(); getPharmacyCabinetLists();
</script> </script>
<style scoped>
.report-card {
margin-top: 16px;
}
.report-header { <style scoped>
text-align: center; .report-container {
padding: 12px 0 16px; width: 100%;
max-width: 1300px;
margin: 20px auto;
padding: 0 20px;
} }
.report-title { .report-title {
text-align: center;
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
margin: 0; margin: 0 0 16px 0;
color: #303133; color: #303133;
padding: 12px 0;
}
.info-row {
margin: 20px 0;
padding: 0 10px;
display: flex;
align-items: center;
}
.data-row {
margin: 12px 0;
padding: 0 10px;
} }
.section-title { .section-title {
@@ -282,11 +381,27 @@ getPharmacyCabinetLists();
padding-left: 8px; padding-left: 8px;
} }
.info-section { .divider {
margin-bottom: 8px; height: 2px;
background-color: #e4e7ed;
margin: 16px 0;
} }
.data-section { .label {
margin-bottom: 0; display: inline-block;
min-width: 100px;
color: #606266;
font-size: 14px;
}
.value {
display: inline-block;
color: #303133;
font-size: 14px;
font-weight: 500;
}
.el-col {
margin-bottom: 8px;
} }
</style> </style>