门诊收费退费
This commit is contained in:
@@ -79,7 +79,7 @@ public class OutpatientRefundController {
|
|||||||
* @return 操作结果
|
* @return 操作结果
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/refund-payment")
|
@PostMapping(value = "/refund-payment")
|
||||||
public R<?> refundPayment(@RequestParam List<Long> paymentIdList) {
|
public R<?> refundPayment(@RequestBody List<Long> paymentIdList) {
|
||||||
return R.ok(outpatientRefundAppService.refundPayment(paymentIdList));
|
return R.ok(outpatientRefundAppService.refundPayment(paymentIdList));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ public class EncounterPatientPaymentDto {
|
|||||||
/** 支付位置 */
|
/** 支付位置 */
|
||||||
@Dict(dictTable = "adm_location", dictText = "name", dictCode = "id")
|
@Dict(dictTable = "adm_location", dictText = "name", dictCode = "id")
|
||||||
private Long locationId;
|
private Long locationId;
|
||||||
|
private String locationId_dictText;
|
||||||
|
|
||||||
/** 到期时间 */
|
/** 到期时间 */
|
||||||
private Date expirationDate;
|
private Date expirationDate;
|
||||||
|
|||||||
@@ -3,71 +3,130 @@
|
|||||||
style="display: flex; justify-content: space-between"
|
style="display: flex; justify-content: space-between"
|
||||||
class="app-container"
|
class="app-container"
|
||||||
>
|
>
|
||||||
<div style="width: 30%">
|
<el-card style="width: 34%">
|
||||||
<el-table
|
<template #header>
|
||||||
ref="patientListRef"
|
<span style="vertical-align: middle">患者列表</span>
|
||||||
height="700"
|
</template>
|
||||||
:data="patientList"
|
<div style="width: 100%">
|
||||||
row-key="encounterId"
|
<el-input
|
||||||
@cell-click="clickRow"
|
v-model="queryParams.patientName"
|
||||||
highlight-current
|
placeholder="请输入患者名"
|
||||||
width=""
|
clearable
|
||||||
>
|
style="width: 49%; margin-bottom: 10px; margin-right: 10px"
|
||||||
<el-table-column label="病历号" align="center" prop="patientBusNo" />
|
@keyup.enter="handleQuery"
|
||||||
<el-table-column label="姓名" align="center" prop="patientName" />
|
>
|
||||||
<el-table-column label="时间" align="center" prop="startTime">
|
<template #append>
|
||||||
<template #default="scope">
|
<el-button icon="Search" @click="handleQuery" />
|
||||||
{{ formatDate(scope.row.startTime) }}
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-input>
|
||||||
<el-table-column
|
<el-select
|
||||||
label="收费状态"
|
style="width: 49%; margin-bottom: 10px"
|
||||||
align="center"
|
placeholder="收费状态"
|
||||||
prop="statusEnum_enumText"
|
>
|
||||||
|
</el-select>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="value1"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="~"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
style="width: 100%; margin-bottom: 10px"
|
||||||
/>
|
/>
|
||||||
</el-table>
|
<el-table
|
||||||
</div>
|
ref="patientListRef"
|
||||||
|
height="620"
|
||||||
|
:data="patientList"
|
||||||
|
row-key="encounterId"
|
||||||
|
@cell-click="clickRow"
|
||||||
|
highlight-current
|
||||||
|
>
|
||||||
|
<el-table-column label="病历号" align="center" prop="patientBusNo" />
|
||||||
|
<el-table-column label="姓名" align="center" prop="patientName" />
|
||||||
|
<el-table-column label="时间" align="center" prop="startTime">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ formatDate(scope.row.startTime) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="收费状态"
|
||||||
|
align="center"
|
||||||
|
prop="statusEnum_enumText"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
<div style="width: 65%">
|
<div style="width: 65%">
|
||||||
<div></div>
|
<el-card style="margin-bottom: 20px">
|
||||||
<el-button type="primary" @click="addEmr()" :disabled="buttonDisabled"
|
<template #header>
|
||||||
>确认收费</el-button
|
<span style="vertical-align: middle">基本信息</span>
|
||||||
>
|
</template>
|
||||||
<el-button
|
<el-descriptions :column="4">
|
||||||
type="primary"
|
<el-descriptions-item label="姓名:">{{
|
||||||
@click="payToSelt()"
|
patientInfo.patientName
|
||||||
style="margin-left: 20px"
|
}}</el-descriptions-item>
|
||||||
:disabled="buttonDisabled"
|
<el-descriptions-item label="性别:">{{
|
||||||
>医保转自费</el-button
|
patientInfo.genderEnum_enumText
|
||||||
>
|
}}</el-descriptions-item>
|
||||||
<el-button
|
<el-descriptions-item label="年龄:">{{
|
||||||
type="primary"
|
patientInfo.age
|
||||||
@click="patToMedicalInsurance()"
|
}}</el-descriptions-item>
|
||||||
style="margin-left: 20px"
|
<el-descriptions-item label="合同类型:">{{
|
||||||
:disabled="buttonDisabled"
|
patientInfo.categoryEnum_enumText
|
||||||
>自费转医保</el-button
|
}}</el-descriptions-item>
|
||||||
>
|
<el-descriptions-item label="身份证号:">{{
|
||||||
<el-table
|
patientInfo.idCard
|
||||||
ref="chargeListRef"
|
}}</el-descriptions-item>
|
||||||
height="400"
|
<!-- <el-descriptions-item label="手机号">{{ patientInfo.name }}</el-descriptions-item>
|
||||||
:data="chargeList"
|
<el-descriptions-item label="出生日期">{{ patientInfo.name }}</el-descriptions-item> -->
|
||||||
row-key="encounterId"
|
</el-descriptions>
|
||||||
@cell-click="clickRow"
|
</el-card>
|
||||||
v-loading="chargeLoading"
|
<el-card style="min-width: 1100px">
|
||||||
width=""
|
<template #header>
|
||||||
>
|
<span style="vertical-align: middle">收费项目</span>
|
||||||
<el-table-column
|
</template>
|
||||||
label="收费项目"
|
<el-button type="primary" @click="addEmr()" :disabled="buttonDisabled"
|
||||||
align="center"
|
>确认收费</el-button
|
||||||
prop="contextEnum_enumText"
|
>
|
||||||
/>
|
<el-button
|
||||||
<el-table-column
|
type="primary"
|
||||||
label="收费状态"
|
@click="payToSelt()"
|
||||||
align="center"
|
style="margin-left: 20px"
|
||||||
prop="statusEnum_enumText"
|
:disabled="buttonDisabled"
|
||||||
/>
|
>医保转自费</el-button
|
||||||
<el-table-column label="总价" align="center" prop="totalPrice" />
|
>
|
||||||
<el-table-column label="处方号" align="center" prop="prescriptionNo" />
|
<el-button
|
||||||
</el-table>
|
type="primary"
|
||||||
|
@click="patToMedicalInsurance()"
|
||||||
|
style="margin-left: 20px"
|
||||||
|
:disabled="buttonDisabled"
|
||||||
|
>自费转医保</el-button
|
||||||
|
>
|
||||||
|
<el-table
|
||||||
|
ref="chargeListRef"
|
||||||
|
height="500"
|
||||||
|
:data="chargeList"
|
||||||
|
row-key="encounterId"
|
||||||
|
v-loading="chargeLoading"
|
||||||
|
width=""
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
label="收费项目"
|
||||||
|
align="center"
|
||||||
|
prop="contextEnum_enumText"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="收费状态"
|
||||||
|
align="center"
|
||||||
|
prop="statusEnum_enumText"
|
||||||
|
/>
|
||||||
|
<el-table-column label="总价" align="center" prop="totalPrice" />
|
||||||
|
<el-table-column
|
||||||
|
label="处方号"
|
||||||
|
align="center"
|
||||||
|
prop="prescriptionNo"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -92,6 +151,7 @@ const patientList = ref([]);
|
|||||||
const chargeList = ref([]);
|
const chargeList = ref([]);
|
||||||
const chargeLoading = ref(false);
|
const chargeLoading = ref(false);
|
||||||
const encounterId = ref("");
|
const encounterId = ref("");
|
||||||
|
const patientInfo = ref({});
|
||||||
getPatientList();
|
getPatientList();
|
||||||
/**
|
/**
|
||||||
* 患者列表
|
* 患者列表
|
||||||
@@ -106,6 +166,7 @@ function getPatientList() {
|
|||||||
* 点击患者列表行 获取处方列表
|
* 点击患者列表行 获取处方列表
|
||||||
*/
|
*/
|
||||||
function clickRow(row) {
|
function clickRow(row) {
|
||||||
|
patientInfo.value = row;
|
||||||
chargeLoading.value = true;
|
chargeLoading.value = true;
|
||||||
encounterId.value = row.encounterId;
|
encounterId.value = row.encounterId;
|
||||||
getChargeList(row.encounterId).then((res) => {
|
getChargeList(row.encounterId).then((res) => {
|
||||||
@@ -139,7 +200,10 @@ function patToMedicalInsurance() {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
::v-deep .el-table__row:hover > td {
|
/* ::v-deep .el-table__row:hover > td {
|
||||||
background-color: #cde5ff !important; /* 设置为透明或其他你想要的颜色 */
|
background-color: #cde5ff !important;
|
||||||
}
|
} */
|
||||||
|
/* ::v-deep .el-card__body {
|
||||||
|
padding: 0 !important;
|
||||||
|
} */
|
||||||
</style>
|
</style>
|
||||||
@@ -3,57 +3,139 @@
|
|||||||
style="display: flex; justify-content: space-between"
|
style="display: flex; justify-content: space-between"
|
||||||
class="app-container"
|
class="app-container"
|
||||||
>
|
>
|
||||||
<div style="width: 30%">
|
<el-card style="width: 34%">
|
||||||
<el-table
|
<template #header>
|
||||||
ref="patientListRef"
|
<span style="vertical-align: middle">患者列表</span>
|
||||||
height="800"
|
</template>
|
||||||
:data="patientList"
|
<div style="width: 100%">
|
||||||
row-key="encounterId"
|
<el-input
|
||||||
@cell-click="clickRow"
|
v-model="queryParams.patientName"
|
||||||
highlight-current
|
placeholder="请输入患者名"
|
||||||
width=""
|
clearable
|
||||||
>
|
style="width: 49%; margin-bottom: 10px; margin-right: 10px"
|
||||||
<el-table-column label="病历号" align="center" prop="patientBusNo" />
|
@keyup.enter="handleQuery"
|
||||||
<el-table-column label="姓名" align="center" prop="patientName" />
|
>
|
||||||
<el-table-column label="时间" align="center" prop="startTime">
|
<template #append>
|
||||||
<template #default="scope">
|
<el-button icon="Search" @click="handleQuery" />
|
||||||
{{ formatDate(scope.row.startTime) }}
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-input>
|
||||||
<!-- <el-table-column
|
<el-select
|
||||||
|
style="width: 49%; margin-bottom: 10px"
|
||||||
|
placeholder="收费状态"
|
||||||
|
>
|
||||||
|
</el-select>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="value1"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="~"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
style="width: 100%; margin-bottom: 10px"
|
||||||
|
/>
|
||||||
|
<el-table
|
||||||
|
ref="patientListRef"
|
||||||
|
height="630"
|
||||||
|
:data="patientList"
|
||||||
|
row-key="encounterId"
|
||||||
|
@cell-click="clickRow"
|
||||||
|
highlight-current
|
||||||
|
width=""
|
||||||
|
>
|
||||||
|
<el-table-column label="病历号" align="center" prop="patientBusNo" />
|
||||||
|
<el-table-column label="姓名" align="center" prop="patientName" />
|
||||||
|
<el-table-column label="时间" align="center" prop="startTime">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ formatDate(scope.row.startTime) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column
|
||||||
label="收费状态"
|
label="收费状态"
|
||||||
align="center"
|
align="center"
|
||||||
prop="statusEnum_enumText"
|
prop="statusEnum_enumText"
|
||||||
/> -->
|
/> -->
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
</el-card>
|
||||||
<div style="width: 65%">
|
<div style="width: 65%">
|
||||||
<div></div>
|
<el-card style="margin-bottom: 20px">
|
||||||
<el-button type="primary" @click="addEmr()" :disabled="buttonDisabled"
|
<template #header>
|
||||||
>确认收费</el-button
|
<span style="vertical-align: middle">基本信息</span>
|
||||||
>
|
</template>
|
||||||
<el-table
|
<el-descriptions :column="4">
|
||||||
ref="chargeListRef"
|
<el-descriptions-item label="就诊号:">
|
||||||
height="400"
|
{{ patientInfo.encounterId }}
|
||||||
:data="chargeList"
|
</el-descriptions-item>
|
||||||
row-key="encounterId"
|
<el-descriptions-item label="姓名:">
|
||||||
@cell-click="clickRow"
|
{{ patientInfo.patientName }}
|
||||||
v-loading="chargeLoading"
|
</el-descriptions-item>
|
||||||
width=""
|
<el-descriptions-item label="性别:">
|
||||||
>
|
{{ patientInfo.genderEnum_enumText }}
|
||||||
<el-table-column
|
</el-descriptions-item>
|
||||||
label="收费项目"
|
<el-descriptions-item label="年龄:">
|
||||||
align="center"
|
{{ patientInfo.age }}
|
||||||
prop="contextEnum_enumText"
|
</el-descriptions-item>
|
||||||
/>
|
<el-descriptions-item label="合同类型:">
|
||||||
<el-table-column
|
{{ patientInfo.categoryEnum_enumText }}
|
||||||
label="收费状态"
|
</el-descriptions-item>
|
||||||
align="center"
|
<el-descriptions-item label="结算时间:">
|
||||||
prop="statusEnum_enumText"
|
{{ patientInfo.billDate }}
|
||||||
/>
|
</el-descriptions-item>
|
||||||
<el-table-column label="总价" align="center" prop="totalPrice" />
|
<el-descriptions-item label="账单总额:">
|
||||||
<el-table-column label="处方号" align="center" prop="prescriptionNo" />
|
{{ patientInfo.totalAmount }}
|
||||||
</el-table>
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="医保支付:">
|
||||||
|
{{ patientInfo.insurancePrice }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="自费金额:">
|
||||||
|
{{ patientInfo.selfPrice }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="支付方式:">
|
||||||
|
{{ patientInfo.typeCode_dictText }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="发票号:">
|
||||||
|
{{ patientInfo.idCard }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<!-- <el-descriptions-item label="手机号">{{ patientInfo.name }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="出生日期">{{ patientInfo.name }}</el-descriptions-item> -->
|
||||||
|
</el-descriptions>
|
||||||
|
</el-card>
|
||||||
|
<el-card>
|
||||||
|
<template #header>
|
||||||
|
<span style="vertical-align: middle">退费单据</span>
|
||||||
|
</template>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleRefund()"
|
||||||
|
:disabled="buttonDisabled"
|
||||||
|
>确认退费</el-button
|
||||||
|
>
|
||||||
|
<el-table
|
||||||
|
ref="chargeListRef"
|
||||||
|
height="475"
|
||||||
|
:data="chargeList"
|
||||||
|
row-key="encounterId"
|
||||||
|
@cell-click="clickRow"
|
||||||
|
v-loading="chargeLoading"
|
||||||
|
width=""
|
||||||
|
>
|
||||||
|
<el-table-column label="单据号" align="center" prop="paymentNo" />
|
||||||
|
<el-table-column
|
||||||
|
label="付款总额"
|
||||||
|
align="center"
|
||||||
|
prop="displayAmount"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="处方号"
|
||||||
|
align="center"
|
||||||
|
prop="prescriptionNo"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="开单科室"
|
||||||
|
align="center"
|
||||||
|
prop="locationId_dictText"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -68,6 +150,7 @@ const queryParams = ref({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const patientList = ref([]);
|
const patientList = ref([]);
|
||||||
|
const patientInfo = ref({});
|
||||||
const chargeList = ref([]);
|
const chargeList = ref([]);
|
||||||
const chargeLoading = ref(false);
|
const chargeLoading = ref(false);
|
||||||
const encounterId = ref("");
|
const encounterId = ref("");
|
||||||
@@ -85,6 +168,7 @@ function getPatientList() {
|
|||||||
* 点击患者列表行 获取处方列表
|
* 点击患者列表行 获取处方列表
|
||||||
*/
|
*/
|
||||||
function clickRow(row) {
|
function clickRow(row) {
|
||||||
|
patientInfo.value = row;
|
||||||
chargeLoading.value = true;
|
chargeLoading.value = true;
|
||||||
encounterId.value = row.encounterId;
|
encounterId.value = row.encounterId;
|
||||||
getRefundList(row.encounterId).then((res) => {
|
getRefundList(row.encounterId).then((res) => {
|
||||||
@@ -94,6 +178,19 @@ function clickRow(row) {
|
|||||||
}, 100);
|
}, 100);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleRefund() {
|
||||||
|
refund(
|
||||||
|
chargeList.value.map((item) => {
|
||||||
|
item.id;
|
||||||
|
})
|
||||||
|
).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
proxy.$modal.msgSuccess("操作成功");
|
||||||
|
}
|
||||||
|
getPatientList();
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
::v-deep .el-table__row:hover > td {
|
::v-deep .el-table__row:hover > td {
|
||||||
|
|||||||
Reference in New Issue
Block a user