dev
This commit is contained in:
parent
e4b42268e5
commit
c2b56ed357
|
|
@ -38,7 +38,10 @@ const init = (patientId: any) => {
|
||||||
list.value = res
|
list.value = res
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
defineExpose({init})
|
const clearList = () => {
|
||||||
|
list.value = []
|
||||||
|
}
|
||||||
|
defineExpose({init,clearList})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.list {
|
.list {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<span class="name">{{ item.name }}</span>
|
<span class="name">{{ item.name }}</span>
|
||||||
<span class="type">{{ item.type }}</span>
|
<span class="type">{{ item.type }}</span>
|
||||||
<span class="unit">
|
<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>
|
<el-dropdown>
|
||||||
<span style="line-height: 30px;margin-left: 10px">{{ item.selectedUnit }}</span>
|
<span style="line-height: 30px;margin-left: 10px">{{ item.selectedUnit }}</span>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
|
|
@ -70,7 +70,7 @@ const itemShowConfig = [
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
const itemSelect = (row: any) => {
|
const itemSelect = (row: any) => {
|
||||||
row.selectNum = 1
|
row.selectedNum = 1
|
||||||
row.selectedUnit = row.packagingUnit
|
row.selectedUnit = row.packagingUnit
|
||||||
row.selectedPrice = row.unitPrice
|
row.selectedPrice = row.unitPrice
|
||||||
list.value.push(row)
|
list.value.push(row)
|
||||||
|
|
@ -94,7 +94,7 @@ const selectUnit = (item: any, unit: any) => {
|
||||||
const sumPrice = ref(0)
|
const sumPrice = ref(0)
|
||||||
watch(()=>list.value, (newList) => {
|
watch(()=>list.value, (newList) => {
|
||||||
sumPrice.value = newList.reduce((total, item) => {
|
sumPrice.value = newList.reduce((total, item) => {
|
||||||
return total + (item.selectNum || 0) * (item.selectedPrice || 0);
|
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
|
||||||
}, 0);
|
}, 0);
|
||||||
}, {deep: true})
|
}, {deep: true})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="title">
|
<div class="title" style="margin-top: 24px">
|
||||||
<el-button type="primary">读卡</el-button>
|
<el-button type="primary">读卡</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-form
|
<el-form
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
border
|
border
|
||||||
direction="vertical"
|
direction="vertical"
|
||||||
label-width="100"
|
label-width="100"
|
||||||
:column="2"
|
:column="4"
|
||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
>
|
>
|
||||||
<el-descriptions-item label="名称">
|
<el-descriptions-item label="名称">
|
||||||
|
|
@ -51,15 +51,15 @@
|
||||||
<el-input v-model="edit_data.memo" placeholder="备注"></el-input>
|
<el-input v-model="edit_data.memo" placeholder="备注"></el-input>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<div class="content">
|
<div class="content" style="margin-top: 24px">
|
||||||
<CardDefault v-model="socialCard" @socialCardUpdate="socialCardUpdate"/>
|
<CardDefault v-model="socialCard" @socialCardUpdate="socialCardUpdate"/>
|
||||||
</div>
|
</div>
|
||||||
<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>
|
</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>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {onMounted, ref} from 'vue'
|
import {onMounted, ref} from 'vue'
|
||||||
|
|
@ -164,8 +164,8 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom_btn {
|
.bottom_btn {
|
||||||
display: flex;
|
right: 0;
|
||||||
justify-content: flex-end;
|
position: absolute;
|
||||||
margin-top: 10px;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -6,20 +6,21 @@
|
||||||
<div class="middle">
|
<div class="middle">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<div class="case">
|
<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>
|
<Case v-else v-model="formData"></Case>
|
||||||
</div>
|
</div>
|
||||||
<div class="service-items">
|
<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>
|
<ServiceItems v-else v-model="itemList"></ServiceItems>
|
||||||
</div>
|
</div>
|
||||||
<div class="pharmaceutical-consumables">
|
<div class="pharmaceutical-consumables">
|
||||||
<PharmaceuticalConsumablesDetail v-if="registerId&&formData.status == 3"
|
<PharmaceuticalConsumablesDetail v-if="patientRegistration.status==3"
|
||||||
v-model="goodsList"></PharmaceuticalConsumablesDetail>
|
v-model="goodsList"></PharmaceuticalConsumablesDetail>
|
||||||
<PharmaceuticalConsumables v-else v-model="goodsList"></PharmaceuticalConsumables>
|
<PharmaceuticalConsumables v-else v-model="goodsList"></PharmaceuticalConsumables>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<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>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -121,25 +122,28 @@ const deleteItem = () => {
|
||||||
}
|
}
|
||||||
const getStatus = (e: any) => {
|
const getStatus = (e: any) => {
|
||||||
status.value = e
|
status.value = e
|
||||||
|
formData.value = {}
|
||||||
|
goodsList.value = []
|
||||||
|
itemList.value = []
|
||||||
|
patientRegistration.value = {}
|
||||||
|
nextTick(() => {
|
||||||
|
medicalHistoryRef.value?.clearList();
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const edit=()=>{
|
const edit = () => {
|
||||||
post('registration/changeStatus', {id: registerId.value, status: 2}).then((res: any) => {
|
post('registration/changeStatus', {id: registerId.value, status: 2}).then((res: any) => {
|
||||||
status.value = 2
|
status.value = 2
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 使用 watch 监听 goodsList 和 itemList 的变化
|
// 使用 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) => {
|
const pharmaceuticalTotalAmount = newItemList.reduce((pre: any, cur: any) => {
|
||||||
return pre + cur.unitPrice
|
return pre + cur.unitPrice
|
||||||
}, 0);
|
}, 0);
|
||||||
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
|
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
|
||||||
|
return pre + cur.selectedNum * cur.selectedPrice
|
||||||
return pre + cur.selectNum * cur.selectedPrice
|
|
||||||
}, 0);
|
}, 0);
|
||||||
totalAmount.value = pharmaceuticalTotalAmount + serviceTotalAmount;
|
totalAmount.value = pharmaceuticalTotalAmount + serviceTotalAmount;
|
||||||
if (newStatus) {
|
|
||||||
registerId.value=''
|
|
||||||
}
|
|
||||||
}, {deep: true});
|
}, {deep: true});
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
<Edit :id="id" :doctorList="roleList" @close="getPatientList"></Edit>
|
||||||
</Mask>
|
</Mask>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue