irc_web/.svn/pristine/92/92ad13f4ae942f50526e785eabd...

205 lines
5.9 KiB
Plaintext

<template>
<el-table
ref="taskTbl"
:data="taskList"
:row-class-name="rowClass"
class="historicAssess_wrapper"
>
<el-table-column
prop="VisitTaskNum"
label="访视/阅片期名称"
width="200"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.TaskName }}
</template>
</el-table-column>
<!-- <el-table-column
prop="EvaluationResult"
label="整体评估结果"
width="180"
/> -->
<!-- <template v-for="i in judgeQuestionL">
<el-table-column :key="i" :prop="JudgeInfoList[i].Answer" :label="JudgeInfoList[i].QuestionName" />
</template> -->
<template v-if="judgeQuestion && judgeQuestion.length > 0">
<el-table-column
v-for="(qs,index) in judgeQuestion"
:key="qs"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
<span v-if="scope.row.JudgeQuestionAnswerInfoList[index] && scope.row.JudgeQuestionAnswerInfoList[index].QuestionGenre === 3 && scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode">
{{ scope.row.JudgeQuestionAnswerInfoList[index].Answer?$fd(scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode,parseInt(scope.row.JudgeQuestionAnswerInfoList[index].Answer)):'' }}
</span>
<span v-else>
{{ scope.row.JudgeQuestionAnswerInfoList.length>index?scope.row.JudgeQuestionAnswerInfoList[index].Answer:'' }}
</span>
</template>
</el-table-column>
</template>
<template v-else>
<el-table-column
prop="OncologyEvaluationResult"
label="结论"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
{{ getAssessType(scope.row.OncologyEvaluationResult) }}
</template>
</el-table-column>
<el-table-column
prop="OncologyEvaluationReason"
label="原因"
show-overflow-tooltip
width="150"
/>
</template>
<el-table-column
v-if="armEnum===3"
prop="ArmEnum"
label="阅片人"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
{{ $fd('ArmEnum', scope.row.ArmEnum) }}
</template>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
width="200"
>
<template slot-scope="scope">
<el-button
type="text"
@click="handleView(scope.row,scope.row.TaskId)"
>
{{ $fd('ArmEnum', scope.row.ArmEnum) }}
</el-button>
<el-button
v-if="scope.row.OtherTaskId"
type="text"
@click="handleView(scope.row,scope.row.OtherTaskId)"
>
{{ $fd('ArmEnum', scope.row.OtherArmEnum) }}
</el-button>
<!-- <el-button
circle
title="查看详情"
icon="el-icon-view"
@click="handleView(scope.row,1)"
/>
<el-button
v-if="readingType === 2 && scope.row.ArmEnum !== 3"
circle
title="查看关联阅片人评估"
icon="el-icon-view"
:disabled="!scope.row.OtherTaskId"
@click="handleView(scope.row,2)"
/> -->
</template>
</el-table-column>
</el-table>
</template>
<script>
import { getToken } from '@/utils/auth'
export default {
name: 'HistoricAssessment',
props: {
taskList: {
type: Array,
default() {
return []
}
},
judgeQuestion: {
type: Array,
default() {
return []
}
},
oncologyAssessTypeList: {
type: Array,
default() {
return []
}
},
armEnum: {
type: Number,
required: true
},
readingType: {
type: Number,
required: true
},
rowData: {
type: Object,
default() {
return {}
}
}
},
data() {
return {
}
},
methods: {
handleView(row, visitTaskId) {
var trialId = this.$route.query.trialId
// var visitTaskId = type === 1 ? row.TaskId : row.OtherTaskId
var token = getToken()
var criterionType = this.rowData.CriterionType
var readingTool = this.rowData.ReadingTool
readingTool = isNaN(parseInt(readingTool)) ? null : parseInt(readingTool)
var isReadingTaskViewInOrder = this.rowData.IsReadingTaskViewInOrder
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = ''
if (readingTool === 0) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
}
const routeData = this.$router.resolve({ path })
window.open(routeData.href, '_blank')
},
getAssessType(val) {
var idx = this.oncologyAssessTypeList.findIndex(i => i.Code === val)
if (idx > -1) {
return this.oncologyAssessTypeList[idx].Value
} else {
return ''
}
},
rowClass({ row, rowIndex }) {
if (row.IsCurrentTask) {
return 'highlight_row'
}
}
}
}
</script>
<style lang="scss">
.historicAssess_wrapper{
.highlight_row{
color: #000;
background-color: #ffde7b;
}
.highlight_row:hover>td {
background-color: #ffde7b !important;
}
}
</style>