Files
his/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionInfo.vue
2025-09-25 10:36:59 +08:00

205 lines
5.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-dialog
title="处方单"
v-model="props.open"
width="1600px"
append-to-body
destroy-on-close
@close="close"
@open="openDialog"
>
<div class="prescription-dialog-wrapper">
<div
class="prescription-container"
v-for="item in precriptionInfo"
:key="item.prescriptionNo"
>
<div>
<span>处方号</span>
<span>{{ item.prescriptionNo }}</span>
</div>
<div style="text-align: center">
<h2>医院</h2>
</div>
<div style="text-align: center">
<h3>处方单</h3>
</div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">姓名</span>
<span class="item-value">{{ item.patientName }}</span>
</div>
<div>
<span class="item-label">年龄</span>
<span class="item-value">20</span>
</div>
<div>
<span class="item-label">性别</span>
<span class="item-value"></span>
</div>
</div>
<div class="divider"></div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">科室</span>
<span class="item-value">门诊内科</span>
</div>
<div>
<span class="item-label">费用性质</span>
<span class="item-value">自费</span>
</div>
<div>
<span class="item-label">日期</span>
<span class="item-value">{{ formatDateStr(item.requestTime, 'YYYY-MM-DD') }}</span>
</div>
</div>
<div class="divider"></div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">门诊号</span>
<span class="item-value">M0000000001</span>
</div>
<div>
<span class="item-label">开单医生</span>
<span class="item-value">徐丹</span>
</div>
</div>
<div class="divider"></div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">诊断</span>
<span class="item-value">{{ item.conditionDefinitionName }}</span>
</div>
</div>
<div class="divider"></div>
<div style="font-size: 16px; font-weight: 700; margin-bottom: 3px">Rp</div>
<div class="medicen-list">
<div
style="margin-bottom: 3px"
v-for="(medItem, index) in item.prescriptionInfoDetail"
:key="medItem.requestId"
>
<span>{{ index + 1 + '. ' }}</span>
<span>{{ medItem.adviceName }}</span>
<span>{{ '(' + medItem.volume + ')' }}</span>
<span>{{ medItem.quantity + ' ' + medItem.unitCode_dictText }}</span>
<span>{{ '批次号:' + medItem.lotNumber }}</span>
<div>
<span>用法用量</span>
<span>
{{
medItem?.methodCode_dictText +
' / ' +
medItem?.dose +
+' ' +
medItem?.doseUnitCode_dictText +
' / ' +
medItem?.rateCode_dictText
}}
</span>
</div>
</div>
</div>
<div class="divider"></div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">医师</span>
<span class="item-value"></span>
</div>
<div>
<span class="item-label">收费</span>
<span class="item-value"></span>
</div>
<div>
<span class="item-label">合计</span>
<span class="item-value"></span>
</div>
</div>
<div style="display: flex; justify-content: space-between">
<div>
<span class="item-label">调配</span>
<span class="item-value"></span>
</div>
<div>
<span class="item-label">核对</span>
<span class="item-value"></span>
</div>
<div>
<span class="item-label">发药</span>
<span class="item-value"></span>
</div>
</div>
</div>
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit"> </el-button>
<el-button @click="close"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { formatDateStr } from '@/utils/index';
const props = defineProps({
open: {
type: Boolean,
default: false,
},
precriptionInfo: {
type: [],
default: [],
},
});
const emit = defineEmits(['close']);
function close() {
emit('close');
}
function clickRow(row) {
selectRow.value = row;
}
</script>
<style lang="scss" scoped>
.prescription-dialog-wrapper {
height: 700px;
display: flex;
overflow-x: auto;
flex-wrap: wrap;
gap: 20px;
// background-color: #d7d7d7;
// padding: 10px
}
.prescription-container {
height: 660px;
width: 500px;
border: solid 2px #757575;
font-size: 13px;
color: #000000;
background-color: #f3f3f3;
padding: 10px;
}
.divider {
height: 2px;
background-color: #757575;
margin: 5px 0 5px 0;
}
.medicen-list {
height: 330px;
}
.item-label {
width: 70px;
text-align: left;
font-weight: 700;
color: #000000;
display: inline-block;
}
.item-value {
color: #393a3b;
font-weight: 500;
width: 87px;
display: inline-block;
}
</style>