151 门诊医生站的用户信息展示重叠

This commit is contained in:
HuangXinQuan
2026-03-04 15:27:10 +08:00
parent 30ca81090a
commit fcb1d771f4
2 changed files with 37 additions and 54 deletions

View File

@@ -100,7 +100,7 @@
<el-form-item :prop="`diagnosisList.${scope.$index}.medTypeCode`" :rules="rules.medTypeCode">
<el-select v-model="scope.row.medTypeCode" placeholder=" " style="width: 150px">
<el-option
v-for="item in diag_type"
v-for="item in med_type"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -292,7 +292,7 @@ const props = defineProps({
const emits = defineEmits(['diagnosisSave']);
const { proxy } = getCurrentInstance();
const userStore = useUserStore();
const { diag_type } = proxy.useDict('diag_type');
const { med_type } = proxy.useDict('med_type');
const { diagnosis_classification } = proxy.useDict('diagnosis_classification');
const { long_term_flag } = proxy.useDict('long_term_flag');
@@ -507,7 +507,7 @@ function handleAddDiagnosis() {
showPopover: false,
name: undefined,
verificationStatusEnum: 4,
medTypeCode: 11, // Bug #151 修复:使用数字类型的字典值
medTypeCode: '11',
diagSrtNo: maxSortNo + 1,
iptDiseTypeCode: 2,
diagnosisDesc: '',
@@ -718,7 +718,7 @@ form.value.diagnosisList.push({
ybNo: data.ybNo,
name: data.name,
verificationStatusEnum: 4,
medTypeCode: 11, // Bug #151 修复:使用数字类型的字典值,而非字符串'初诊诊断'
medTypeCode: '11',
diagSrtNo: maxSortNo + 1,
definitionId: data.definitionId,
classification: '西医', // 默认为西医

View File

@@ -73,56 +73,39 @@
</div>
</div>
<div class="disabled-wrapper" style="width: 85%; border: 1px solid #eee; position: relative">
<div style="padding: 10px; border: 1px solid #eee; height: 50px; border-left: 0">
<el-descriptions :column="5" class="patient-info-descriptions">
<el-descriptions-item label="患者信息:" width="420">
{{
Object.keys(patientInfo).length !== 0
? patientInfo.patientName +
' / ' +
patientInfo.age +
' / ' +
patientInfo.genderEnum_enumText +
' / ' +
(patientInfo?.contractName ? patientInfo.contractName : '') +
'/' +
patientInfo.phone +
'/' +
patientInfo.busNo
: '-'
}}
</el-descriptions-item>
<el-descriptions-item label="挂号时间:" width="300">
{{ Object.keys(patientInfo).length !== 0 ? formatDate(patientInfo.registerTime) : '-' }}
</el-descriptions-item>
<el-descriptions-item label="医生:" width="250">
{{ userStore.nickName }}
</el-descriptions-item>
<el-descriptions-item label="" width="300">
<el-radio-group v-model="firstEnum">
<el-radio :label="1"></el-radio>
<el-radio :label="2">复诊</el-radio>
</el-radio-group>
<el-button type="primary" plain @click.stop="handleFinish(patientInfo.encounterId)">
完诊
</el-button>
<el-button type="primary" plain @click.stop="handleLeave(patientInfo.encounterId)">
暂离
</el-button>
<el-button type="primary" plain :disabled="isRefundButtonDisabled"
@click.stop="handleRefund(patientInfo.encounterId)">
退费
</el-button>
<el-button type="primary" plain class="top-layer-btn"
@click.stop="getEnPrescription(patientInfo.encounterId)">
处方单
</el-button>
<el-button type="primary" plain class="top-layer-btn" :disabled="isHospitalizationButtonDisabled"
@click.stop="handleHospitalizationClick()"
@mouseenter="console.log('办理住院按钮状态:', { patientInfo: patientInfo?.value, hasEncounterId: patientInfo?.value?.encounterId, isDisabled: isHospitalizationButtonDisabled })">
办理住院 </el-button>
</el-descriptions-item>
</el-descriptions>
<div style="padding: 10px; border: 1px solid #eee; min-height: 50px; border-left: 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;">
<div style="display: flex; align-items: flex-start; gap: 20px; flex: 1; flex-wrap: wrap;">
<div style="display: flex; align-items: flex-start;">
<span style="color: #606266; font-size: 14px; margin-right: 8px; flex-shrink: 0; line-height: 1.5;">患者信息:</span>
<span style="font-size: 14px; line-height: 1.5; word-break: break-all;">
{{
Object.keys(patientInfo).length !== 0
? patientInfo.patientName + ' / ' + patientInfo.age + ' / ' + patientInfo.genderEnum_enumText + ' / ' + (patientInfo?.contractName ? patientInfo.contractName : '') + '/' + patientInfo.phone + '/' + patientInfo.busNo
: '-'
}}
</span>
</div>
<div style="display: flex; align-items: center; flex-shrink: 0; line-height: 1.5;">
<span style="color: #606266; font-size: 14px; margin-right: 8px;">挂号时间:</span>
<span style="font-size: 14px;">{{ Object.keys(patientInfo).length !== 0 ? formatDate(patientInfo.registerTime) : '-' }}</span>
</div>
<div style="display: flex; align-items: center; flex-shrink: 0; line-height: 1.5;">
<span style="color: #606266; font-size: 14px; margin-right: 8px;">医生:</span>
<span style="font-size: 14px;">{{ userStore.nickName }}</span>
</div>
</div>
<div style="display: flex; align-items: center; gap: 8px; flex-shrink: 0;">
<el-radio-group v-model="firstEnum" style="margin-right: 5px;">
<el-radio :label="1">初诊</el-radio>
<el-radio :label="2">复诊</el-radio>
</el-radio-group>
<el-button type="primary" plain @click.stop="handleFinish(patientInfo.encounterId)" size="small"></el-button>
<el-button type="primary" plain @click.stop="handleLeave(patientInfo.encounterId)" size="small">暂离</el-button>
<el-button type="primary" plain :disabled="isRefundButtonDisabled" @click.stop="handleRefund(patientInfo.encounterId)" size="small">退费</el-button>
<el-button type="primary" plain class="top-layer-btn" @click.stop="getEnPrescription(patientInfo.encounterId)" size="small">处方单</el-button>
<el-button type="primary" plain class="top-layer-btn" :disabled="isHospitalizationButtonDisabled" @click.stop="handleHospitalizationClick()" size="small">办理住院</el-button>
</div>
</div>
<div style="padding: 10px; position: relative">
<el-tabs type="card" style="width: 100%; height: 100%" v-loading="loading" v-model="activeTab"