Merge remote-tracking branch 'origin/main'

This commit is contained in:
LiJianZhao 2025-04-27 17:05:59 +08:00
commit 38d8aa9090
8 changed files with 83 additions and 65 deletions

View File

@ -186,7 +186,7 @@ const getInventoryWarning = () => {
.item-right {
width: 70px;
display: flex;
margin-right: 16px;
margin-right: 10px;
font-weight: bold;
font-style: normal;
font-size: 28px;

View File

@ -49,7 +49,7 @@ const getExpiryDateWarning = () => {
}}{{ expireDateWarningList[0].min_packaging_unit }}</span>
</div>
</div>
<div class="item-right">
<div class="item-right" style="margin-right: 10px">
<div v-if="expireDateWarningList[0].remaining_days<0">已过期<span class="item-right-num">{{
Math.abs(expireDateWarningList[0].remaining_days)
}}</span>
@ -75,7 +75,7 @@ const getExpiryDateWarning = () => {
}}{{ expireDateWarningList[1].min_packaging_unit }}</span>
</div>
</div>
<div class="item-right">
<div class="item-right" style="margin-right: 10px">
<div v-if="expireDateWarningList[1].remaining_days<0">已过期<span class="item-right-num">{{
Math.abs(expireDateWarningList[1].remaining_days)
}}</span>
@ -101,7 +101,7 @@ const getExpiryDateWarning = () => {
}}{{ expireDateWarningList[2].min_packaging_unit }}</span>
</div>
</div>
<div class="item-right">
<div class="item-right" style="margin-right: 10px">
<div v-if="expireDateWarningList[2].remaining_days<0">已过期<span class="item-right-num">{{
Math.abs(expireDateWarningList[2].remaining_days)
}}</span>
@ -127,7 +127,7 @@ const getExpiryDateWarning = () => {
}}{{ expireDateWarningList[3].min_packaging_unit }}</span>
</div>
</div>
<div class="item-right">
<div class="item-right" style="margin-right: 10px">
<div v-if="expireDateWarningList[3].remaining_days<0">已过期<span class="item-right-num">{{
Math.abs(expireDateWarningList[3].remaining_days)
}}</span>
@ -147,11 +147,9 @@ const getExpiryDateWarning = () => {
height: 100%;
display: flex;
flex-direction: column;
margin-right: 24px;
.box {
display: flex;
flex-wrap: wrap;
.item {
float: left;
width:48%;
@ -160,7 +158,8 @@ const getExpiryDateWarning = () => {
border-radius: 8px;
display: flex;
align-items: center;
justify-content: space-between;
flex: 1 1 calc(50% - 8px); //2 item item 33.33%
.image {
width: 34px;
height: 34px;
@ -178,24 +177,25 @@ const getExpiryDateWarning = () => {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.item-right {
width: 56px;
margin-right: 16px;
.item-name-font {
font-weight: 400;
font-size: 10px;
color: #333333;
font-size: 12px;
color: #999999;
font-style: normal;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.item-right{
width: 70px;
.item-right-num{
font-weight: bold;
font-size: 28px;
color: #FF282E;
font-weight: bold;
font-style: normal;
}
}
@ -211,15 +211,16 @@ const getExpiryDateWarning = () => {
margin-top: 8px !important;
}
}
.item1 {
float: right;
width:48%;
height: 58px;
box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: space-between;
flex: 1 1 calc(50% - 8px); //2 item item 33.33%
.image {
width: 34px;
height: 34px;
@ -237,24 +238,27 @@ const getExpiryDateWarning = () => {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.item-name-font {
font-weight: 400;
font-size: 12px;
color: #999999;
font-style: normal;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.item-right{
width: 56px;
margin-right: 16px;
font-weight: 400;
font-size: 10px;
color: #333333;
font-style: normal;
width: 70px;
.item-right-num{
font-weight: bold;
font-size: 28px;
color: #FF282E;
font-weight: bold;
font-style: normal;
}
}

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

@ -10,7 +10,7 @@
</div>
<div class="list">
<el-scrollbar>
<ul>
<ul v-loading="loading">
<li class="list-item" :class="curItem.id == item.id ? 'active' : ''" v-for="(item, index) in list"
:key="index" @click="clickLi(item)">
<span>
@ -86,12 +86,15 @@ onMounted(() => {
initStatusList()
init()
})
const loading = ref(true)
const init = () => {
loading.value = true
post(apiConfig.DoctorList, {
query: {
status: props.status,
}
}).then((res: any) => {
loading.value = false
list.value = res.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'
@ -120,6 +120,7 @@ const save = () => {
mdtrtCertType: socialCard.value.mdtrtCertType
}).then(() => {
ElMessage.success('修改成功')
close()
})
} else {
console.log(socialCard.value)
@ -128,9 +129,9 @@ const save = () => {
mdtrtCertType: socialCard.value.mdtrtCertType
}).then(() => {
ElMessage.success('新建成功')
close()
})
}
close()
}
const deleteDetail = () => {
post('registration/delete', {id}).then(() => {
@ -164,8 +165,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,8 +47,8 @@
</div>
</div>
</div>
<Mask :is-show="isShow" width="400" title="挂号" @close="isShow=false">
<Edit :id="id" :doctorList="roleList" @close="getPatientList"></Edit>
<Mask :is-show="isShow" width="800" title="挂号" @close="close">
<Edit :id="id" :doctorList="roleList" @close="close"></Edit>
</Mask>
</div>
</template>
@ -90,7 +90,6 @@ const getPatientList = () => {
}).then((res: any) => {
patientList.value = res.list
})
isShow.value = false
}
const total = ref(0)
const size = ref(20)
@ -104,6 +103,10 @@ const rowClick = (row: any) => {
isShow.value = true
id.value = row.id
}
const close = () => {
isShow.value = false
getPatientList()
}
</script>
<style scoped lang="scss">
.container-wrapper {