253 lines
6.4 KiB
Vue
253 lines
6.4 KiB
Vue
<template>
|
|
<div class="trialDocument">
|
|
<div class="left">
|
|
<div class="top" v-if="isManage">
|
|
<div class="viewCheck">
|
|
<span>{{ $t('trials:trialDocument:view') }}</span>
|
|
<el-switch
|
|
v-model="viewStatus"
|
|
active-color="#13ce66"
|
|
inactive-color="#409eff"
|
|
:active-value="false"
|
|
:inactive-value="true"
|
|
:active-text="$t('trials:trialDocument:viewStatus:manage')"
|
|
:inactive-text="$t('trials:trialDocument:viewStatus:inspect')"
|
|
@change="handleChange"
|
|
>
|
|
</el-switch>
|
|
</div>
|
|
</div>
|
|
<div
|
|
:class="{
|
|
menuBox: true,
|
|
noTop: !isManage,
|
|
}"
|
|
>
|
|
<Menu
|
|
ref="Menu"
|
|
:viewStatus="viewStatus"
|
|
:menuId.sync="Id"
|
|
:SubIdentificationEnum.sync="SubIdentificationEnum"
|
|
:ArchiveTypeEnum.sync="ArchiveTypeEnum"
|
|
:rowData.sync="rowData"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div class="main">
|
|
<report-doc
|
|
v-if="[0, 1].includes(SubIdentificationEnum)"
|
|
:viewStatus="viewStatus"
|
|
:Id="Id"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
@getMenu="getMenu"
|
|
/>
|
|
<file-record
|
|
v-if="[2].includes(SubIdentificationEnum)"
|
|
:viewStatus="viewStatus"
|
|
:Id="Id"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
@getMenu="getMenu"
|
|
/>
|
|
<!--v-if="[4].includes(SubIdentificationEnum)"-->
|
|
<train-record
|
|
v-if="[4].includes(SubIdentificationEnum)"
|
|
:viewStatus="viewStatus"
|
|
:Id="Id"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
@getMenu="getMenu"
|
|
/>
|
|
<temp
|
|
v-if="[6].includes(SubIdentificationEnum)"
|
|
:viewStatus="viewStatus"
|
|
:Id="Id"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
@getMenu="getMenu"
|
|
/>
|
|
<!--阅片人简历-->
|
|
<curriculum-vitae
|
|
v-if="[7].includes(SubIdentificationEnum)"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
/>
|
|
<!--阅片人资质材料-->
|
|
<certificate
|
|
v-if="[8].includes(SubIdentificationEnum)"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
:Id="Id"
|
|
:viewStatus="viewStatus"
|
|
/>
|
|
<!--医学审核-->
|
|
<medical-feedback
|
|
v-if="[9].includes(SubIdentificationEnum)"
|
|
:isDoc="true"
|
|
:TITLE="TITLE"
|
|
:viewStatus="viewStatus"
|
|
/>
|
|
<!--阅片记录-->
|
|
<reading-tracking
|
|
v-if="[11].includes(SubIdentificationEnum)"
|
|
:isDoc="true"
|
|
:TITLE="TITLE"
|
|
:viewStatus="viewStatus"
|
|
/>
|
|
<!--申报方同意入项记录-->
|
|
<entry-record
|
|
v-if="[12].includes(SubIdentificationEnum)"
|
|
:ArchiveTypeEnum="ArchiveTypeEnum"
|
|
:rowData="rowData"
|
|
:Id="Id"
|
|
:viewStatus="viewStatus"
|
|
/>
|
|
<!--培训记录/共享资料-->
|
|
<Attachments-management
|
|
v-if="[13].includes(SubIdentificationEnum)"
|
|
:isDoc="true"
|
|
:TITLE="TITLE"
|
|
:viewStatus="viewStatus"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import BaseContainer from '@/components/BaseContainer'
|
|
import Menu from './components/menu.vue'
|
|
import reportDoc from './components/report_doc/index.vue'
|
|
import fileRecord from './components/fileRecord/index.vue'
|
|
import trainRecord from './components/trainRecord/index.vue'
|
|
import temp from './components/template/index.vue'
|
|
|
|
// 阅片人相关
|
|
import curriculumVitae from './components/viewer/curriculumVitae/index.vue'
|
|
import certificate from './components/viewer/certificate/index.vue'
|
|
import entryRecord from './components/viewer/entryRecord/index.vue'
|
|
import readingTracking from '@/views/trials/trials-panel/reading/reading-tracking/index.vue'
|
|
import medicalFeedback from '@/views/trials/trials-panel/reading/pm-medical-feedback/index.vue'
|
|
import AttachmentsManagement from '@/views/trials/trials-panel/attachments/attachment-management/index.vue'
|
|
export default {
|
|
name: 'trialDocument',
|
|
components: {
|
|
BaseContainer,
|
|
Menu,
|
|
reportDoc,
|
|
fileRecord,
|
|
trainRecord,
|
|
temp,
|
|
|
|
entryRecord,
|
|
certificate,
|
|
curriculumVitae,
|
|
readingTracking,
|
|
AttachmentsManagement,
|
|
medicalFeedback,
|
|
},
|
|
data() {
|
|
return {
|
|
viewStatus: true,
|
|
Id: null,
|
|
SubIdentificationEnum: null,
|
|
ArchiveTypeEnum: null,
|
|
rowData: {},
|
|
}
|
|
},
|
|
computed: {
|
|
isInspect() {
|
|
return this.hasPermi([
|
|
'trials:trials-panel:trial-summary:trial-document:inspect',
|
|
])
|
|
},
|
|
isManage() {
|
|
return this.hasPermi([
|
|
'trials:trials-panel:trial-summary:trial-document:manage',
|
|
])
|
|
},
|
|
TITLE() {
|
|
return `${this.$fd('ArchiveType', this.ArchiveTypeEnum)} — ${
|
|
this.isEN ? this.rowData.Name : this.rowData.NameCN
|
|
}`
|
|
},
|
|
},
|
|
methods: {
|
|
handleChange() {
|
|
// this.Id = null
|
|
this.SubIdentificationEnum = null
|
|
this.ArchiveTypeEnum = null
|
|
this.rowData = {}
|
|
},
|
|
getMenu() {
|
|
this.$refs.Menu.getMenu()
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.trialDocument {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
.left {
|
|
width: 300px;
|
|
height: 100%;
|
|
box-sizing: border-box;
|
|
border-right: 1px solid #e4e7ed;
|
|
.top {
|
|
width: 100%;
|
|
max-height: 75px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
padding: 0 15px;
|
|
margin-bottom: 5px;
|
|
.viewCheck {
|
|
width: 100%;
|
|
line-height: 30px;
|
|
margin-bottom: 10px;
|
|
}
|
|
}
|
|
.menuBox {
|
|
width: 100%;
|
|
height: calc(100% - 80px);
|
|
overflow-y: auto;
|
|
&::-webkit-scrollbar {
|
|
//display: none; /* Chrome Safari */
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #e4e4e4;
|
|
border-radius: 6px;
|
|
}
|
|
&::-webkit-scrollbar-thumb {
|
|
background-color: #a1a3a9;
|
|
border-radius: 6px;
|
|
}
|
|
}
|
|
.noTop {
|
|
height: 100%;
|
|
}
|
|
}
|
|
.main {
|
|
width: calc(100% - 300px);
|
|
height: 100%;
|
|
padding: 10px;
|
|
}
|
|
}
|
|
::v-deep .topForm {
|
|
.el-form-item {
|
|
margin-right: 30px;
|
|
margin-bottom: 12px;
|
|
}
|
|
}
|
|
::v-deep .line {
|
|
width: 100%;
|
|
height: 1px;
|
|
margin: 0 0 12px 0;
|
|
border-top: 1px solid #ebeef5;
|
|
}
|
|
::v-deep .box-body .search .base-search-form .el-form-item {
|
|
margin-bottom: 15px;
|
|
}
|
|
</style> |