This commit is contained in:
ChenQiuYu 2025-04-27 16:16:24 +08:00
parent e4b42268e5
commit c2b56ed357
5 changed files with 34 additions and 27 deletions

View File

@ -38,7 +38,10 @@ const init = (patientId: any) => {
list.value = res
})
}
defineExpose({init})
const clearList = () => {
list.value = []
}
defineExpose({init,clearList})
</script>
<style scoped lang="scss">
.list {

View File

@ -8,7 +8,7 @@
<span class="name">{{ item.name }}</span>
<span class="type">{{ item.type }}</span>
<span class="unit">
<el-input-number v-model="item.selectNum" min="0"></el-input-number>
<el-input-number v-model="item.selectedNum" min="0"></el-input-number>
<el-dropdown>
<span style="line-height: 30px;margin-left: 10px">{{ item.selectedUnit }}</span>
<template #dropdown>
@ -70,7 +70,7 @@ const itemShowConfig = [
},
]
const itemSelect = (row: any) => {
row.selectNum = 1
row.selectedNum = 1
row.selectedUnit = row.packagingUnit
row.selectedPrice = row.unitPrice
list.value.push(row)
@ -94,7 +94,7 @@ const selectUnit = (item: any, unit: any) => {
const sumPrice = ref(0)
watch(()=>list.value, (newList) => {
sumPrice.value = newList.reduce((total, item) => {
return total + (item.selectNum || 0) * (item.selectedPrice || 0);
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
}, 0);
}, {deep: true})
</script>

View File

@ -1,5 +1,5 @@
<template>
<div class="title">
<div class="title" style="margin-top: 24px">
<el-button type="primary">读卡</el-button>
</div>
<el-form
@ -12,7 +12,7 @@
border
direction="vertical"
label-width="100"
:column="2"
:column="4"
style="margin-top: 20px"
>
<el-descriptions-item label="名称">
@ -51,15 +51,15 @@
<el-input v-model="edit_data.memo" placeholder="备注"></el-input>
</el-descriptions-item>
</el-descriptions>
<div class="content">
<div class="content" style="margin-top: 24px">
<CardDefault v-model="socialCard" @socialCardUpdate="socialCardUpdate"/>
</div>
</el-form>
<div class="bottom_btn">
<el-button type="primary" @click="save">保存</el-button>
<el-button @click="close">取消</el-button>
<el-button v-if="id" type="danger" @click="deleteDetail">删除</el-button>
</div>
</el-form>
</template>
<script setup lang="ts">
import {onMounted, ref} from 'vue'
@ -164,8 +164,8 @@ onMounted(() => {
}
.bottom_btn {
display: flex;
justify-content: flex-end;
margin-top: 10px;
right: 0;
position: absolute;
bottom: 0;
}
</style>

View File

@ -6,20 +6,21 @@
<div class="middle">
<el-scrollbar>
<div class="case">
<CaseDetail v-if="registerId&&formData.status == 3" v-model="formData"></CaseDetail>
<CaseDetail v-if="patientRegistration.status==3" v-model="formData"></CaseDetail>
<Case v-else v-model="formData"></Case>
</div>
<div class="service-items">
<ServiceItemsDetail v-if="registerId&&formData.status == 3" v-model="itemList"></ServiceItemsDetail>
<ServiceItemsDetail v-if="patientRegistration.status==3" v-model="itemList"></ServiceItemsDetail>
<ServiceItems v-else v-model="itemList"></ServiceItems>
</div>
<div class="pharmaceutical-consumables">
<PharmaceuticalConsumablesDetail v-if="registerId&&formData.status == 3"
<PharmaceuticalConsumablesDetail v-if="patientRegistration.status==3"
v-model="goodsList"></PharmaceuticalConsumablesDetail>
<PharmaceuticalConsumables v-else v-model="goodsList"></PharmaceuticalConsumables>
</div>
<div class="bottom">
<Settlement v-if="status!=1" v-model="totalAmount" @deleteItem="deleteItem" @save="save" :status="status" @edit="edit"></Settlement>
<Settlement v-if="status!=1" v-model="totalAmount" @deleteItem="deleteItem" @save="save" :status="status"
@edit="edit"></Settlement>
</div>
</el-scrollbar>
</div>
@ -121,6 +122,13 @@ const deleteItem = () => {
}
const getStatus = (e: any) => {
status.value = e
formData.value = {}
goodsList.value = []
itemList.value = []
patientRegistration.value = {}
nextTick(() => {
medicalHistoryRef.value?.clearList();
})
}
const edit = () => {
post('registration/changeStatus', {id: registerId.value, status: 2}).then((res: any) => {
@ -128,18 +136,14 @@ const edit=()=>{
})
}
// 使 watch goodsList itemList
watch([()=>goodsList.value, itemList,status], ([newGoodsList, newItemList,newStatus]) => {
watch([() => goodsList.value, itemList], ([newGoodsList, newItemList]) => {
const pharmaceuticalTotalAmount = newItemList.reduce((pre: any, cur: any) => {
return pre + cur.unitPrice
}, 0);
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
return pre + cur.selectNum * cur.selectedPrice
return pre + cur.selectedNum * cur.selectedPrice
}, 0);
totalAmount.value = pharmaceuticalTotalAmount + serviceTotalAmount;
if (newStatus) {
registerId.value=''
}
}, {deep: true});
</script>
<style scoped lang="scss">

View File

@ -47,7 +47,7 @@
</div>
</div>
</div>
<Mask :is-show="isShow" width="400" title="挂号" @close="isShow=false">
<Mask :is-show="isShow" width="800" title="挂号" @close="isShow=false">
<Edit :id="id" :doctorList="roleList" @close="getPatientList"></Edit>
</Mask>
</div>