262 lines
8.1 KiB
Plaintext
262 lines
8.1 KiB
Plaintext
<template>
|
|
<div v-loading="loading" class="clinical-data-wrapper">
|
|
<el-tabs type="border-card">
|
|
<!-- 既往局部治疗史 -->
|
|
<el-tab-pane
|
|
v-for="cd in clinicalDatas"
|
|
:key="cd.ClinicalDataTrialSetId"
|
|
:label="cd.ClinicalDataSetName"
|
|
>
|
|
<div v-if="cd.ClinicalUploadType*1 === 0">
|
|
<!-- 既往放疗史 -->
|
|
<h4>{{ $t('trials:uploadClinicalData:title:pastTreatment') }}</h4>
|
|
<el-table
|
|
:data="cd.ClinicalTableData.PreviousHistoryList"
|
|
style="width: 100%"
|
|
>
|
|
<el-table-column
|
|
type="index"
|
|
width="50"
|
|
/>
|
|
<!-- 放疗部位 -->
|
|
<el-table-column
|
|
prop="Position"
|
|
:label="$t('trials:uploadClinicalData:table:bodyPart')"
|
|
width="180"
|
|
/>
|
|
<!-- 开始日期 -->
|
|
<el-table-column
|
|
prop="StartTime"
|
|
:label="$t('trials:uploadClinicalData:table:beginDate')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ scope.row.StartTime?moment(scope.row.StartTime).format('YYYY-MM-DD'):'' }}
|
|
</template>
|
|
</el-table-column>
|
|
<!-- 结束日期 -->
|
|
<el-table-column
|
|
prop="EndTime"
|
|
:label="$t('trials:uploadClinicalData:table:endDate')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ scope.row.EndTime?moment(scope.row.EndTime).format('YYYY-MM-DD'):'' }}
|
|
</template>
|
|
</el-table-column>
|
|
<!-- 病灶是否PD -->
|
|
<el-table-column
|
|
prop="IsPD"
|
|
:label="$t('trials:uploadClinicalData:table:isPD')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ $fd('IsPdEnum', scope.row.IsPD) }}
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!-- 既往手术史 -->
|
|
<h4>{{ $t('trials:uploadClinicalData:title:pastSurgery') }}</h4>
|
|
<el-table
|
|
:data="cd.ClinicalTableData.PreviousSurgeryList"
|
|
style="width: 100%"
|
|
>
|
|
<el-table-column
|
|
type="index"
|
|
width="50"
|
|
/>
|
|
<!-- 手术名称 -->
|
|
<el-table-column
|
|
prop="OperationName"
|
|
:label="$t('trials:uploadClinicalData:table:surgeryName')"
|
|
width="180"
|
|
/>
|
|
<!-- 手术日期 -->
|
|
<el-table-column
|
|
prop="OperationTime"
|
|
:label="$t('trials:uploadClinicalData:table:surgeryDate')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ scope.row.OperationTime?moment(scope.row.OperationTime).format('YYYY-MM-DD'):'' }}
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!-- 既往其他治疗史 -->
|
|
<h4>{{ $t('trials:uploadClinicalData:title:others') }}</h4>
|
|
<el-table
|
|
:data="cd.ClinicalTableData.PreviousOtherList"
|
|
style="width: 100%"
|
|
>
|
|
<el-table-column
|
|
type="index"
|
|
width="50"
|
|
/>
|
|
<!-- 治疗类型 -->
|
|
<el-table-column
|
|
prop="TreatmentType"
|
|
:label="$t('trials:uploadClinicalData:table:treatmentType')"
|
|
width="180"
|
|
/>
|
|
<!-- 开始日期 -->
|
|
<el-table-column
|
|
prop="StartTime"
|
|
:label="$t('trials:uploadClinicalData:table:treatmentbeginDate')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ scope.row.StartTime?moment(scope.row.StartTime).format('YYYY-MM-DD'):'' }}
|
|
</template>
|
|
</el-table-column>
|
|
<!-- 结束日期 -->
|
|
<el-table-column
|
|
prop="EndTime"
|
|
:label="$t('trials:uploadClinicalData:table:treatmentendDate')"
|
|
width="180"
|
|
>
|
|
<template slot-scope="scope">
|
|
{{ scope.row.EndTime?moment(scope.row.EndTime).format('YYYY-MM-DD'):'' }}
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
<div v-if="cd.ClinicalUploadType*1 === 1">
|
|
<el-table
|
|
:data="cd.PDFFileList"
|
|
style="width: 100%"
|
|
>
|
|
<el-table-column
|
|
type="index"
|
|
width="50"
|
|
/>
|
|
<!-- 文件名称 -->
|
|
<el-table-column
|
|
prop="FileName"
|
|
:label="$t('trials:uploadClinicalData:table:fileName')"
|
|
width="250"
|
|
/>
|
|
<!-- 上传时间 -->
|
|
<el-table-column
|
|
prop="CreateTime"
|
|
:label="$t('trials:uploadClinicalData:table:uploadedTime')"
|
|
width="200"
|
|
/>
|
|
<el-table-column
|
|
:label="$t('common:action:action')"
|
|
width="200"
|
|
>
|
|
<template slot-scope="scope">
|
|
<!-- 预览 -->
|
|
<el-button
|
|
type="text"
|
|
size="small"
|
|
@click.native.prevent="preview(scope.row.Path)"
|
|
>
|
|
{{ $t('trials:uploadClinicalData:action:preview') }}
|
|
</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
<div v-if="cd.ClinicalUploadType*1 === 2">
|
|
<clinicalDataQuestions
|
|
:data="cd"
|
|
:trial-clinical-id="cd.ClinicalDataTrialSetId"
|
|
:is-viewer="false"
|
|
:visit-id="cd.VisitId"
|
|
:subject-id="cd.SubjectId"
|
|
:trial-id="cd.TrialId"
|
|
:reading-id="cd.ReadingId"
|
|
:clinical-form-id="cd.ClinicalFromList[0].ClinicalFormId"
|
|
:open-type="'look'"
|
|
@close=""
|
|
/>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { getCRCClinicalData } from '@/api/trials'
|
|
import clinicalDataQuestions from '@/components/clinicalDataQuestions'
|
|
import moment from 'moment'
|
|
|
|
export default {
|
|
name: 'ClinicalData',
|
|
components: { clinicalDataQuestions },
|
|
props: {
|
|
subjectVisitId: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
enumType: {
|
|
type: Number,
|
|
default: 0
|
|
},
|
|
subjectId: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
data: {
|
|
type: Object,
|
|
default() {
|
|
return {}
|
|
}
|
|
},
|
|
subjectClinicalData: {
|
|
type: Object,
|
|
default() {
|
|
return {}
|
|
}
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
loading: false,
|
|
// PreviousHistoryList: this.subjectClinicalData.PreviousHistoryList,
|
|
// PreviousSurgeryList: this.subjectClinicalData.PreviousSurgeryList,
|
|
// PreviousOtherList: this.subjectClinicalData.PreviousOtherList,
|
|
// PreviousPDFList: this.subjectClinicalData.PreviousPDFList,
|
|
moment,
|
|
clinicalDatas: []
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getList()
|
|
},
|
|
methods: {
|
|
getList() {
|
|
this.loading = true
|
|
var param = {
|
|
subjectVisitId: this.subjectVisitId,
|
|
trialId: this.$route.query.trialId,
|
|
subjectId: this.subjectId,
|
|
isBaseLine: this.data.IsBaseLine
|
|
}
|
|
getCRCClinicalData(param).then(res => {
|
|
this.clinicalDatas = res.Result
|
|
this.loading = false
|
|
}).catch(() => { this.loading = false })
|
|
},
|
|
// getList() {
|
|
// this.loading = true
|
|
// getSubjectClinicalData(this.subjectVisitId).then(res => {
|
|
// this.PreviousHistoryList = res.Result.PreviousHistoryList
|
|
// this.PreviousSurgeryList = res.Result.PreviousSurgeryList
|
|
// this.PreviousOtherList = res.Result.PreviousOtherList
|
|
// this.PreviousPDFList = res.Result.PreviousPDFList
|
|
// this.loading = false
|
|
// }).catch(() => { this.loading = false })
|
|
// },
|
|
|
|
// 文件预览
|
|
preview(path) {
|
|
if (!path) return
|
|
window.open(this.OSSclientConfig.basePath + path, '_blank')
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|