Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web
This commit is contained in:
commit
a601da3426
|
|
@ -1,11 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<el-table :data="data.goodsDetail" max-height="150" style="width: 100%">
|
<el-table :data="data.goodsDetail" max-height="150" style="width: 100%">
|
||||||
<el-table-column prop="name" label="名称" show-overflow-tooltip ></el-table-column>
|
<el-table-column prop="name" label="名称" show-overflow-tooltip ></el-table-column>
|
||||||
<el-table-column prop="selectedPrice" label="单价" ></el-table-column>
|
<el-table-column prop="selectedPrice" label="单价" >
|
||||||
|
<template #default="scope">
|
||||||
|
¥{{scope.row.selectedPrice}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="number" label="数量" >
|
<el-table-column prop="number" label="数量" >
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="data.status == 0">
|
<div v-if="data.status == 0">
|
||||||
<el-input-number v-model="scope.row.selectedNum" min="0" @change="handleNumChange"></el-input-number>
|
<el-input-number v-model="scope.row.selectedNum" min="0" @change="handleNumChange" size="small"></el-input-number>
|
||||||
<el-dropdown>
|
<el-dropdown>
|
||||||
<span style="line-height: 30px;margin-left: 10px">{{ scope.row.selectedUnit }}</span>
|
<span style="line-height: 30px;margin-left: 10px">{{ scope.row.selectedUnit }}</span>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
|
|
@ -24,13 +28,19 @@
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="小计" >
|
||||||
|
<template #default="scope">
|
||||||
|
¥{{ scope.row.selectedNum*scope.row.selectedPrice }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" v-if="data.status == 0" >
|
<el-table-column label="操作" v-if="data.status == 0" >
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="danger" link @click="delGoods(scope.row)">X</el-button>
|
<el-button type="danger" link @click="delGoods(scope.row)">X</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<SearchInput :disabled="data.status == 1" :request-api="goodsSearchApi" :show-config="goodsShowConfig" @selectedCallBack="goodsSelect"></SearchInput>
|
<SearchInput v-if="data.status == 0" :request-api="goodsSearchApi" :show-config="goodsShowConfig" @selectedCallBack="goodsSelect"></SearchInput>
|
||||||
|
<span>合计:¥{{getTotalPrice()}}</span>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
|
|
@ -82,7 +92,16 @@ const emit = defineEmits(["totalPriceChange"])
|
||||||
const handleNumChange = ()=>{
|
const handleNumChange = ()=>{
|
||||||
emit('totalPriceChange')
|
emit('totalPriceChange')
|
||||||
}
|
}
|
||||||
|
const getTotalPrice =()=>{
|
||||||
|
let totalPrice = 0;
|
||||||
|
data.value.goodsDetail?.forEach((item:any)=>{
|
||||||
|
totalPrice += item.selectedNum*item.selectedPrice
|
||||||
|
})
|
||||||
|
return totalPrice;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
:deep(.el-table__cell){
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -2,45 +2,150 @@
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Panel title="患者信息">
|
<Panel title="患者信息">
|
||||||
<div style="height: 100%;">
|
<div v-if="!seeDockerInfo?.patientInfo" style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......</div>
|
||||||
<el-descriptions
|
<div v-else style="padding: 0 24px">
|
||||||
border
|
<div class="avatar">
|
||||||
:column="2"
|
<img class="avatar-image"
|
||||||
style="padding: 0 10px;height: 100%"
|
:src="seeDockerInfo?.patientInfo?.sex == 1 ?'/static/images/outpatient/man.png':seeDockerInfo?.patientInfo?.sex == 2 ?'/static/images/outpatient/women.png':'-'"
|
||||||
>
|
alt=""/>
|
||||||
<el-descriptions-item label="姓名">
|
<div class="avatar-info-wrapper">
|
||||||
{{patientInfo.name}}
|
<div class="avatar-info">
|
||||||
</el-descriptions-item>
|
<span class="avatar-info-name">{{ seeDockerInfo?.patientInfo?.name }}</span>
|
||||||
<el-descriptions-item label="性别">
|
<span class="avatar-info-age">{{ seeDockerInfo?.patientInfo?.age}}</span>
|
||||||
{{ patientInfo.sex == 1 ? '男' : '女'}}
|
</div>
|
||||||
</el-descriptions-item>
|
<div class="avatar-info-phone-num">
|
||||||
<el-descriptions-item label="年龄">
|
<span class="avatar-info-phone">{{ seeDockerInfo?.patientInfo?.phone }}</span>
|
||||||
{{patientInfo.age}}岁
|
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{
|
||||||
</el-descriptions-item>
|
seeDockerInfo?.seeDoctorCount || 0
|
||||||
<el-descriptions-item label="民族">
|
}}次</i></span>
|
||||||
{{getKey(antys,patientInfo.nation)}}
|
</div>
|
||||||
</el-descriptions-item>
|
</div>
|
||||||
<el-descriptions-item :span="2" label="手机号">
|
</div>
|
||||||
{{patientInfo.phone }}
|
<div class="detail">
|
||||||
</el-descriptions-item>
|
<div>挂号医生: <span
|
||||||
<el-descriptions-item :span="2" label="证件类型">
|
class="detail-doctor">{{ seeDockerInfo?.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
||||||
{{getKey(psnCertTypes,patientInfo.certType)}}
|
</div>
|
||||||
</el-descriptions-item>
|
<div class="detail-middle">
|
||||||
<el-descriptions-item :span="2" label="证件号码">
|
<div>费用类别: <span class="detail-doctor">医保</span></div>
|
||||||
{{ patientInfo.certNo}}
|
<div>医保卡剩余金额: <span class="detail-balance">{{ seeDockerInfo?.socialBalance }}元</span></div>
|
||||||
</el-descriptions-item>
|
</div>
|
||||||
</el-descriptions>
|
<div>上次就诊时间: <span class="detail-doctor">{{
|
||||||
|
formatDate(seeDockerInfo?.lastSeeDoctorTime)
|
||||||
|
}}</span></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.avatar {
|
||||||
|
height: 60px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.avatar-image {
|
||||||
|
width: 60px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-info-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
padding: 6px 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-style: normal;
|
||||||
|
|
||||||
|
.avatar-info {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.avatar-info-name {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #333333;
|
||||||
|
font-style: normal;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-info-age {
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-info-phone-num {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.avatar-info-num {
|
||||||
|
margin-left: 28px;
|
||||||
|
|
||||||
|
.avatar-info-phone {
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.caret-num {
|
||||||
|
color: #4D6DE4;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
margin-top: 16px;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 16px;
|
||||||
|
color: rgba(23, 26, 29, 0.7);
|
||||||
|
font-style: normal;
|
||||||
|
height: 80px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.detail-doctor {
|
||||||
|
font-weight: 500;
|
||||||
|
color: rgba(23, 26, 29, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-middle {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-balance {
|
||||||
|
font-weight: 500;
|
||||||
|
color: rgba(#FF4D4F, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
import {getKey} from "@/utils/discrotyUtil.ts";
|
import {formatDate} from "@/utils/dateUtils.ts"
|
||||||
import antys from "@/assets/config/directory/antys.json";
|
|
||||||
import psnCertTypes from "@/assets/config/directory/psnCertTypes.json";
|
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
const patientInfo:any = defineModel();
|
import {onMounted, ref} from "vue";
|
||||||
|
import {post} from "@/utils/request.ts";
|
||||||
|
const seeDockerInfo = ref<any>();
|
||||||
|
const getSeeDockerInfo = (newValue:any) => {
|
||||||
|
debugger
|
||||||
|
if (!newValue)return;
|
||||||
|
post('medical/record/getSeeDockerInfo', {regisId: newValue}).then((res: any) => {
|
||||||
|
seeDockerInfo.value = res
|
||||||
|
debugger
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const init =(regisId:any)=>{
|
||||||
|
getSeeDockerInfo(regisId)
|
||||||
|
}
|
||||||
|
defineExpose({ init})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -1,12 +1,22 @@
|
||||||
<template>
|
<template>
|
||||||
<el-table :data="data.itemDetail" max-height="150">
|
<el-table :data="data.itemDetail" max-height="150">
|
||||||
<el-table-column prop="itemName" label="名称" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="itemName" label="项目名称" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="selectedUnit" label="单位"></el-table-column>
|
<el-table-column label="单价">
|
||||||
<el-table-column prop="selectedPrice" label="单价"></el-table-column>
|
<template #default="scope">
|
||||||
|
¥{{scope.row.selectedPrice}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="数量">
|
<el-table-column label="数量">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input-number v-model="scope.row.selectedNum" min="0"
|
<el-input-number v-model="scope.row.selectedNum" min="0"
|
||||||
@change="handleNumChange"></el-input-number>
|
@change="handleNumChange" v-if="data.status == 0" size="small"></el-input-number>
|
||||||
|
<span v-else>{{scope.row.selectedNum}}</span>
|
||||||
|
{{scope.row.selectedUnit}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="小计">
|
||||||
|
<template #default="scope">
|
||||||
|
¥{{scope.row.selectedNum*scope.row.selectedPrice}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" v-if="data.status ==0">
|
<el-table-column label="操作" v-if="data.status ==0">
|
||||||
|
|
@ -15,8 +25,9 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<SearchInput :disabled="data.status == 1" :request-api="serviceSearchApi" :show-config="serviceShowConfig"
|
<SearchInput v-if="data.status == 0" :request-api="serviceSearchApi" :show-config="serviceShowConfig"
|
||||||
@selectedCallBack="serviceSelect"></SearchInput>
|
@selectedCallBack="serviceSelect"></SearchInput>
|
||||||
|
<span>合计:¥{{getTotalPrice()}}</span>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
|
|
@ -52,8 +63,16 @@ const handleNumChange = () => {
|
||||||
emit('totalPriceChange')
|
emit('totalPriceChange')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getTotalPrice =()=>{
|
||||||
|
let totalPrice = 0;
|
||||||
|
data.value.itemDetail?.forEach((item:any)=>{
|
||||||
|
totalPrice += item.selectedNum*item.selectedPrice
|
||||||
|
})
|
||||||
|
return totalPrice;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
:deep(.el-table__cell){
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -1,133 +0,0 @@
|
||||||
<template>
|
|
||||||
<Panel :title="'就诊信息'">
|
|
||||||
<div v-if="!patientRegistration?.patientInfo" style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......</div>
|
|
||||||
<div v-else style="padding: 0 24px">
|
|
||||||
<div class="avatar">
|
|
||||||
<img class="avatar-image"
|
|
||||||
:src="patientRegistration?.patientInfo?.sex == 1 ?'/static/images/outpatient/man.png':patientRegistration?.patientInfo?.sex == 2 ?'/static/images/outpatient/women.png':'-'"
|
|
||||||
alt=""/>
|
|
||||||
<div class="avatar-info-wrapper">
|
|
||||||
<div class="avatar-info">
|
|
||||||
<span class="avatar-info-name">{{ patientRegistration?.patientInfo?.name }}</span>
|
|
||||||
<span class="avatar-info-age">{{ patientRegistration?.patientInfo?.age}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="avatar-info-phone-num">
|
|
||||||
<span class="avatar-info-phone">{{ patientRegistration?.patientInfo?.phone }}</span>
|
|
||||||
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{
|
|
||||||
patientRegistration?.seeDoctorCount || 0
|
|
||||||
}}次</i></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="detail">
|
|
||||||
<div>挂号医生: <span
|
|
||||||
class="detail-doctor">{{ patientRegistration?.dockerName }}-{{ patientRegistration?.sectionName }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="detail-middle">
|
|
||||||
<div>费用类别: <span class="detail-doctor">医保</span></div>
|
|
||||||
<div>医保卡剩余金额: <span class="detail-balance">{{ patientRegistration?.socialBalance }}元</span></div>
|
|
||||||
</div>
|
|
||||||
<div>上次就诊时间: <span class="detail-doctor">{{
|
|
||||||
formatDate(patientRegistration?.lastSeeDoctorTime)
|
|
||||||
}}</span></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Panel>
|
|
||||||
</template>
|
|
||||||
<script setup lang="ts">
|
|
||||||
import Panel from "@/components/common/Panel.vue";
|
|
||||||
import {formatDate} from "@/utils/dateUtils.ts"
|
|
||||||
|
|
||||||
const patientRegistration = defineModel<any>()
|
|
||||||
</script>
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.avatar {
|
|
||||||
height: 60px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.avatar-image {
|
|
||||||
width: 60px;
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar-info-wrapper {
|
|
||||||
width: 100%;
|
|
||||||
height: 60px;
|
|
||||||
padding: 6px 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #333333;
|
|
||||||
font-style: normal;
|
|
||||||
|
|
||||||
.avatar-info {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.avatar-info-name {
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #333333;
|
|
||||||
font-style: normal;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar-info-age {
|
|
||||||
height: 20px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar-info-phone-num {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.avatar-info-num {
|
|
||||||
margin-left: 28px;
|
|
||||||
|
|
||||||
.avatar-info-phone {
|
|
||||||
height: 20px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.caret-num {
|
|
||||||
color: #4D6DE4;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.detail {
|
|
||||||
margin-top: 16px;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 16px;
|
|
||||||
color: rgba(23, 26, 29, 0.7);
|
|
||||||
font-style: normal;
|
|
||||||
height: 80px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.detail-doctor {
|
|
||||||
font-weight: 500;
|
|
||||||
color: rgba(23, 26, 29, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.detail-middle {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.detail-balance {
|
|
||||||
font-weight: 500;
|
|
||||||
color: rgba(#FF4D4F, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<PatientCard v-model="formData.patientInfo"></PatientCard>
|
<PatientCard ref="patientCardRef"></PatientCard>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<RecordsLog ref="recordsConsumptionRef"></RecordsLog>
|
<RecordsLog ref="recordsConsumptionRef"></RecordsLog>
|
||||||
|
|
@ -121,8 +121,8 @@ const diagnosisSelect = (list: any) => {
|
||||||
formData.value.diagnosisMedicalRecord.diagnosisSummary = diagnosisNames
|
formData.value.diagnosisMedicalRecord.diagnosisSummary = diagnosisNames
|
||||||
}
|
}
|
||||||
const recordsConsumptionRef= ref<any>("")
|
const recordsConsumptionRef= ref<any>("")
|
||||||
|
const patientCardRef = ref()
|
||||||
const clickItem = async (item: any, status: any) => {
|
const clickItem = async (item: any, status: any) => {
|
||||||
|
|
||||||
formData.value = await post('medical/record/getByDiagnosisCode', {diagnosisCode: item.code})
|
formData.value = await post('medical/record/getByDiagnosisCode', {diagnosisCode: item.code})
|
||||||
statusDisabled.value = status
|
statusDisabled.value = status
|
||||||
getOrderTotalPrice()
|
getOrderTotalPrice()
|
||||||
|
|
@ -131,6 +131,7 @@ const clickItem = async (item: any, status: any) => {
|
||||||
let nList = formData.value.diagnosisMedicalRecord.diagnosisSummary.split(',')
|
let nList = formData.value.diagnosisMedicalRecord.diagnosisSummary.split(',')
|
||||||
diagnosisSearchRef.value?.init(list, nList);
|
diagnosisSearchRef.value?.init(list, nList);
|
||||||
recordsConsumptionRef.value?.init(formData.value.patientInfo.id);
|
recordsConsumptionRef.value?.init(formData.value.patientInfo.id);
|
||||||
|
patientCardRef.value?.init(formData.value.registrationId);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const dockerList = ref<any[]>([])
|
const dockerList = ref<any[]>([])
|
||||||
|
|
@ -271,7 +272,7 @@ const generateOptions = () => {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
height: 312px;
|
height: 240px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,11 @@
|
||||||
@edit="edit"></Settlement>
|
@edit="edit"></Settlement>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<MedicalInformation v-model="seeDockerInfo" ref="medicalInformationRef"></MedicalInformation>
|
<PatientCard ref="patientCardRef"></PatientCard>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<MedicalHistory ref="medicalHistoryRef" @copy="copyForm" @copyItem="copyItemList" @copyGoods="copyGoodsList" ></MedicalHistory>
|
<MedicalHistory ref="medicalHistoryRef" @copy="copyForm" @copyItem="copyItemList" @copyGoods="copyGoodsList" ></MedicalHistory>
|
||||||
|
|
@ -37,7 +38,6 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import MedicalQueue from "@/components/outpatient/MedicalQueue.vue";
|
import MedicalQueue from "@/components/outpatient/MedicalQueue.vue";
|
||||||
import MedicalInformation from "@/components/outpatient/MedicalInformation.vue";
|
|
||||||
import MedicalHistory from "@/components/outpatient/MedicalHistory.vue";
|
import MedicalHistory from "@/components/outpatient/MedicalHistory.vue";
|
||||||
import Case from "@/components/outpatient/Case.vue";
|
import Case from "@/components/outpatient/Case.vue";
|
||||||
|
|
||||||
|
|
@ -52,6 +52,7 @@ import ServiceItemsDetail from "@/components/outpatient/ServiceItemsDetail.vue";
|
||||||
import PharmaceuticalConsumablesDetail from "@/components/outpatient/PharmaceuticalConsumablesDetail.vue";
|
import PharmaceuticalConsumablesDetail from "@/components/outpatient/PharmaceuticalConsumablesDetail.vue";
|
||||||
import CaseDetail from "@/components/outpatient/CaseDetail.vue";
|
import CaseDetail from "@/components/outpatient/CaseDetail.vue";
|
||||||
import {apiConfig} from "@/assets/config/apiConfig.ts";
|
import {apiConfig} from "@/assets/config/apiConfig.ts";
|
||||||
|
import PatientCard from "@/components/charge/PatientCard.vue";
|
||||||
|
|
||||||
const registerId = ref()
|
const registerId = ref()
|
||||||
const patientId = ref()
|
const patientId = ref()
|
||||||
|
|
@ -94,15 +95,14 @@ const save = () => {
|
||||||
const totalAmount = ref(0)
|
const totalAmount = ref(0)
|
||||||
const medicalInformationRef = ref()
|
const medicalInformationRef = ref()
|
||||||
const medicalHistoryRef = ref()
|
const medicalHistoryRef = ref()
|
||||||
|
const patientCardRef = ref()
|
||||||
const patientRegistration = ref<any>({})
|
const patientRegistration = ref<any>({})
|
||||||
const getId = (item: any) => {
|
const getId = (item: any) => {
|
||||||
registerId.value = item.id
|
registerId.value = item.id
|
||||||
itemId.value = item.id
|
itemId.value = item.id
|
||||||
patientId.value = item.patientInfoId
|
patientId.value = item.patientInfoId
|
||||||
status.value = item.status
|
status.value = item.status
|
||||||
nextTick(() => {
|
|
||||||
medicalHistoryRef.value?.init(patientId.value);
|
|
||||||
})
|
|
||||||
if (item.status == 1) {
|
if (item.status == 1) {
|
||||||
ElMessageBox.confirm(`您将要接诊${item.name}`, "提示", {
|
ElMessageBox.confirm(`您将要接诊${item.name}`, "提示", {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|
@ -127,6 +127,11 @@ const getId = (item: any) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
nextTick(() => {
|
||||||
|
medicalHistoryRef.value?.init(patientId.value);
|
||||||
|
patientCardRef.value?.init(registerId.value)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
const status = ref<any>(1)
|
const status = ref<any>(1)
|
||||||
const deleteItem = () => {
|
const deleteItem = () => {
|
||||||
|
|
@ -176,6 +181,8 @@ const copyItemList=(item:any) => {
|
||||||
const copyGoodsList=(item:any) => {
|
const copyGoodsList=(item:any) => {
|
||||||
goodsList.value = item.goodsDetail
|
goodsList.value = item.goodsDetail
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const seeDockerInfo = ref<any>()
|
const seeDockerInfo = ref<any>()
|
||||||
const getSeeDockerInfo = (newValue:any) => {
|
const getSeeDockerInfo = (newValue:any) => {
|
||||||
if (!registerId.value)return;
|
if (!registerId.value)return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue