irc_web/.svn/pristine/cf/cf4ca5ab05f3b8ceaca9a55ec5a...

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>