阅片跟踪添加导出功能

main
caiyiling 2024-11-25 13:27:21 +08:00
parent 76bc1bac16
commit 5c1248ff93
2 changed files with 138 additions and 44 deletions

View File

@ -1,23 +1,27 @@
<template>
<div style="text-align: right">
<!--导出-->
<el-button type="primary" icon="el-icon-download" size="mini" :disabled="trialCriterionList.length === 0" @click="handleExport(0)" style="margin-bottom: 10px">
<el-button
type="primary"
:disabled="!(trialCriterionList.length > 0)"
icon="el-icon-download"
size="mini"
@click="handleExport(0)"
style="margin-bottom: 10px"
>
{{ $t('common:button:export') }}
</el-button>
<el-tabs type="border-card" v-model="TrialReadingCriterionId">
<el-tab-pane :label="i.TrialReadingCriterionName" :name="i.TrialReadingCriterionId" v-for="i of trialCriterionList" :key="i.TrialReadingCriterionId">
<el-table
v-loading="loading"
:data="list"
border
stripe
>
<el-table-column
label=""
:min-width="50"
>
<el-tab-pane
:label="i.TrialReadingCriterionName"
:name="i.TrialReadingCriterionId"
v-for="i of trialCriterionList"
:key="i.TrialReadingCriterionId"
>
<el-table v-loading="loading" :data="list" border stripe>
<el-table-column label="" :min-width="50">
<template slot-scope="scope">
{{scope.$index + 1}}
{{ scope.$index + 1 }}
</template>
</el-table-column>
<!-- 文件名称 -->
@ -52,74 +56,145 @@
</template>
<script>
import { getReadingTaskList_Export, getTrialReadingCriterionCanExportDocumentList, getOverallTumorEvaluationList_Export, getEvaluationOfTumorEfficacy_Export, getDetailedOfEvaluatedLesion_Export } from '@/api/export'
import {
getCommonEvaluationList_Export,
getCommonJudgeRatioList_Export,
getReadingTaskList_Export,
getTrialReadingCriterionCanExportDocumentList,
getOverallTumorEvaluationList_Export,
getEvaluationOfTumorEfficacy_Export,
getDetailedOfEvaluatedLesion_Export,
} from '@/api/export'
import { getTrialCriterionList } from '@/api/trials/reading'
export default {
name: "exportList",
name: 'exportList',
data() {
return {
loading: false,
trialCriterionList: [],
TrialReadingCriterionId: null,
trialId: null,
list: []
list: [],
}
},
props: {
data: {
type: Object,
default() { return {} }
default() {
return {}
},
}
},
watch: {
TrialReadingCriterionId(v) {
if (v === '0') return
this.loading = true
getTrialReadingCriterionCanExportDocumentList({TrialReadingCriterionId: v}).then(res => {
this.list = res.Result
this.loading = false
}).catch(() => { this.loading = true })
}
getTrialReadingCriterionCanExportDocumentList({
TrialReadingCriterionId: v,
})
.then((res) => {
this.list = res.Result
this.loading = false
})
.catch(() => {
this.loading = true
})
},
},
mounted() {
this.trialId =this.$route.query.trialId
this.trialId = this.$route.query.trialId
this.getTrialCriterionList()
},
methods: {
handleExport(type) {
if (this.trialCriterionList === 0) return
var searchData = {...this.data}
var searchData = { ...this.data }
searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
switch (type) {
case 0:
getReadingTaskList_Export(searchData).then(res => {
}).catch(() => { this.loading = false })
break;
getReadingTaskList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 1:
getOverallTumorEvaluationList_Export(searchData).then(res => {
}).catch(() => { this.loading = false })
break;
searchData.ReadingExportType = 1
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 2:
getEvaluationOfTumorEfficacy_Export(searchData).then(res => {
}).catch(() => { this.loading = false })
searchData.ReadingExportType = 2
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 3:
getDetailedOfEvaluatedLesion_Export(searchData).then(res => {
}).catch(() => { this.loading = false })
break;
searchData.ReadingExportType = 3
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 4:
searchData.ReadingExportType = 4
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 7:
searchData.ReadingExportType = 7
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 8:
getCommonJudgeRatioList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 17:
searchData.ReadingExportType = 17
getCommonJudgeRatioList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
case 18:
searchData.ReadingExportType = 18
getCommonJudgeRatioList_Export(searchData)
.then((res) => {})
.catch(() => {
this.loading = false
})
break
}
},
getTrialCriterionList() {
getTrialCriterionList(this.trialId).then(res => {
this.trialCriterionList = res.Result
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
}).catch(() => {})
}
}
getTrialCriterionList(this.trialId)
.then((res) => {
this.trialCriterionList = res.Result
this.TrialReadingCriterionId =
this.trialCriterionList[0].TrialReadingCriterionId
})
.catch(() => {})
},
},
}
</script>
<style scoped>
</style>

View File

@ -114,6 +114,10 @@
>
{{ $t('common:button:reset') }}
</el-button>
<!--导出-->
<el-button type="primary" icon="el-icon-download" @click="handleExport">
{{ $t('common:button:export') }}
</el-button>
</el-form-item>
</el-form>
</template>
@ -307,12 +311,22 @@
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
<el-dialog
v-if="exportVisible"
:title="$t('trials:reviewTrack:button:export')"
:visible.sync="exportVisible"
:close-on-click-modal="false"
append-to-body>
<exportList :data="searchData" />
</el-dialog>
</template>
</BaseContainer>
</template>
<script>
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
import exportList from './components/exportList.vue'
import { getPatientVisitTaskList } from '@/api/readManagenent.js'
import { getToken } from '@/utils/auth'
// import { getSystemConfirmedCreiterionList } from "@/api/trials";
@ -348,7 +362,7 @@ const defaultSearchData = () => {
}
export default {
name: 'readManagenent',
components: { BaseContainer, Pagination },
components: { BaseContainer, Pagination, exportList },
data() {
return {
//
@ -366,6 +380,7 @@ export default {
//
downloading: false,
downloadId: null,
exportVisible: false
}
},
created() {
@ -377,6 +392,10 @@ export default {
handleCommand(command, item) {
this[command](item)
},
//
handleExport() {
this.exportVisible = true
},
//
async showReport(item) {
if (this.reportFlag[item.Id]) return