解决门诊挂号退号费用性质不一致的bug
This commit is contained in:
@@ -82,4 +82,10 @@ public class RefundItemDto {
|
|||||||
/** 项目名 */
|
/** 项目名 */
|
||||||
private String itemName;
|
private String itemName;
|
||||||
|
|
||||||
|
/** 费用支付方式编码 */
|
||||||
|
private String medfeePaymtdCode;
|
||||||
|
|
||||||
|
/** 费用类型 */
|
||||||
|
private String feeType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<el-text size="large" style="display: block; margin-bottom: 15px">
|
<el-text size="large" style="display: block; margin-bottom: 15px">
|
||||||
退费日期:{{ currentDate }}
|
退费日期:{{ currentDate }}
|
||||||
</el-text>
|
</el-text>
|
||||||
<el-text size="large">费用性质:{{ '自费' }}</el-text>
|
<el-text size="large">费用性质:{{ getFeeTypeText }}</el-text>
|
||||||
<div class="amount-row">
|
<div class="amount-row">
|
||||||
<el-text size="large">应退金额:</el-text>
|
<el-text size="large">应退金额:</el-text>
|
||||||
<el-text size="large" type="primary" class="amount">
|
<el-text size="large" type="primary" class="amount">
|
||||||
@@ -160,6 +160,14 @@ const props = defineProps({
|
|||||||
type: Object,
|
type: Object,
|
||||||
default: undefined,
|
default: undefined,
|
||||||
},
|
},
|
||||||
|
medfee_paymtd_code: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
feeType: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
@@ -324,6 +332,23 @@ const returnedAmount = computed(() => {
|
|||||||
function close() {
|
function close() {
|
||||||
emit('close');
|
emit('close');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取费用性质文本
|
||||||
|
const getFeeTypeText = computed(() => {
|
||||||
|
if (!props.medfee_paymtd_code || !Array.isArray(props.medfee_paymtd_code)) {
|
||||||
|
return '自费';
|
||||||
|
}
|
||||||
|
// 如果有feeType,根据feeType查找对应的文本
|
||||||
|
if (props.feeType) {
|
||||||
|
const dict = props.medfee_paymtd_code.find(item => item.value === props.feeType);
|
||||||
|
return dict ? dict.label : '自费';
|
||||||
|
}
|
||||||
|
// 如果只有一个选项,直接返回第一个选项的文本
|
||||||
|
if (props.medfee_paymtd_code.length === 1) {
|
||||||
|
return props.medfee_paymtd_code[0].label || '自费';
|
||||||
|
}
|
||||||
|
return '自费';
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -178,6 +178,8 @@
|
|||||||
:paymentId="paymentId"
|
:paymentId="paymentId"
|
||||||
:chargeItemIds="chargeItemIdList"
|
:chargeItemIds="chargeItemIdList"
|
||||||
:details="details"
|
:details="details"
|
||||||
|
:medfee_paymtd_code="medfee_paymtd_code"
|
||||||
|
:feeType="patientInfo.medfeePaymtdCode"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -197,6 +199,8 @@ import RefundDialog from './components/refundDialog.vue';
|
|||||||
import Decimal from 'decimal.js';
|
import Decimal from 'decimal.js';
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
// 获取费用性质字典
|
||||||
|
const { medfee_paymtd_code } = proxy.useDict('medfee_paymtd_code');
|
||||||
const queryParams = ref({
|
const queryParams = ref({
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 50,
|
pageSize: 50,
|
||||||
|
|||||||
@@ -114,19 +114,18 @@ import { Delete } from '@element-plus/icons-vue';
|
|||||||
|
|
||||||
// 获取费用性质文本
|
// 获取费用性质文本
|
||||||
const getFeeTypeText = computed(() => {
|
const getFeeTypeText = computed(() => {
|
||||||
if (!props.medfee_paymtd_code || !Array.isArray(props.medfee_paymtd_code)) {
|
// 优先使用从挂号记录传递过来的费用性质名称
|
||||||
return '自费';
|
if (props.contractName) {
|
||||||
|
return props.contractName;
|
||||||
}
|
}
|
||||||
// 如果有feeType,根据feeType查找对应的文本
|
|
||||||
if (props.feeType) {
|
// 如果没有传递名称,则根据费用性质代码查找
|
||||||
const dict = props.medfee_paymtd_code.find(item => item.value === props.feeType);
|
if (props.feeType && props.medfee_paymtd_code && Array.isArray(props.medfee_paymtd_code)) {
|
||||||
return dict ? dict.label : '自费';
|
const dictItem = props.medfee_paymtd_code.find(item => item.value === props.feeType);
|
||||||
|
return dictItem ? dictItem.label : '自费';
|
||||||
}
|
}
|
||||||
// 如果只有一个选项,直接返回第一个选项的文本
|
|
||||||
if (props.medfee_paymtd_code.length === 1) {
|
return '自费'; // 默认值
|
||||||
return props.medfee_paymtd_code[0].label || '自费';
|
|
||||||
}
|
|
||||||
return '自费';
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -159,6 +158,10 @@ const props = defineProps({
|
|||||||
feeType: {
|
feeType: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
|
},
|
||||||
|
contractName: {
|
||||||
|
type: String,
|
||||||
|
default: '', // 新增:接收费用性质名称
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -572,7 +572,8 @@
|
|||||||
:patientInfo="patientInfo"
|
:patientInfo="patientInfo"
|
||||||
:paymentId="paymentId"
|
:paymentId="paymentId"
|
||||||
:chargeItemIds="chargeItemIdList"
|
:chargeItemIds="chargeItemIdList"
|
||||||
:feeType="(patientInfo && patientInfo.medfeePaymtdCode) || (form && form.value && form.value.contractNo) || ''"
|
:feeType="patientInfo.medfeePaymtdCode || ''"
|
||||||
|
:contractName="patientInfo.contractName || ''"
|
||||||
:medfee_paymtd_code="medfee_paymtd_code"
|
:medfee_paymtd_code="medfee_paymtd_code"
|
||||||
/>
|
/>
|
||||||
<ReprintDialog
|
<ReprintDialog
|
||||||
@@ -1208,7 +1209,11 @@ function handleReturn(row) {
|
|||||||
totalAmount.value = row.totalPrice;
|
totalAmount.value = row.totalPrice;
|
||||||
chargeItemIdList.value = row.chargeItemIds.split(',');
|
chargeItemIdList.value = row.chargeItemIds.split(',');
|
||||||
paymentId.value = row.paymentId;
|
paymentId.value = row.paymentId;
|
||||||
console.log(paymentId.value);
|
// 从挂号记录中获取正确的费用性质
|
||||||
|
patientInfo.value.medfeePaymtdCode = row.contractNo; // 使用挂号记录中的费用性质代码
|
||||||
|
patientInfo.value.contractName = row.contractName; // 保存费用性质名称用于显示
|
||||||
|
|
||||||
|
console.log('退号费用性质:', row.contractNo, row.contractName);
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleReturnRegister() {
|
function handleReturnRegister() {
|
||||||
|
|||||||
Reference in New Issue
Block a user