Browse Source

btnAIdiagnosis

master
pengjun 4 months ago
parent
commit
83d9066ca3
  1. 5
      src/components/sumDoctorCheck/ButtonList.vue
  2. 108
      src/components/sumDoctorCheck/SumSug.vue

5
src/components/sumDoctorCheck/ButtonList.vue

@ -60,7 +60,7 @@
:disabled="sumBtnDisabled('btnOcc')">职业病</el-button>
</div>
<!-- AI诊断-->
<!-- AI诊断所有小结信息-->
<div v-show="AI.visible"
:style="`z-index:3;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:50px;left:0px;width:${AI.width}px;height: ${AI.height}px;opacity:1;`">
<div v-show="AI.max" style="display: flex;justify-content: space-between;">
@ -433,6 +433,9 @@ export default {
message += (i + 1) + ')、' + e1.summaryContent
});
});
message = '性别:' + this.doctorCheck.prBase.sexName + ',年龄:' + this.doctorCheck.prBase.age + '岁,检查结果:' + message
postapi('/api/app/AIMessage/GetAIMessageResult', { message })
.then(res => {
if (res.code > -1) {

108
src/components/sumDoctorCheck/SumSug.vue

@ -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)
}
}
}

Loading…
Cancel
Save