Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue
This commit is contained in:
@@ -36,23 +36,26 @@
|
||||
</el-icon>
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-if="node.level === 2 && node.parent.data.name != '常用' && node.parent.data.name != '历史'">
|
||||
<el-popconfirm width="200" :hide-after="10" title="确认删除此常用诊断吗" placement="top-start"
|
||||
@confirm="deleteChild(data)">
|
||||
<template #reference>
|
||||
<el-button
|
||||
style="color: #000000"
|
||||
type="text"
|
||||
size="small"
|
||||
@click.stop=""
|
||||
>
|
||||
<el-icon>
|
||||
<Minus />
|
||||
</el-icon>
|
||||
</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
<el-popconfirm width="200" :hide-after="10" title="确认删除此常用诊断吗" placement="top-start"
|
||||
@confirm="deleteChild(data)">
|
||||
<template #reference>
|
||||
<el-button
|
||||
style="color: #000000"
|
||||
v-if="
|
||||
node.level === 2 &&
|
||||
node.parent.data.name != '常用' &&
|
||||
node.parent.data.name != '历史'
|
||||
"
|
||||
type="text"
|
||||
size="small"
|
||||
@click.stop=""
|
||||
>
|
||||
<el-icon>
|
||||
<Minus />
|
||||
</el-icon>
|
||||
</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
@@ -95,15 +98,14 @@
|
||||
<el-table-column label="诊断类型" align="center" prop="medTypeCode" width="180">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.medTypeCode`" :rules="rules.medTypeCode">
|
||||
<el-select v-model="scope.row.medTypeCode" placeholder="请选择" style="width: 150px" v-if="diag_type && diag_type.length > 0">
|
||||
<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"
|
||||
/>
|
||||
</el-select>
|
||||
<span v-else style="color: #909399;">加载中...</span>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -290,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');
|
||||
|
||||
@@ -505,7 +507,7 @@ function handleAddDiagnosis() {
|
||||
showPopover: false,
|
||||
name: undefined,
|
||||
verificationStatusEnum: 4,
|
||||
medTypeCode: undefined, // 新增时不设默认值,让用户选择
|
||||
medTypeCode: '11',
|
||||
diagSrtNo: maxSortNo + 1,
|
||||
iptDiseTypeCode: 2,
|
||||
diagnosisDesc: '',
|
||||
@@ -576,13 +578,6 @@ function handleMaindise(value, index) {
|
||||
function handleSaveDiagnosis() {
|
||||
proxy.$refs.formRef.validate((valid) => {
|
||||
if (valid) {
|
||||
// 验证诊断类型是否已选择
|
||||
const emptyMedType = form.value.diagnosisList.find(d => !d.medTypeCode);
|
||||
if (emptyMedType) {
|
||||
proxy.$modal.msgWarning('请选择诊断类型');
|
||||
return false;
|
||||
}
|
||||
|
||||
if (form.value.diagnosisList.length == 0) {
|
||||
proxy.$modal.msgWarning('诊断不能为空');
|
||||
return false;
|
||||
@@ -723,7 +718,7 @@ form.value.diagnosisList.push({
|
||||
ybNo: data.ybNo,
|
||||
name: data.name,
|
||||
verificationStatusEnum: 4,
|
||||
medTypeCode: undefined, // 新增时不设默认值,让用户选择
|
||||
medTypeCode: '11',
|
||||
diagSrtNo: maxSortNo + 1,
|
||||
definitionId: data.definitionId,
|
||||
classification: '西医', // 默认为西医
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user