This commit is contained in:
ChenQiuYu 2025-05-23 11:53:32 +08:00
parent 9681209450
commit 45a1a116fc
5 changed files with 44 additions and 23 deletions

View File

@ -42,20 +42,20 @@
<el-form-item label="体格检查:" v-if="!props.isShowFrom"> <el-form-item label="体格检查:" v-if="!props.isShowFrom">
<PhysiqueExamInuput :disabled="props.disabled" v-model="formDate.exam" :list="physiqueExamList"/> <PhysiqueExamInuput :disabled="props.disabled" v-model="formDate.exam" :list="physiqueExamList"/>
</el-form-item> </el-form-item>
<el-form-item label="望闻问切:" v-if="modelType==1&&!props.isShowFrom"> <el-form-item label="望闻问切:" v-if="formDate.diagType==1&&!props.isShowFrom">
<PopoverInput :disabled="props.disabled" v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/> <PopoverInput :disabled="props.disabled" v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/>
</el-form-item> </el-form-item>
<el-form-item label="治法:" v-if="modelType==1&&!props.isShowFrom"> <el-form-item label="治法:" v-if="formDate.diagType==1&&!props.isShowFrom">
<el-input v-model="formDate.chinaDeal" :disabled="props.disabled"></el-input> <el-input v-model="formDate.chinaDeal" :disabled="props.disabled"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="口腔检查:" v-if="modelType==2&&!props.isShowFrom"> <el-form-item label="口腔检查:" v-if="formDate.diagType==2&&!props.isShowFrom">
<el-input :disabled="props.disabled" v-model="formDate.mouthCheck"></el-input> <el-input :disabled="props.disabled" v-model="formDate.mouthCheck"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="辅助检查:" v-if="(modelType==2 || modelType ==0)&&!props.isShowFrom"> <el-form-item label="辅助检查:" v-if="(formDate.diagType==2 || formDate.diagType ==0)&&!props.isShowFrom">
<el-input style="height: 100%;width: 100%" :disabled="props.disabled" <el-input style="height: 100%;width: 100%" :disabled="props.disabled"
v-model="formDate.adjunctCheck"></el-input> v-model="formDate.adjunctCheck"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="处置:" v-if="(modelType==0 || modelType ==2)&&!props.isShowFrom"> <el-form-item label="处置:" v-if="(formDate.diagType==0 || formDate.diagType ==2)&&!props.isShowFrom">
<el-input style="height: 100%;width: 100%" :disabled="props.disabled" v-model="formDate.deal"></el-input> <el-input style="height: 100%;width: 100%" :disabled="props.disabled" v-model="formDate.deal"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -88,7 +88,6 @@ const props = defineProps({
} }
}) })
const formDate = defineModel<any>(); const formDate = defineModel<any>();
const modelType = ref(0)
interface ShowConfig { interface ShowConfig {
label: string; label: string;

View File

@ -3,23 +3,23 @@
<div class="content"> <div class="content">
<div class="content-title"> <div class="content-title">
<div class="name">病例</div> <div class="name">病例</div>
<button class="btn" @click="copy">复制</button> <button class="btn" @click="copy" v-if="status!=3">复制</button>
</div> </div>
<div class="content-middle"> <div class="content-middle">
<p>诊断:{{ detailObj.diagnosisMedicalRecord.diagnosisSummary }}</p>
<p>主诉:{{ detailObj.diagnosisMedicalRecord.mainAppeal }}</p> <p>主诉:{{ detailObj.diagnosisMedicalRecord.mainAppeal }}</p>
<p>现病:{{ detailObj.diagnosisMedicalRecord.nowMedicalHistory }}</p> <p>现病:{{ detailObj.diagnosisMedicalRecord.nowMedicalHistory }}</p>
<p>既往:{{ detailObj.diagnosisMedicalRecord.beforeMedicalHistory }}</p> <p>既往:{{ detailObj.diagnosisMedicalRecord.beforeMedicalHistory }}</p>
<p>体查:{{ detailObj.diagnosisMedicalRecord.exam }}</p> <p>体查:{{ detailObj.diagnosisMedicalRecord.exam }}</p>
<p>复查:{{ detailObj.diagnosisMedicalRecord.allergy }}</p> <p>复查:{{ detailObj.diagnosisMedicalRecord.allergy }}</p>
<p>过敏:{{ detailObj.diagnosisMedicalRecord.allergyHistory }}</p> <p>过敏:{{ detailObj.diagnosisMedicalRecord.allergyHistory }}</p>
<p>诊断:{{ detailObj.diagnosisMedicalRecord.diagnosisSummary}}</p>
<p>处置:{{ detailObj.diagnosisMedicalRecord.treatment }}</p> <p>处置:{{ detailObj.diagnosisMedicalRecord.treatment }}</p>
</div> </div>
</div> </div>
<div class="content"> <div class="content">
<div class="content-title"> <div class="content-title">
<div class="name">服务项目</div> <div class="name">服务项目</div>
<button class="btn" @click="copyItem">复制</button> <button class="btn" @click="copyItem" v-if="status!=3">复制</button>
</div> </div>
<div class="content-middle"> <div class="content-middle">
<div class="item" v-for="item in detailObj.itemDetail"> <div class="item" v-for="item in detailObj.itemDetail">
@ -41,7 +41,7 @@
<div class="content"> <div class="content">
<div class="content-title"> <div class="content-title">
<div class="name">药品耗材</div> <div class="name">药品耗材</div>
<button class="btn" @click="copyGoods">复制</button> <button class="btn" @click="copyGoods" v-if="status!=3">复制</button>
</div> </div>
<div class="content-middle"> <div class="content-middle">
<div class="item" v-for="item in detailObj.goodsDetail"> <div class="item" v-for="item in detailObj.goodsDetail">
@ -75,7 +75,7 @@
<script setup lang="ts"> <script setup lang="ts">
import {ref, defineProps, onMounted} from 'vue' import {ref, defineProps, onMounted} from 'vue'
const {detail} = defineProps(['detail']); const {detail, status} = defineProps(['detail', 'status']);
const detailObj = ref<any>(detail) const detailObj = ref<any>(detail)
const sumPrice = ref(0) const sumPrice = ref(0)
const emit = defineEmits(['copy', 'copyItem', 'copyGoods']) const emit = defineEmits(['copy', 'copyItem', 'copyGoods'])
@ -160,7 +160,8 @@ onMounted(() => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 8px; margin-bottom: 8px;
.name{
.name {
white-space: nowrap; /* 防止文本换行 */ white-space: nowrap; /* 防止文本换行 */
overflow: hidden; /* 隐藏溢出的文本 */ overflow: hidden; /* 隐藏溢出的文本 */
text-overflow: ellipsis; /* 显示省略号 */ text-overflow: ellipsis; /* 显示省略号 */

View File

@ -6,13 +6,14 @@
<el-collapse-item :name="index" v-for="(item, index) in list" :key="index"> <el-collapse-item :name="index" v-for="(item, index) in list" :key="index">
<template #title> <template #title>
<div class="list-item-content"> <div class="list-item-content">
<span class="disease-name">{{ item.diagnosisMedicalRecord.diagnosisSummary }}</span> <span class="disease-name">{{ item.diagnosisMedicalRecord.diagnosisSummary }}</span>
<span class="doctor">{{ item.registrationInfoVo.doctorName }}</span> <span class="doctor">{{ item.registrationInfoVo.doctorName }}</span>
<span class="time">{{ formatListTime(item.createTime) }}</span> <span class="time">{{ formatListTime(item.createTime) }}</span>
</div> </div>
</template> </template>
<div> <div>
<DiseaseDetails :detail="item" :key="item.id" @copy="copy" @copyItem="copyItem" @copyGoods="copyGoods"></DiseaseDetails> <DiseaseDetails :status="props.status" :detail="item" :key="item.id" @copy="copy" @copyItem="copyItem"
@copyGoods="copyGoods"></DiseaseDetails>
</div> </div>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
@ -26,16 +27,24 @@ import DiseaseDetails from './DiseaseDetails.vue';
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import {ref} from "vue"; import {ref} from "vue";
import {formatListTime} from "@/utils/dateUtils.ts"; import {formatListTime} from "@/utils/dateUtils.ts";
const props = defineProps({
status: {
type: Number,
default: 0
}
})
console.log(props.status)
const list = ref<any>([]) const list = ref<any>([])
const init = (patientId: any) => { const init = (patientId: any) => {
post("medical/record/listByPatient",{patientId:patientId}).then((res: any) => { post("medical/record/listByPatient", {patientId: patientId}).then((res: any) => {
list.value = res list.value = res
}) })
} }
const clearList = () => { const clearList = () => {
list.value = [] list.value = []
} }
const emit = defineEmits(['copy','copyItem','copyGoods']) const emit = defineEmits(['copy', 'copyItem', 'copyGoods'])
const copy = (item: any) => { const copy = (item: any) => {
emit('copy', item) emit('copy', item)
} }
@ -45,7 +54,7 @@ const copyItem = (item: any) => {
const copyGoods = (item: any) => { const copyGoods = (item: any) => {
emit('copyGoods', item) emit('copyGoods', item)
} }
defineExpose({init,clearList}) defineExpose({init, clearList})
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.list { .list {
@ -69,12 +78,14 @@ defineExpose({init,clearList})
.doctor { .doctor {
width: 80px; width: 80px;
} }
.time{
.time {
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
} }
} }
} }
:deep .el-collapse-item__content { :deep .el-collapse-item__content {
padding: 0; padding: 0;
} }

View File

@ -88,7 +88,7 @@
import Panel from "@/components/common/Panel.vue"; import Panel from "@/components/common/Panel.vue";
import ChargeQueue from "@/components/charge/ChargeQueue.vue"; import ChargeQueue from "@/components/charge/ChargeQueue.vue";
import {nextTick, onMounted, onUnmounted, ref} from "vue"; import {nextTick, onMounted, onUnmounted, ref, watch} from "vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import ServiceDetail from "@/components/common/service/ServiceDetail.vue"; import ServiceDetail from "@/components/common/service/ServiceDetail.vue";
import GoodsDetail from "@/components/common/goods/GoodsDetail.vue"; import GoodsDetail from "@/components/common/goods/GoodsDetail.vue";
@ -366,6 +366,15 @@ const refund = async () => {
chargeQueueRef.value?.init() chargeQueueRef.value?.init()
}) })
} }
watch(
[() => formData.value.goodsDetail, () => formData.value.itemDetail],
([newGoodsDetail, newItemDetail]) => {
if (newGoodsDetail || newItemDetail) {
getOrderTotalPrice()
}
},
{deep: true}
)
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -29,7 +29,8 @@
<PatientCard ref="patientCardRef"></PatientCard> <PatientCard ref="patientCardRef"></PatientCard>
</div> </div>
<div class="bottom"> <div class="bottom">
<MedicalHistory ref="medicalHistoryRef" @copy="copyForm" @copyItem="copyItemList" <MedicalHistory :status="patientRegistration.status" ref="medicalHistoryRef" @copy="copyForm"
@copyItem="copyItemList"
@copyGoods="copyGoodsList"></MedicalHistory> @copyGoods="copyGoodsList"></MedicalHistory>
</div> </div>
</div> </div>
@ -54,13 +55,13 @@ const patientId = ref()
const itemDetail = ref([]) const itemDetail = ref([])
const goodsList = ref([]) const goodsList = ref([])
const formData = ref<any>({ const formData = ref<any>({
diagType: 1, diagType: 0,
itemDetail: [], itemDetail: [],
goodsDetail: [], goodsDetail: [],
}) })
const initFormData = () => { const initFormData = () => {
formData.value = { formData.value = {
diagType: 1, diagType: 0,
itemDetail: [], itemDetail: [],
goodsDetail: [], goodsDetail: [],
} }
@ -184,7 +185,7 @@ const getOrderTotalPrice = () => {
} }
const caseRef = ref<any>("") const caseRef = ref<any>("")
const copyForm = (item: any) => { const copyForm = (item: any) => {
formData.value = item.diagnosisMedicalRecord formData.value.diagnosisMedicalRecord = item.diagnosisMedicalRecord
formData.value.diagType = Number(item.diagnosisMedicalRecord.diagType) formData.value.diagType = Number(item.diagnosisMedicalRecord.diagType)
const diagnosisList = JSON.parse(item.diagnosisMedicalRecord.diagnosisDetail) const diagnosisList = JSON.parse(item.diagnosisMedicalRecord.diagnosisDetail)
const nList = item.diagnosisMedicalRecord.diagnosisSummary.split(',') const nList = item.diagnosisMedicalRecord.diagnosisSummary.split(',')