|
|
|
@ -106,10 +106,16 @@ |
|
|
|
<div v-show="!scope.row.collapse"> |
|
|
|
<div style="display: flex;margin-top: 2px;"> |
|
|
|
<div style="width:60px;">诊断</div> |
|
|
|
<el-input placeholder="请选择单位" :value="`${scope.row.diagnosisNames}`" size="small" disabled> |
|
|
|
<el-button slot="append" icon="el-icon-search" @click="btnChooseDiagnosis(scope.$index)" |
|
|
|
style="font-size: 20px;" :disabled="sumBtnDisabled()"></el-button> |
|
|
|
<el-input placeholder="请选择诊断" :value="`${scope.row.diagnosisNames}`" size="small" disabled> |
|
|
|
</el-input> |
|
|
|
<el-tooltip content="选择诊断" placement="top"> |
|
|
|
<el-button icon="el-icon-search" style="min-width:21px;height:21px;padding:2px;" |
|
|
|
@click="btnChooseDiagnosis(scope.$index)" :disabled="sumBtnDisabled()"></el-button> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip content="根据诊断搜索医学解释、常见原因及健康指导" placement="top"> |
|
|
|
<el-button icon="el-icon-cpu" style="margin-left: 2px;min-width:21px;height:21px;padding:2px;" |
|
|
|
@click="btnAIdiagnosis(scope.row.diagnosisNames)" :disabled="sumBtnDisabled()"></el-button> |
|
|
|
</el-tooltip> |
|
|
|
<!-- |
|
|
|
<el-select v-model="scope.row.diagnosisIds" multiple placeholder="请选择" style="width: 100%;" |
|
|
|
:disabled="sumBtnDisabled()" @change="changeDiagnosis" filterable class="no-animation"> |
|
|
|
@ -272,7 +278,30 @@ |
|
|
|
<el-button @click="dialogDiagnosises = false">关闭</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- AI诊断(所有小结信息)--> |
|
|
|
<div v-show="AI.visible" |
|
|
|
:style="`z-index:3;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:0px;left:0px;width:${AI.width}px;height: ${AI.height}px;opacity:1;`"> |
|
|
|
<div v-show="AI.max" style="display: flex;justify-content: space-between;"> |
|
|
|
<p>AI诊断内容:</p> |
|
|
|
<el-tooltip content="隐藏 AI诊断内容" placement="top"> |
|
|
|
<i class="el-icon-minus" @click="btnAImax(AI.max)" style="font-size: 24px;color: red;cursor:pointer;"></i> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
<div v-show="!AI.max"> |
|
|
|
<el-tooltip content="显示 AI诊断内容" placement="top"> |
|
|
|
<i class="el-icon-plus" @click="btnAImax(AI.max)" style="font-size: 24px;color: red;cursor:pointer;"></i> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
<el-input v-show="AI.max" type="textarea" v-model="AI.diagnosis" placeholder="AI诊断内容" |
|
|
|
:autosize="{ minRows: AIDH, maxRows: AIDH }" style="text-align: right;"> |
|
|
|
</el-input> |
|
|
|
<div v-show="AI.max" style="text-align: right; margin-top: 10px;"> |
|
|
|
<el-button class="commonbutton" @click="AI.visible = false">关闭</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
@ -315,6 +344,14 @@ export default { |
|
|
|
subIndex: -1, |
|
|
|
}, |
|
|
|
summary_check_default_summay_modifiable: 'N', |
|
|
|
|
|
|
|
AI: { |
|
|
|
width: 500, |
|
|
|
height: 24, |
|
|
|
max: true, |
|
|
|
visible: false, |
|
|
|
diagnosis: 'AI诊断信息', |
|
|
|
} |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
@ -325,6 +362,7 @@ export default { |
|
|
|
|
|
|
|
// 获取是否显示医学解释与常见原因 |
|
|
|
|
|
|
|
this.AI.height = this.frameHeight |
|
|
|
}, |
|
|
|
|
|
|
|
//挂载完成 |
|
|
|
@ -353,6 +391,14 @@ export default { |
|
|
|
let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight |
|
|
|
return tempHeight - 335 |
|
|
|
}, |
|
|
|
|
|
|
|
frameHeight() { |
|
|
|
return this.window.pageHeight - 42 - 10 |
|
|
|
}, |
|
|
|
// AIdiagnosisHeight |
|
|
|
AIDH() { |
|
|
|
return Math.floor((this.AI.height - 24 - 42 - 4) / 21.5) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
@ -496,6 +542,42 @@ export default { |
|
|
|
this.dialogDiagnosises = true |
|
|
|
}, |
|
|
|
|
|
|
|
// 根据诊断,搜索医学解释、常见原因、健康指导 |
|
|
|
// AI诊断 AI重新诊断 |
|
|
|
btnAIdiagnosis(diagnosis) { |
|
|
|
if (!diagnosis) { |
|
|
|
this.$message.warning({ showClose: true, message: '诊断内容为空,无法搜索医学解释、常见原因及健康指导信息。' }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let message = '性别:' + this.doctorCheck.prBase.sexName + ',年龄:' + this.doctorCheck.prBase.age + '岁,检查结果:' + diagnosis |
|
|
|
+ ' 请给出医学解释、常见原因及健康指导' |
|
|
|
|
|
|
|
|
|
|
|
postapi('/api/app/AIMessage/GetAIMessageResult', { message }) |
|
|
|
.then(res => { |
|
|
|
if (res.code > -1) { |
|
|
|
this.AI.visible = true |
|
|
|
this.AI.diagnosis = res.data.result |
|
|
|
this.btnAImax(false) |
|
|
|
} else { |
|
|
|
this.$message.error({ showClose: true, message: res.message }) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
btnAImax(max) { |
|
|
|
this.AI.max = !max |
|
|
|
if (this.AI.max) { |
|
|
|
this.AI.width = 500 |
|
|
|
this.AI.height = this.frameHeight |
|
|
|
} else { |
|
|
|
this.AI.width = 24 |
|
|
|
this.AI.height = 24 |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//快速选择组合项目时,调整可按拼间简码及简称查找 |
|
|
|
filterMethod(keyWords) { |
|
|
|
if (keyWords) { |
|
|
|
@ -651,7 +733,7 @@ export default { |
|
|
|
this.sumDoctorCheck.suggestionList = suggestionList |
|
|
|
setTimeout(() => { |
|
|
|
this.sumDoctorCheck.suggestionList = res.data; |
|
|
|
}, 10); |
|
|
|
}, 10); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
@ -704,7 +786,7 @@ export default { |
|
|
|
// if (lfind == -1) return |
|
|
|
// this.suggestionCurRow = lfind |
|
|
|
|
|
|
|
let sumSuggestionHeaderId = this.sumDoctorCheck.suggestionList[this.suggestionCurRow].id |
|
|
|
let sumSuggestionHeaderId = this.sumDoctorCheck.suggestionList[this.suggestionCurRow].id |
|
|
|
|
|
|
|
v.forEach(e => { |
|
|
|
let ld = arrayExistObj(this.diagnosises, 'id', e) |
|
|
|
@ -716,7 +798,7 @@ export default { |
|
|
|
if (!this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations']) { |
|
|
|
this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'] = [] |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
medicalInterpretations.forEach(e2 => { |
|
|
|
let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'], "suggestionContent", e2.suggestionContent) |
|
|
|
if (lf == -1) { |
|
|
|
@ -728,10 +810,10 @@ export default { |
|
|
|
} |
|
|
|
}); |
|
|
|
// 将空的医学解释删除 |
|
|
|
if(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].length > 0){ |
|
|
|
if (this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].length > 0) { |
|
|
|
for (let index = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].length; index > 0; index--) { |
|
|
|
let element = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'][index - 1]; |
|
|
|
if(!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].splice(index - 1,1) |
|
|
|
if (!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].splice(index - 1, 1) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -753,10 +835,10 @@ export default { |
|
|
|
} |
|
|
|
}); |
|
|
|
// 将空的常见原因删除 |
|
|
|
if(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].length > 0){ |
|
|
|
if (this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].length > 0) { |
|
|
|
for (let index = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].length; index > 0; index--) { |
|
|
|
let element = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'][index - 1]; |
|
|
|
if(!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].splice(index - 1,1) |
|
|
|
if (!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].splice(index - 1, 1) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -766,7 +848,7 @@ export default { |
|
|
|
if (healthGuidances) { |
|
|
|
if (!this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances']) { |
|
|
|
this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'] = [] |
|
|
|
} |
|
|
|
} |
|
|
|
healthGuidances.forEach(e2 => { |
|
|
|
let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'], "suggestionContent", e2.suggestionContent) |
|
|
|
if (lf == -1) { |
|
|
|
@ -778,10 +860,10 @@ export default { |
|
|
|
} |
|
|
|
}); |
|
|
|
// 将空的健康指导删除 |
|
|
|
if(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].length > 0){ |
|
|
|
if (this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].length > 0) { |
|
|
|
for (let index = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].length; index > 0; index--) { |
|
|
|
let element = this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'][index - 1]; |
|
|
|
if(!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].splice(index - 1,1) |
|
|
|
if (!element?.suggestionContent) this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].splice(index - 1, 1) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|