dev
This commit is contained in:
parent
358bb39ffb
commit
859cacc1ce
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
|
||||
<template>
|
||||
<Panel title="患者信息">
|
||||
<div v-if="!seeDockerInfo?.patientInfo" style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......</div>
|
||||
<div v-if="!seeDockerInfo?.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"
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<div class="avatar-info-wrapper">
|
||||
<div class="avatar-info">
|
||||
<span class="avatar-info-name">{{ seeDockerInfo?.patientInfo?.name }}</span>
|
||||
<span class="avatar-info-age">{{ seeDockerInfo?.patientInfo?.age||0}}岁</span>
|
||||
<span class="avatar-info-age">{{ seeDockerInfo?.patientInfo?.age || 0 }}岁</span>
|
||||
</div>
|
||||
<div class="avatar-info-phone-num">
|
||||
<span class="avatar-info-phone">{{ seeDockerInfo.patientInfo?.phone }}</span>
|
||||
|
|
@ -26,11 +26,14 @@
|
|||
class="detail-doctor">{{ seeDockerInfo.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
||||
</div>
|
||||
<div class="detail-middle">
|
||||
<div>费用类别: <span class="detail-doctor">{{seeDockerInfo.registerType==2?'医保':'自费'}}</span></div>
|
||||
<div>医保卡剩余金额: <span class="detail-balance">{{ seeDockerInfo.patientInfo.socialBalance?seeDockerInfo.patientInfo.socialBalance+"元":"-" }}</span></div>
|
||||
<div>费用类别: <span class="detail-doctor">{{ seeDockerInfo.registerType == 2 ? '医保' : '自费' }}</span>
|
||||
</div>
|
||||
<div>医保卡剩余金额: <span class="detail-balance">{{
|
||||
seeDockerInfo.patientInfo.socialBalance ? seeDockerInfo.patientInfo.socialBalance + "元" : "-"
|
||||
}}</span></div>
|
||||
</div>
|
||||
<div>上次就诊时间: <span class="detail-doctor">{{
|
||||
formatDate(seeDockerInfo?.lastSeeDoctorTime)||'-'
|
||||
formatDate(seeDockerInfo?.lastSeeDoctorTime) || '-'
|
||||
}}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -42,20 +45,21 @@ import {formatDate} from "@/utils/dateUtils.ts"
|
|||
import Panel from "@/components/common/Panel.vue";
|
||||
import {onMounted, ref} from "vue";
|
||||
import {post} from "@/utils/request.ts";
|
||||
|
||||
const seeDockerInfo = ref<any>();
|
||||
const getSeeDockerInfo = (newValue:any) => {
|
||||
if (!newValue)return;
|
||||
const getSeeDockerInfo = (newValue: any) => {
|
||||
if (!newValue) return;
|
||||
post('medical/record/getSeeDockerInfo', {regisId: newValue}).then((res: any) => {
|
||||
seeDockerInfo.value = res
|
||||
})
|
||||
}
|
||||
const init =(regisId:any)=>{
|
||||
const init = (regisId: any) => {
|
||||
getSeeDockerInfo(regisId)
|
||||
}
|
||||
const clear = () => {
|
||||
seeDockerInfo.value = {}
|
||||
}
|
||||
defineExpose({ init,clear})
|
||||
defineExpose({init, clear})
|
||||
|
||||
</script>
|
||||
|
||||
|
|
@ -71,7 +75,8 @@ defineExpose({ init,clear})
|
|||
}
|
||||
|
||||
.avatar-info-wrapper {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
height: 60px;
|
||||
padding: 6px 0;
|
||||
display: flex;
|
||||
|
|
@ -84,14 +89,20 @@ defineExpose({ init,clear})
|
|||
|
||||
.avatar-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
}
|
||||
.avatar-info-name {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
font-weight: 500;
|
||||
font-size: 18px;
|
||||
color: #333333;
|
||||
font-style: normal;
|
||||
margin-right: 10px;
|
||||
white-space: nowrap; /* 防止文本换行 */
|
||||
overflow: hidden; /* 隐藏溢出的文本 */
|
||||
text-overflow: ellipsis; /* 显示省略号 */
|
||||
}
|
||||
|
||||
.avatar-info-age {
|
||||
|
|
@ -119,7 +130,6 @@ defineExpose({ init,clear})
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
</el-descriptions-item>
|
||||
<el-descriptions-item label="售价">
|
||||
<el-form-item prop="unitPrice">
|
||||
<el-input v-model.number="form.unitPrice">
|
||||
<el-input v-model="form.unitPrice">
|
||||
<template #prefix>¥</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -190,7 +190,16 @@ const formRules = {
|
|||
],
|
||||
unitPrice: [
|
||||
{required: true, message: '请输入售价', trigger: 'blur'},
|
||||
{type: 'number', message: '单位必须为数字值'}
|
||||
{
|
||||
validator: (rule: any, value: number, callback: any) => {
|
||||
if (!/^\d+(\.\d{1,2})?$/.test(value.toString())) {
|
||||
callback(new Error('售价最多保留两位小数'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,13 +19,16 @@
|
|||
<div class="total">共{{ totalCount || 0 }}条</div>
|
||||
<ul class="content">
|
||||
<el-scrollbar style="height: 100%">
|
||||
<li v-for="(item,i) in list" :key="item.id" :class="index==i?'active':''" @click="btn(item,i)">
|
||||
<li class="list-item" v-for="(item,i) in list" :key="item.id" :class="index==i?'active':''"
|
||||
@click="btn(item,i)">
|
||||
<span class="item-avatar">
|
||||
<img class="image"
|
||||
:src="'/static/images/member/' + (item.sex === 1 ? 'man' : 'women') + '.png'"
|
||||
alt=""/>
|
||||
<div class="name">{{ item.name || '-' }}</div>
|
||||
<span class="level">{{ item.levelName || "-" }}</span>
|
||||
<span class="time">{{ formatListTime(item.lastVisitTime) }}</span>
|
||||
</span>
|
||||
<span class="item-name">{{ item.name || '-' }}</span>
|
||||
<span class="item-level">{{ item.levelName || "-" }}</span>
|
||||
<span class="item-time">{{ formatListTime(item.lastVisitTime) }}</span>
|
||||
</li>
|
||||
</el-scrollbar>
|
||||
</ul>
|
||||
|
|
@ -42,7 +45,7 @@
|
|||
alt="">
|
||||
<div class="detail-top-left-text">
|
||||
<div class="detail-top-left-text-name">
|
||||
<span style="margin-right: 16px">{{ listItem.name || '-' }}</span>
|
||||
<span class="name" style="margin-right: 16px">{{ listItem.name || '-' }}</span>
|
||||
<el-tag type="success">{{ listItem.levelName || '-' }}</el-tag>
|
||||
</div>
|
||||
<div class="detail-top-left-text-phone">
|
||||
|
|
@ -380,10 +383,10 @@ const antysList = ref<any>(Object.entries(antys).map(([id, name]) => ({id, name}
|
|||
const certTypeList = ref<any>(Object.entries(psnCertTypes).map(([id, name]) => ({id, name})))
|
||||
const flowingId = ref();
|
||||
const flowingWaterRef = ref();
|
||||
const openFlowingWater=()=>{
|
||||
isFlowingWater.value=true
|
||||
flowingId.value=listItem.value.id
|
||||
nextTick(()=>{
|
||||
const openFlowingWater = () => {
|
||||
isFlowingWater.value = true
|
||||
flowingId.value = listItem.value.id
|
||||
nextTick(() => {
|
||||
flowingWaterRef.value?.init(flowingId.value)
|
||||
})
|
||||
}
|
||||
|
|
@ -449,56 +452,48 @@ const openFlowingWater=()=>{
|
|||
border-radius: 8px;
|
||||
border: 1px solid #EAEAEC;
|
||||
|
||||
li {
|
||||
.list-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding: 0 24px;
|
||||
color: #000000;
|
||||
cursor: pointer;
|
||||
|
||||
&:first-child {
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
span {
|
||||
text-align: center;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-bottom-left-radius: 8px;
|
||||
border-bottom-right-radius: 8px;
|
||||
.item-avatar {
|
||||
width: 20px;
|
||||
height: 100%;
|
||||
margin-right: 10px;
|
||||
.image {
|
||||
margin-top: 15px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
.item-name{
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-align: left;
|
||||
}
|
||||
.item-level{
|
||||
width: 50px;
|
||||
}
|
||||
.item-time{
|
||||
width: 50px;
|
||||
font-size: 12px;
|
||||
color: #7a8794;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: rgba(#4D6DE4, 0.5);
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
.name {
|
||||
flex: 2;
|
||||
}
|
||||
|
||||
.level {
|
||||
flex: 2;
|
||||
margin-right: 20px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.time {
|
||||
flex: 2;
|
||||
font-size: 12px;
|
||||
color: #7a8794;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.active {
|
||||
|
|
@ -535,10 +530,11 @@ const openFlowingWater=()=>{
|
|||
.detail-top {
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.detail-top-left {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
display: flex;
|
||||
|
||||
.image {
|
||||
|
|
@ -553,10 +549,17 @@ const openFlowingWater=()=>{
|
|||
justify-content: center;
|
||||
|
||||
.detail-top-left-text-name {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
font-weight: bold;
|
||||
font-size: 24px;
|
||||
color: #333333;
|
||||
font-style: normal;
|
||||
.name{
|
||||
white-space: nowrap; /* 防止文本换行 */
|
||||
overflow: hidden; /* 隐藏溢出的文本 */
|
||||
text-overflow: ellipsis; /* 显示省略号 */
|
||||
}
|
||||
}
|
||||
|
||||
.detail-top-left-text-phone {
|
||||
|
|
@ -573,27 +576,9 @@ const openFlowingWater=()=>{
|
|||
}
|
||||
|
||||
.detail-top-right {
|
||||
width: 552px;
|
||||
display: flex;
|
||||
height: 42px;
|
||||
|
||||
.btn {
|
||||
flex: 1;
|
||||
background: #FFFFFF;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #4D6DE4;
|
||||
padding: 10px 12px;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
color: #4D6DE4;
|
||||
font-style: normal;
|
||||
margin-left: 24px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: #FFFFFF;
|
||||
background: #4D6DE4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -161,11 +161,14 @@ const getOrderTotalPrice = () => {
|
|||
formData.value.itemDetail?.forEach((item: any) => {
|
||||
totalPrice += item.selectedPrice * item.selectedNum
|
||||
})
|
||||
console.log(totalPrice,'totalPrice')
|
||||
formData.value.goodsDetail?.forEach((item: any) => {
|
||||
totalPrice += item.selectedPrice * item.selectedNum
|
||||
})
|
||||
console.log(totalPrice,'totalPrice')
|
||||
formData.value.preTotalPrice = Math.round((totalPrice * 100) / 100)
|
||||
formData.value.totalPrice = Math.round((totalPrice * 100) / 100)
|
||||
formData.value.totalPrice = totalPrice
|
||||
console.log(formData.value.totalPrice,'formData.value.totalPrice')
|
||||
}
|
||||
const caseRef = ref<any>("")
|
||||
const copyForm = (item: any) => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue