dev
This commit is contained in:
parent
36619d5bce
commit
9edee03ccf
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"01": "甲",
|
||||||
|
"02": "乙",
|
||||||
|
"03": "丙"
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
class="no-border-input"
|
class="no-border-input"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@focus="focus"
|
@focus="focus"
|
||||||
|
@click="changeInput"
|
||||||
|
>
|
||||||
|
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,35 @@
|
||||||
<template>
|
<template>
|
||||||
<Panel :title="'就诊信息'">
|
<Panel :title="'就诊信息'">
|
||||||
<div style="padding: 0 24px">
|
<div v-if="!patientRegistration?.patientInfo" style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......</div>
|
||||||
<div class="avatar">
|
<div v-else style="padding: 0 24px">
|
||||||
<img class="avatar-image" src="/static/images/outpatient/profile-picture.png" alt="头像"/>
|
<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-wrapper">
|
||||||
<div class="avatar-info">
|
<div class="avatar-info">
|
||||||
<span class="avatar-info-name">{{ patientRegistration?.patientInfo?.name }}</span>
|
<span class="avatar-info-name">{{ patientRegistration?.patientInfo?.name }}</span>
|
||||||
<span class="avatar-info-sex" style="margin: 0 16px">{{ patientRegistration?.patientInfo?.sex == 1 ? '男' : '女'}}</span>
|
<span class="avatar-info-age">{{ patientRegistration?.patientInfo?.age}}</span>
|
||||||
<span class="avatar-info-age">{{ patientRegistration?.patientInfo?.age }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="avatar-info-phone-num">
|
<div class="avatar-info-phone-num">
|
||||||
<span class="avatar-info-phone">{{ patientRegistration?.patientInfo?.phone }}</span>
|
<span class="avatar-info-phone">{{ patientRegistration?.patientInfo?.phone }}</span>
|
||||||
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{ patientRegistration?.seeDoctorCount || 0 }}次</i></span>
|
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{
|
||||||
|
patientRegistration?.seeDoctorCount || 0
|
||||||
|
}}次</i></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div>挂号医生: <span class="detail-doctor">{{patientRegistration?.dockerName}}-{{patientRegistration?.sectionName}}</span></div>
|
<div>挂号医生: <span
|
||||||
|
class="detail-doctor">{{ patientRegistration?.dockerName }}-{{ patientRegistration?.sectionName }}</span>
|
||||||
|
</div>
|
||||||
<div class="detail-middle">
|
<div class="detail-middle">
|
||||||
<div>费用类别: <span class="detail-doctor">医保</span></div>
|
<div>费用类别: <span class="detail-doctor">医保</span></div>
|
||||||
<div>医保卡剩余金额: <span class="detail-balance">{{patientRegistration?.socialBalance}}元</span></div>
|
<div>医保卡剩余金额: <span class="detail-balance">{{ patientRegistration?.socialBalance }}元</span></div>
|
||||||
</div>
|
</div>
|
||||||
<div>上次就诊时间: <span class="detail-doctor">{{ formatDate(patientRegistration?.lastSeeDoctorTime) }}</span></div>
|
<div>上次就诊时间: <span class="detail-doctor">{{
|
||||||
|
formatDate(patientRegistration?.lastSeeDoctorTime)
|
||||||
|
}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
|
|
@ -29,7 +37,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import {formatDate} from "@/utils/dateUtils.ts"
|
import {formatDate} from "@/utils/dateUtils.ts"
|
||||||
const patientRegistration=defineModel<any>()
|
|
||||||
|
const patientRegistration = defineModel<any>()
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.avatar {
|
.avatar {
|
||||||
|
|
@ -55,11 +64,15 @@ const patientRegistration=defineModel<any>()
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
||||||
.avatar-info {
|
.avatar-info {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
.avatar-info-name {
|
.avatar-info-name {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar-info-age {
|
.avatar-info-age {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
height: 64px;
|
height: 30px;
|
||||||
border-top: 1px solid #EAEAEC;
|
border-top: 1px solid #EAEAEC;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -44,7 +44,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.type {
|
.type {
|
||||||
|
|
@ -61,7 +61,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.unit {
|
.unit {
|
||||||
|
|
@ -69,7 +69,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
@ -78,17 +78,10 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
.price {
|
.price {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.delete {
|
|
||||||
height: 100%;
|
|
||||||
width: 50px;
|
|
||||||
line-height: 64px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,20 @@
|
||||||
<li class="item" v-for="(item, index) in list" :key="index">
|
<li class="item" v-for="(item, index) in list" :key="index">
|
||||||
<div class="index">{{ index + 1 }}</div>
|
<div class="index">{{ index + 1 }}</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<el-popover width="485">
|
<el-popover
|
||||||
|
width="485"
|
||||||
|
@show="show(item)"
|
||||||
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
{{ item.itemName }}
|
{{ item.itemName }}
|
||||||
</template>
|
</template>
|
||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div style="display: flex;justify-content: space-between">
|
<div style="display: flex;justify-content: space-between">
|
||||||
<div>{{ item.itemName }}</div>
|
<div style="font-size: 18px;font-weight: 500;color: #000">{{ itemInfo.name }}[{{ chrgitm_lv[itemInfo.chrgitmLv as keyof typeof chrgitm_lv || '-'] || '-' }}]</div>
|
||||||
<div>¥{{ item.unitPrice }}/{{ item.unit }}</div>
|
<div>¥{{ item.unitPrice }}/{{item.unit }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div> {{item.itemSocialCode}}</div>
|
<div> 医保码:{{item.itemSocialCode||'-'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
|
|
@ -59,10 +62,12 @@
|
||||||
</Panel>
|
</Panel>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {defineModel, computed,defineEmits} from "vue";
|
import {defineModel, computed,defineEmits,ref} from "vue";
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import {Close} from '@element-plus/icons-vue'
|
import {Close} from '@element-plus/icons-vue'
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
|
import {post} from "@/utils/request.ts";
|
||||||
|
import chrgitm_lv from "@/assets/config/directory/chrgitmLv.json"
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
status: {
|
status: {
|
||||||
|
|
@ -103,6 +108,12 @@ const emit = defineEmits(['focus'])
|
||||||
const focus=(e:any)=>{
|
const focus=(e:any)=>{
|
||||||
emit('focus',e)
|
emit('focus',e)
|
||||||
}
|
}
|
||||||
|
const itemInfo = ref<any>({});
|
||||||
|
const show = (item:any) => {
|
||||||
|
post('social/directory/getItemByCode',{code:item.itemSocialCode}).then((res:any)=>{
|
||||||
|
itemInfo.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -135,7 +146,9 @@ const focus=(e:any)=>{
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
white-space: nowrap; /* 防止文本换行 */
|
||||||
|
overflow: hidden; /* 隐藏溢出的文本 */
|
||||||
|
text-overflow: ellipsis; /* 显示省略号 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.code {
|
.code {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<span style="margin-left: 24px">合计</span>
|
<span style="margin-left: 24px">合计</span>
|
||||||
<span style="margin-right: 24px">¥{{ list.reduce((acc, cur) => acc + cur.selectedPrice, 0) }}元</span>
|
<span style="margin-right: 24px">¥{{ list.reduce((acc, cur) => acc + cur.selectedNum*cur.selectedPrice, 0) }}元</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
|
|
@ -36,7 +36,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
height: 64px;
|
height: 30px;
|
||||||
border-top: 1px solid #EAEAEC;
|
border-top: 1px solid #EAEAEC;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -46,43 +46,37 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
width: 50px;
|
width: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
.name{
|
.name{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
.code{
|
.code{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
.unit{
|
.unit{
|
||||||
width: 60px;
|
width: 60px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.price{
|
.price{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
line-height: 64px;
|
line-height: 30px;
|
||||||
border-right: 1px solid #EAEAEC;
|
border-right: 1px solid #EAEAEC;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.delete{
|
|
||||||
height: 100%;
|
|
||||||
width: 50px;
|
|
||||||
line-height: 64px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue