|
@@ -1,83 +1,85 @@
|
|
|
<template>
|
|
|
- <xc-dialog-v2 title="退费详细"
|
|
|
- v-model="modelValue"
|
|
|
- width="100%"
|
|
|
- @closed="emit('update:modelValue',false)">
|
|
|
- <page-layer>
|
|
|
- <template #header>
|
|
|
- 数量:{{ chargeAmount }} 金额: {{
|
|
|
- chargeFee.toLocaleString('zh', {
|
|
|
- style: 'currency',
|
|
|
- currency: 'cny',
|
|
|
- currencyDisplay: 'name'
|
|
|
- })
|
|
|
- }}
|
|
|
- <div v-if="isDrug">
|
|
|
- 药房:
|
|
|
- <el-select v-model="groupNo">
|
|
|
- <el-option value="71" label="门诊"/>
|
|
|
- <el-option value="73" label="住院"/>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-button @click="confirmRefund('drugWithdrawal')" icon="Delete" type="danger"
|
|
|
- title="项目可直接退费,只有对应的执行科室可以退费,药品会产生药单,在药房确认退药后会产生退费数据,口服药无法退费。如药房拒绝可再次退费。">
|
|
|
- {{ isDrug ? '退药且退费' : '退费' }}
|
|
|
- </el-button>
|
|
|
- <el-button v-if="isDrug"
|
|
|
- @click="confirmRefund('refundOnly')"
|
|
|
- icon="Delete"
|
|
|
- type="warning"
|
|
|
- title="只会生成退费的费用,不会产生药单到药房。">
|
|
|
- 仅退费不退药
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template #mainMaxContentHeight>
|
|
|
- <div style="color: red">
|
|
|
- 请注意如果点击了【退费且退药】那么需要提交一次药单。
|
|
|
- </div>
|
|
|
- <xc-table :local-data="props.list" :height="400">
|
|
|
- <el-table-column fixed="left" label="操作">
|
|
|
- <template #default="scope">
|
|
|
- <el-button @click="deleteData(scope.row,scope.row.$index)" icon="Delete" type="danger">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="流水号" prop="detailSn" width="70px"></el-table-column>
|
|
|
- <el-table-column label="医嘱号" prop="orderNo" width="70px"></el-table-column>
|
|
|
- <el-table-column label="录入日期" prop="chargeDate" width="70px"></el-table-column>
|
|
|
- <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
|
|
|
- <el-table-column label="项目名称" prop="chargeName"></el-table-column>
|
|
|
- <el-table-column label="规格" prop="specification"></el-table-column>
|
|
|
- <el-table-column label="药品名称" prop="drugname"></el-table-column>
|
|
|
- <el-table-column label="执行科室" prop="execDept"></el-table-column>
|
|
|
- <el-table-column label="申请科室" prop="deptCode"></el-table-column>
|
|
|
- <el-table-column label="金额" prop="chargeFee"></el-table-column>
|
|
|
- <el-table-column label="数量" prop="chargeAmount"></el-table-column>
|
|
|
- <el-table-column label="状态" prop="chargeStatus">
|
|
|
- <template #default="scope">
|
|
|
- {{ costState(scope.row.chargeStatus) }}
|
|
|
+ <xc-dialog-v2 title="退费详细"
|
|
|
+ v-model="modelValue"
|
|
|
+ width="100%"
|
|
|
+ @closed="emit('update:modelValue',false)">
|
|
|
+ <page-layer>
|
|
|
+ <template #header>
|
|
|
+ 数量:{{ chargeAmount }} 金额: {{
|
|
|
+ chargeFee.toLocaleString('zh', {
|
|
|
+ style: 'currency',
|
|
|
+ currency: 'cny',
|
|
|
+ currencyDisplay: 'name'
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ <div v-if="isDrug">
|
|
|
+ 药房:
|
|
|
+ <el-select v-model="groupNo">
|
|
|
+ <el-option value="71" label="门诊"/>
|
|
|
+ <el-option value="73" label="住院"/>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <el-button @click="confirmRefund('drugWithdrawal')" icon="Delete" type="danger"
|
|
|
+ title="项目可直接退费,只有对应的执行科室可以退费,药品会产生药单,在药房确认退药后会产生退费数据,口服药无法退费。如药房拒绝可再次退费。">
|
|
|
+ {{ isDrug ? '退药且退费' : '退费' }}
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="isDrug"
|
|
|
+ @click="confirmRefund('refundOnly')"
|
|
|
+ icon="Delete"
|
|
|
+ type="warning"
|
|
|
+ title="只会生成退费的费用,不会产生药单到药房。">
|
|
|
+ 仅退费不退药
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="录入人" prop="opName"></el-table-column>
|
|
|
- <el-table-column label="账单码" prop="billItemName"></el-table-column>
|
|
|
- <el-table-column label="是否退费" prop="tuiFeiFlag">
|
|
|
- <template #default="scope">
|
|
|
- <span v-html="conversionRefundFlag(scope.row.oriDetailSn)" style="color:red;"></span>
|
|
|
- <br>
|
|
|
- <span v-if="scope.row.oriDetailSn > 0">
|
|
|
+
|
|
|
+ <template #mainMaxContentHeight>
|
|
|
+ <div style="color: red">
|
|
|
+ 请注意如果点击了【退费且退药】那么需要提交一次药单。
|
|
|
+ </div>
|
|
|
+ <xc-table :local-data="props.list" :height="400">
|
|
|
+ <el-table-column fixed="left" label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button @click="deleteData(scope.row,scope.row.$index)" icon="Delete" type="danger">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="流水号" prop="detailSn" width="70px"></el-table-column>
|
|
|
+ <el-table-column label="医嘱号" prop="orderNo" width="70px"></el-table-column>
|
|
|
+ <el-table-column label="录入日期" prop="chargeDate" width="70px"></el-table-column>
|
|
|
+ <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
|
|
|
+ <el-table-column label="项目名称" prop="chargeName"></el-table-column>
|
|
|
+ <el-table-column label="规格" prop="specification"></el-table-column>
|
|
|
+ <el-table-column label="药品名称" prop="drugname"></el-table-column>
|
|
|
+ <el-table-column label="执行科室" prop="execDept"></el-table-column>
|
|
|
+ <el-table-column label="申请科室" prop="deptCode"></el-table-column>
|
|
|
+ <el-table-column label="金额" prop="chargeFee"></el-table-column>
|
|
|
+ <el-table-column label="数量" prop="chargeAmount"></el-table-column>
|
|
|
+ <el-table-column label="状态" prop="chargeStatus">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ costState(scope.row.chargeStatus) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="录入人" prop="opName"></el-table-column>
|
|
|
+ <el-table-column label="账单码" prop="billItemName"></el-table-column>
|
|
|
+ <el-table-column label="是否退费" prop="tuiFeiFlag">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-html="conversionRefundFlag(scope.row.oriDetailSn)" style="color:red;"></span>
|
|
|
+ <br>
|
|
|
+ <span v-if="scope.row.oriDetailSn > 0">
|
|
|
<span style="color: #e6a23c">退费数据</span> <br/>
|
|
|
<span style="color: teal">
|
|
|
原流水号为 <br/>
|
|
|
【 {{ scope.row.oriDetailSn }} 】
|
|
|
</span>
|
|
|
</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </xc-table>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </xc-table>
|
|
|
|
|
|
- </template>
|
|
|
- </page-layer>
|
|
|
- </xc-dialog-v2>
|
|
|
+ </template>
|
|
|
+ </page-layer>
|
|
|
+ </xc-dialog-v2>
|
|
|
</template>
|
|
|
|
|
|
<script setup name='RefundForProjectEntry'>
|
|
@@ -89,19 +91,19 @@ import {xiangMuTuiFei} from "@/api/inpatient/xiang-mu-lu-ru";
|
|
|
import PageLayer from "@/layout/PageLayer";
|
|
|
|
|
|
const props = defineProps({
|
|
|
- modelValue: {
|
|
|
- type: Boolean
|
|
|
- },
|
|
|
- list: {
|
|
|
- type: Array,
|
|
|
- default: []
|
|
|
- },
|
|
|
- isDrug: {
|
|
|
- type: Boolean
|
|
|
- },
|
|
|
- patient: {
|
|
|
- type: Object
|
|
|
- }
|
|
|
+ modelValue: {
|
|
|
+ type: Boolean
|
|
|
+ },
|
|
|
+ list: {
|
|
|
+ type: Array,
|
|
|
+ default: []
|
|
|
+ },
|
|
|
+ isDrug: {
|
|
|
+ type: Boolean
|
|
|
+ },
|
|
|
+ patient: {
|
|
|
+ type: Object
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
const emit = defineEmits(['uncheck', 'update:modelValue', 'refreshFee'])
|
|
@@ -112,46 +114,46 @@ let groupNo = $ref('73')
|
|
|
|
|
|
|
|
|
const confirmRefund = (flag) => {
|
|
|
- let pharmacyName = groupNo === '71' ? '门诊' : '住院'
|
|
|
- // 是否是药品退药 true
|
|
|
- let isDrugWithdrawal = props.isDrug && flag === 'drugWithdrawal'
|
|
|
- let title = isDrugWithdrawal ? `药品是否要退到 【${pharmacyName}】 药房` : '请确认数据'
|
|
|
- ElMessageBox.confirm(title, '请您仔细确认', {
|
|
|
- type: 'warning',
|
|
|
- confirmButtonText: '我已确认',
|
|
|
- cancelButtonText: '再看看',
|
|
|
- }).then(() => {
|
|
|
- props.patient.groupNo = groupNo
|
|
|
- props.patient.refundFlag = flag
|
|
|
- xiangMuTuiFei(props.patient).then((res) => {
|
|
|
- emit('refreshFee')
|
|
|
- emit('update:modelValue', false)
|
|
|
- })
|
|
|
- }).catch(() => {
|
|
|
+ let pharmacyName = groupNo === '71' ? '门诊' : '住院'
|
|
|
+ // 是否是药品退药 true
|
|
|
+ let isDrugWithdrawal = props.isDrug && flag === 'drugWithdrawal'
|
|
|
+ let title = isDrugWithdrawal ? `药品是否要退到 【${pharmacyName}】 药房` : '请确认数据'
|
|
|
+ ElMessageBox.confirm(title, '请您仔细确认', {
|
|
|
+ type: 'warning',
|
|
|
+ confirmButtonText: '我已确认',
|
|
|
+ cancelButtonText: '再看看',
|
|
|
+ }).then(() => {
|
|
|
+ props.patient.groupNo = groupNo
|
|
|
+ props.patient.refundFlag = flag
|
|
|
+ xiangMuTuiFei(props.patient).then((res) => {
|
|
|
+ emit('refreshFee')
|
|
|
+ emit('update:modelValue', false)
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
|
|
|
- });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
const deleteData = async (data, index) => {
|
|
|
- await emit('uncheck', data)
|
|
|
- props.list.splice(index, 1)
|
|
|
- if (props.list.length === 0) {
|
|
|
- emit('update:modelValue', false)
|
|
|
- }
|
|
|
- calculatedAmount()
|
|
|
+ await emit('uncheck', data)
|
|
|
+ props.list.splice(index, 1)
|
|
|
+ if (props.list.length === 0) {
|
|
|
+ emit('update:modelValue', false)
|
|
|
+ }
|
|
|
+ calculatedAmount()
|
|
|
}
|
|
|
|
|
|
const calculatedAmount = () => {
|
|
|
- chargeAmount = 0
|
|
|
- chargeFee = 0
|
|
|
- props.list.forEach(item => {
|
|
|
- chargeAmount += item.chargeAmount
|
|
|
- chargeFee += item.chargeFee
|
|
|
- })
|
|
|
+ chargeAmount = 0
|
|
|
+ chargeFee = 0
|
|
|
+ props.list.forEach(item => {
|
|
|
+ chargeAmount += item.chargeAmount
|
|
|
+ chargeFee += item.chargeFee
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
|
- calculatedAmount()
|
|
|
+ calculatedAmount()
|
|
|
})
|
|
|
|
|
|
</script>
|