46 门诊医生站-》开立诊断:优化
This commit is contained in:
@@ -75,15 +75,27 @@
|
||||
<el-form :model="form" :rules="rules" ref="formRef">
|
||||
<el-table ref="diagnosisTableRef" :data="form.diagnosisList" height="650">
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="诊断排序" align="center" prop="diagSrtNo" width="120">
|
||||
<el-table-column label="分类" align="center" prop="classification" width="120">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.diagSrtNo`" :rules="rules.diagSrtNo">
|
||||
<el-input-number v-model="scope.row.diagSrtNo" controls-position="right" :controls="false"
|
||||
style="width: 80px" />
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.classification`">
|
||||
<!-- <el-select v-model="scope.row.classification" placeholder=" " style="width: 100px">
|
||||
<el-option label="西医" value="西医" />
|
||||
<el-option label="中医" value="中医" />
|
||||
<el-option label="证型" value="证型" />
|
||||
<el-option label="其他" value="其他" />
|
||||
</el-select>-->
|
||||
<el-select v-model="scope.row.classification" placeholder=" " style="width: 100px">
|
||||
<el-option
|
||||
v-for="item in diagnosis_classification"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断类别" align="center" prop="diagSrtNo" width="180">
|
||||
<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">
|
||||
@@ -97,7 +109,7 @@
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断名称" align="center" prop="name">
|
||||
<el-table-column label="诊断" align="center" prop="name" >
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.name`" :rules="rules.name">
|
||||
<el-popover
|
||||
@@ -121,34 +133,86 @@
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医保码" align="center" prop="ybNo" width="180" />
|
||||
<el-table-column label="类别" align="center" prop="typeName" width="100" />
|
||||
<el-table-column label="诊断类型" align="center" prop="maindiseFlag">
|
||||
<el-table-column label="主诊断" align="center" prop="maindiseFlag" width="100">
|
||||
<template #default="scope">
|
||||
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
|
||||
<el-checkbox
|
||||
label="主诊断"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
v-model="scope.row.maindiseFlag"
|
||||
border
|
||||
size="small"
|
||||
@change="(value) => handleMaindise(value, scope.$index)"
|
||||
/>
|
||||
<el-select
|
||||
v-model="scope.row.verificationStatusEnum"
|
||||
placeholder=" "
|
||||
style="width: 100%; padding-bottom: 5px; padding-left: 10px"
|
||||
size="small"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in diagnosisOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
<el-form-item style="display: flex;justify-content: center;margin-bottom: 0;">
|
||||
<el-select
|
||||
v-model="scope.row.maindiseFlag"
|
||||
placeholder=" "
|
||||
style="width: 80px"
|
||||
@change="(value) => handleMaindise(value, scope.$index)"
|
||||
>
|
||||
<el-option label="是" :value="1" />
|
||||
<el-option label="否" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断备注" align="center" prop="diagnosisDesc" width="180">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.diagnosisDesc`">
|
||||
<el-input v-model="scope.row.diagnosisDesc" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="ICD代码" align="center" prop="ybNo" width="180" />
|
||||
<el-table-column label="诊断状态" align="center" prop="verificationStatusEnum" width="120">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.verificationStatusEnum`" style="margin-bottom: 0;">
|
||||
<el-select
|
||||
v-model="scope.row.verificationStatusEnum"
|
||||
placeholder=" "
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in diagnosisOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发病日期" align="center" prop="onsetDate" width="160">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.onsetDate`">
|
||||
<el-date-picker
|
||||
v-model="scope.row.onsetDate"
|
||||
type="date"
|
||||
placeholder=" "
|
||||
style="width: 100%"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="诊断日期" align="center" prop="diagnosisTime" width="160">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.diagnosisTime`">
|
||||
<el-date-picker
|
||||
v-model="scope.row.diagnosisTime"
|
||||
type="date"
|
||||
placeholder=" "
|
||||
style="width: 100%"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医生" align="center" prop="diagnosisDoctor" width="120" />
|
||||
<el-table-column label="长效诊断标识" align="center" prop="longTermFlag" width="140">
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`diagnosisList.${scope.$index}.longTermFlag`">
|
||||
<el-select v-model="scope.row.longTermFlag" placeholder=" " style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in long_term_flag"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="130">
|
||||
@@ -220,6 +284,9 @@ const emits = defineEmits(['diagnosisSave']);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const userStore = useUserStore();
|
||||
const { diag_type } = proxy.useDict('diag_type');
|
||||
const { diagnosis_classification } = proxy.useDict('diagnosis_classification');
|
||||
const { long_term_flag } = proxy.useDict('long_term_flag');
|
||||
|
||||
const rules = ref({
|
||||
name: [{ required: true, message: '请选择诊断', trigger: 'change' }],
|
||||
medTypeCode: [{ required: true, message: '请选择诊断类型', trigger: 'change' }],
|
||||
@@ -255,6 +322,12 @@ function getList() {
|
||||
if (res.code == 200) {
|
||||
// 过滤掉中医诊断,只保留西医诊断
|
||||
form.value.diagnosisList = res.data.filter(item => item.typeName !== '中医诊断');
|
||||
// 为旧数据添加默认分类
|
||||
form.value.diagnosisList.forEach(item => {
|
||||
if (!item.classification) {
|
||||
item.classification = '西医';
|
||||
}
|
||||
});
|
||||
emits('diagnosisSave', false);
|
||||
}
|
||||
maxNo = form.value.diagnosisList.length;
|
||||
@@ -274,6 +347,8 @@ function getList() {
|
||||
medTypeCode: item.medTypeCode,
|
||||
syndromeGroupNo: item.syndromeGroupNo,
|
||||
typeName: '中医诊断',
|
||||
classification: '中医', // 中医诊断默认分类
|
||||
onsetDate: item.onsetDate,
|
||||
updateId:item.encounterDiagnosisId+'-'+res.data.symptom[index].encounterDiagnosisId,
|
||||
illnessDefinitionId : item.definitionId,
|
||||
symptomDefinitionId : res.data.symptom[index].definitionId,
|
||||
@@ -323,8 +398,10 @@ function handleImport() {
|
||||
diagSrtNo: maxSortNo + index + 1,
|
||||
iptDiseTypeCode: 2,
|
||||
diagnosisDesc: '',
|
||||
classification: '西医', // 导入的慢性病默认为西医
|
||||
onsetDate: getCurrentDate(),
|
||||
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,
|
||||
diagnosisTime: new Date().toLocaleString('zh-CN')
|
||||
diagnosisTime: getCurrentDate()
|
||||
},
|
||||
});
|
||||
});
|
||||
@@ -425,8 +502,10 @@ function handleAddDiagnosis() {
|
||||
diagSrtNo: maxSortNo + 1,
|
||||
iptDiseTypeCode: 2,
|
||||
diagnosisDesc: '',
|
||||
classification: '西医', // 默认为西医
|
||||
onsetDate: getCurrentDate(),
|
||||
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,
|
||||
diagnosisTime: new Date().toLocaleString('zh-CN')
|
||||
diagnosisTime: getCurrentDate()
|
||||
});
|
||||
|
||||
// 添加后按排序号排序
|
||||
@@ -613,8 +692,10 @@ function handleNodeClick(data) {
|
||||
medTypeCode: '11',
|
||||
diagSrtNo: maxSortNo + 1,
|
||||
definitionId: data.definitionId,
|
||||
classification: '西医', // 默认为西医
|
||||
onsetDate: getCurrentDate(),
|
||||
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,
|
||||
diagnosisTime: new Date().toLocaleString('zh-CN')
|
||||
diagnosisTime: getCurrentDate()
|
||||
});
|
||||
|
||||
// 添加后按排序号排序
|
||||
@@ -625,6 +706,16 @@ function handleNodeClick(data) {
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentDate() {
|
||||
const date = new Date();
|
||||
const year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
month = month < 10 ? "0" + month : month;
|
||||
day = day < 10 ? "0" + day : day;
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
|
||||
defineExpose({ getList, getDetail, handleSaveDiagnosis });
|
||||
</script>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
max-height="400"
|
||||
>
|
||||
<el-table-column label="诊断名称" align="center" prop="name" />
|
||||
<el-table-column label="医保编码" align="center" prop="ybNo" />
|
||||
<el-table-column label="ICD代码" align="center" prop="ybNo" />
|
||||
<el-table-column label="诊断类型" align="center" prop="typeName" width="180"/>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user