新增疗效评估报告
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-03-25 14:40:48 +08:00
parent 3bfab54ef1
commit 886d148b31
5 changed files with 61 additions and 21 deletions

View File

@ -178,7 +178,14 @@ export function showReadReport(data) {
data
})
}
// 预览肿瘤报告
export function showTumorReport(data) {
return request({
url: `/ReadingImageTask/getTumorEvaluationUrl`,
method: 'post',
data
})
}
export function getCommonEvaluationList_Export(data) {
return requestDownload({
url: `/ExcelExport/getCommonEvaluationList_Export`,

View File

@ -30,8 +30,9 @@
<!-- 刷新 -->
{{ $t('trials:readingReport:button:refresh') }}
</el-button>
<el-button :loading="reportBtnLoading" v-if="readingTaskState>=2" type="primary" size="small" @click="showReport">{{$t('trials:dicoms:button:evaluationReport')}}</el-button>
<el-button
<el-button :loading="reportBtnLoading" v-if="readingTaskState>=2" type="primary" size="small" @click="showReport('evaluate')">{{$t('trials:dicoms:button:evaluationReport')}}</el-button>
<el-button :loading="reportBtnLoading" v-if="readingTaskState>=2" type="primary" size="small" @click="showReport('tumor')">{{$t('trials:dicoms:button:tumorReport')}}</el-button>
<el-button
v-if="readingTaskState<2 && CriterionType !== 10"
type="primary"
size="small"
@ -286,7 +287,7 @@ import store from '@/store'
import { mapGetters } from 'vuex'
import { changeURLStatic } from '@/utils/history.js'
import AdditionalAssessment from './AdditionalAssessment'
import { showReadReport } from "@/api/export";
import { showReadReport,showTumorReport } from "@/api/export";
import PreviewFileDialog from "@/components/PreviewFileDialog/PreviewFileDialog";
export default {
name: 'ReportPage',
@ -371,14 +372,19 @@ export default {
},
methods: {
//
async showReport(){
async showReport(key){
if(this.reportBtnLoading) return;
let data = {
VisitTaskId: this.visitTaskId,
};
try {
this.reportBtnLoading = true;
let res = await showReadReport(data);
let res = null;
if(key === 'evaluate'){
res = await showReadReport(data);
}else{
res = await showTumorReport(data);
}
// let urlPdf = window.URL.createObjectURL(new Blob([res]))
if(res.IsSuccess){
this.viewVisible = true;

View File

@ -334,13 +334,22 @@
icon="el-icon-collection"
@click="openApplyReReading(scope.row)"
/>
<!--评估报告-->
<!--肿瘤负荷报告-->
<el-button
circle
v-hasPermi="['trials:readTask:report']"
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:EvaluationReport')"
@click="handleCommand('showReport', scope.row)"
@click="handleCommand('showReport', scope.row, 'evaluate')"
:disabled="scope.row.ReadingTaskState !== 2"
/>
<!--疗效评估报告-->
<el-button
circle
v-hasPermi="['trials:readTask:report']"
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:TumorReport')"
@click="handleCommand('showReport', scope.row, 'tumor')"
:disabled="scope.row.ReadingTaskState !== 2"
/>
<!--下载影像-->
@ -660,7 +669,7 @@ import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
import ChatForm from './components/ChatForm'
import { getToken } from '@/utils/auth'
import { showReadReport } from '@/api/export'
import { showReadReport, showTumorReport } from '@/api/export'
import { downLoadFile } from '@/utils/stream.js'
import {
getDownloadSubjectVisitStudyInfo,
@ -754,11 +763,11 @@ export default {
},
methods: {
//
handleCommand(command, item) {
this[command](item)
handleCommand(command, item, key) {
this[command](item, key)
},
//
async showReport(item) {
async showReport(item, key) {
if (this.reportFlag[item.Id]) return
let data = {
VisitTaskId: item.Id,
@ -770,7 +779,12 @@ export default {
if (!this.reportFlag[item.Id]) {
this.reportFlag[item.Id] = true
}
let res = await showReadReport(data)
let res = null;
if(key === 'evaluate'){
res = await showReadReport(data);
}else{
res = await showTumorReport(data);
}
if (res.IsSuccess) {
let a = document.createElement('a')
let href = this.OSSclientConfig.basePath + res.Result

View File

@ -281,12 +281,20 @@
@click="readResult(scope.row)"
:disabled="scope.row.ReadingTaskState !== 2"
/>
<!--评估报告-->
<!--肿瘤负荷报告-->
<el-button
circle
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:EvaluationReport')"
@click="handleCommand('showReport', scope.row)"
@click="handleCommand('showReport', scope.row, 'evaluate')"
:disabled="scope.row.ReadingTaskState !== 2"
/>
<!--疗效评估报告-->
<el-button
circle
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:TumorReport')"
@click="handleCommand('showReport', scope.row, 'tumor')"
:disabled="scope.row.ReadingTaskState !== 2"
/>
<!--下载影像-->
@ -331,7 +339,7 @@ import { getPatientVisitTaskList } from '@/api/readManagenent.js'
import { getToken } from '@/utils/auth'
// import { getSystemConfirmedCreiterionList } from "@/api/trials";
import { getTrialCriterionList } from '@/api/trials/reading'
import { showReadReport } from '@/api/export'
import { showReadReport, showTumorReport } from '@/api/export'
import { downLoadFile } from '@/utils/stream.js'
import {
getDownloadSubjectVisitStudyInfo,
@ -389,15 +397,15 @@ export default {
},
methods: {
//
handleCommand(command, item) {
this[command](item)
handleCommand(command, item, key) {
this[command](item, key)
},
//
handleExport() {
this.exportVisible = true
},
//
async showReport(item) {
async showReport(item, key) {
if (this.reportFlag[item.Id]) return
let data = {
VisitTaskId: item.Id,
@ -409,7 +417,12 @@ export default {
if (!this.reportFlag[item.Id]) {
this.reportFlag[item.Id] = true
}
let res = await showReadReport(data)
let res = null;
if(key === 'evaluate'){
res = await showReadReport(data);
}else{
res = await showTumorReport(data);
}
if (res.IsSuccess) {
let a = document.createElement('a')
let href = this.OSSclientConfig.basePath + res.Result

View File

@ -179,7 +179,7 @@ export default {
//
putActivate() {
this.activateVisible = true
console.log(this.activateVisible)
// console.log(this.activateVisible)
},
initForm() {
this.formLoading = true