166 lines
4.0 KiB
Plaintext
166 lines
4.0 KiB
Plaintext
<template>
|
|
<div>
|
|
<QuestionsForm
|
|
v-if="clinicalUploadType === 2"
|
|
:data="data"
|
|
:trial-clinical-id="trialClinicalId"
|
|
:is-viewer="isViewer"
|
|
:visit-id="visitId"
|
|
:subject-id="subjectId"
|
|
:open-type="openType"
|
|
:system-clinical-id="systemClinicalId"
|
|
:trial-id="trialId"
|
|
:reading-id="readingId"
|
|
:clinical-form-id="clinicalFormId"
|
|
@close="close"
|
|
></QuestionsForm>
|
|
<uploadClinicalData v-else :subject-visit-id="subjectVisitId" :data="data" :enum-type="0" :allow-add-or-edit="true" @getList="() => {}">
|
|
</uploadClinicalData>
|
|
<div class="base-dialog-footer" v-if="!isViewer && openType !== 'look' && [0, 1].includes(clinicalDataLevel)" style="text-align:right;margin-top:10px;">
|
|
<!-- 保存 -->
|
|
<el-button size="small" type="primary" @click="submitClinicalForm">
|
|
{{ $t('common:button:submit') }}
|
|
</el-button>
|
|
</div>
|
|
<!-- 临床数据签名框 -->
|
|
<el-dialog
|
|
v-if="signVisible"
|
|
:visible.sync="signVisible"
|
|
:close-on-click-modal="false"
|
|
width="600px"
|
|
append-to-body
|
|
custom-class="base-dialog-wrapper"
|
|
>
|
|
<div slot="title">
|
|
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
|
|
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span>
|
|
</div>
|
|
<SignForm ref="signForm" :sign-code-enum="signCode" :subject-visit-id="subjectVisitId" @closeDialog="closeSignDialog" />
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { CRCSignClinicalData } from '@/api/trials'
|
|
import SignForm from '@/views/trials/components/newSignForm'
|
|
import QuestionsForm from './components/QuestionsForm'
|
|
import uploadClinicalData from './components/uploadClinicalData'
|
|
import const_ from '@/const/sign-code'
|
|
|
|
export default {
|
|
name: "index",
|
|
components: { QuestionsForm, uploadClinicalData, SignForm },
|
|
methods: {
|
|
submitClinicalForm() {
|
|
const { ClinicalDataConfirmation } = const_.processSignature
|
|
this.signCode = ClinicalDataConfirmation
|
|
this.signVisible = true
|
|
},
|
|
close() {
|
|
this.$emit('close')
|
|
},
|
|
closeSignDialog(isSign, signInfo) {
|
|
if (isSign) {
|
|
this.submit(signInfo)
|
|
} else {
|
|
this.signVisible = false
|
|
}
|
|
},
|
|
submit(signInfo) {
|
|
this.loading = true
|
|
var params = {
|
|
data: { readingClinicalDataId: this.readingClinicalDataId }
|
|
}
|
|
if (signInfo) {
|
|
params.signInfo = signInfo
|
|
}
|
|
params.signInfo.TrialId = this.trialId
|
|
CRCSignClinicalData(params)
|
|
.then(res => {
|
|
this.loading = false
|
|
this.$message.success('签名成功')
|
|
this.$emit('close')
|
|
}).catch((res) => {
|
|
})
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
signVisible: false,
|
|
signCode: null,
|
|
currentUser: zzSessionStorage.getItem('userName'),
|
|
}
|
|
},
|
|
props: {
|
|
readingClinicalDataId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
subjectVisitId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
clinicalUploadType: {
|
|
type: Number,
|
|
default: () => {
|
|
return 2
|
|
}
|
|
},
|
|
clinicalDataLevel: {
|
|
type: Number,
|
|
default: () => {
|
|
return 2
|
|
}
|
|
},
|
|
openType: {
|
|
type: String,
|
|
default: () => 'add'
|
|
},
|
|
isViewer: {
|
|
type: Boolean,
|
|
default: () => true
|
|
},
|
|
visitId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
subjectId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
trialId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
readingId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
clinicalFormId: {
|
|
type: String,
|
|
default: () => ''
|
|
},
|
|
data: {
|
|
type: Object,
|
|
default: () => {}
|
|
},
|
|
trialClinicalId: {
|
|
type: String,
|
|
default: () => {
|
|
return ''
|
|
}
|
|
},
|
|
systemClinicalId: {
|
|
type: String,
|
|
default: () => {
|
|
return ''
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|