|
|
|
@@ -414,109 +414,113 @@
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 上传Dicom/非Dicom文件 -->
|
|
|
|
|
<el-dialog
|
|
|
|
|
v-if="uploadVisible"
|
|
|
|
|
:visible.sync="uploadVisible"
|
|
|
|
|
:fullscreen="true"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
custom-class="upload-dialog"
|
|
|
|
|
:before-close="beforeCloseUploadDig"
|
|
|
|
|
>
|
|
|
|
|
<span slot="title">
|
|
|
|
|
<el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
|
|
<label style="float: left;margin-right:10px;">Upload: </label>
|
|
|
|
|
<!-- <el-breadcrumb-item>Upload</el-breadcrumb-item> -->
|
|
|
|
|
<el-breadcrumb-item v-show="searchData.TrialCode">{{ searchData.TrialCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.TrialSiteCode">{{ rowData.TrialSiteCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.SubjectCode">{{ rowData.SubjectCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.VisitName">{{ `${rowData.VisitName} (${rowData.VisitNum})` }}</el-breadcrumb-item>
|
|
|
|
|
</el-breadcrumb>
|
|
|
|
|
</span>
|
|
|
|
|
<div class="base-modal-body" style="display: flex;flex-direction: column;">
|
|
|
|
|
<el-form
|
|
|
|
|
v-show="(rowData.IsBaseLine && (otherInfo.IsHaveFirstGiveMedicineDate || otherInfo.IsEnrollementQualificationConfirm)) || (!rowData.IsBaseLine && otherInfo.IsPDProgressView)"
|
|
|
|
|
:inline="true"
|
|
|
|
|
class="base-search-form"
|
|
|
|
|
style="height: 60px;padding:10px;"
|
|
|
|
|
>
|
|
|
|
|
<!-- 访视基准日期 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="rowData.IsBaseLine && otherInfo.IsHaveFirstGiveMedicineDate"
|
|
|
|
|
:label="$t('trials:crcUpload:form:baseDateOfVisit')"
|
|
|
|
|
<div class="upload-dialog-box" v-if="uploadVisible">
|
|
|
|
|
<el-dialog
|
|
|
|
|
v-if="uploadVisible"
|
|
|
|
|
:visible.sync="uploadVisible"
|
|
|
|
|
:fullscreen="true"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
custom-class="upload-dialog"
|
|
|
|
|
:before-close="beforeCloseUploadDig"
|
|
|
|
|
:modal="false"
|
|
|
|
|
>
|
|
|
|
|
<span slot="title">
|
|
|
|
|
<el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
|
|
<label style="float: left;margin-right:10px;">Upload: </label>
|
|
|
|
|
<!-- <el-breadcrumb-item>Upload</el-breadcrumb-item> -->
|
|
|
|
|
<el-breadcrumb-item v-show="searchData.TrialCode">{{ searchData.TrialCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.TrialSiteCode">{{ rowData.TrialSiteCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.SubjectCode">{{ rowData.SubjectCode }}</el-breadcrumb-item>
|
|
|
|
|
<el-breadcrumb-item v-show="rowData.VisitName">{{ `${rowData.VisitName} (${rowData.VisitNum})` }}</el-breadcrumb-item>
|
|
|
|
|
</el-breadcrumb>
|
|
|
|
|
</span>
|
|
|
|
|
<div class="base-modal-body" style="display: flex;flex-direction: column;">
|
|
|
|
|
<el-form
|
|
|
|
|
v-show="(rowData.IsBaseLine && (otherInfo.IsHaveFirstGiveMedicineDate || otherInfo.IsEnrollementQualificationConfirm)) || (!rowData.IsBaseLine && otherInfo.IsPDProgressView)"
|
|
|
|
|
:inline="true"
|
|
|
|
|
class="base-search-form"
|
|
|
|
|
style="height: 60px;padding:10px;"
|
|
|
|
|
>
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="rowData.SubjectFirstGiveMedicineTime"
|
|
|
|
|
type="date"
|
|
|
|
|
:picker-options="pickerOption"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
format="yyyy-MM-dd"
|
|
|
|
|
disabled
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 入组确认评估 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="rowData.IsBaseLine && otherInfo.IsEnrollementQualificationConfirm"
|
|
|
|
|
:label="$t('trials:crcUpload:form:enrollmentConfirmation')"
|
|
|
|
|
>
|
|
|
|
|
<el-radio-group v-model="rowData.IsEnrollmentConfirm" disabled>
|
|
|
|
|
<el-radio v-for="item of $d.YesOrNo" :label="item.value" :key="`IsEnrollmentConfirm${item.label}`">{{ item.label }}</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 疾病进展确认评估 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="!rowData.IsBaseLine && otherInfo.IsPDProgressView"
|
|
|
|
|
:label="$t('trials:crcUpload:form:pd')"
|
|
|
|
|
>
|
|
|
|
|
<el-radio-group v-model="rowData.PDState" disabled>
|
|
|
|
|
<el-radio v-for="item of $d.YesOrNoForInt" :label="item.value" :key="`PDState${item.label}`">{{ item.label }}</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-show="(rowData.IsBaseLine && (otherInfo.IsHaveFirstGiveMedicineDate || otherInfo.IsEnrollementQualificationConfirm)) || (!rowData.IsBaseLine && otherInfo.IsPDProgressView)">
|
|
|
|
|
<!-- 编辑 -->
|
|
|
|
|
<el-button
|
|
|
|
|
v-hasPermi="['trials:trials-panel:visit:crc-upload:edit']"
|
|
|
|
|
type="primary"
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
style="margin-left:10px;"
|
|
|
|
|
@click="relationVisible = true"
|
|
|
|
|
<!-- 访视基准日期 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="rowData.IsBaseLine && otherInfo.IsHaveFirstGiveMedicineDate"
|
|
|
|
|
:label="$t('trials:crcUpload:form:baseDateOfVisit')"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('common:button:edit') }}
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="rowData.SubjectFirstGiveMedicineTime"
|
|
|
|
|
type="date"
|
|
|
|
|
:picker-options="pickerOption"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
format="yyyy-MM-dd"
|
|
|
|
|
disabled
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 入组确认评估 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="rowData.IsBaseLine && otherInfo.IsEnrollementQualificationConfirm"
|
|
|
|
|
:label="$t('trials:crcUpload:form:enrollmentConfirmation')"
|
|
|
|
|
>
|
|
|
|
|
<el-radio-group v-model="rowData.IsEnrollmentConfirm" disabled>
|
|
|
|
|
<el-radio v-for="item of $d.YesOrNo" :label="item.value" :key="`IsEnrollmentConfirm${item.label}`">{{ item.label }}</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 疾病进展确认评估 -->
|
|
|
|
|
<el-form-item
|
|
|
|
|
v-show="!rowData.IsBaseLine && otherInfo.IsPDProgressView"
|
|
|
|
|
:label="$t('trials:crcUpload:form:pd')"
|
|
|
|
|
>
|
|
|
|
|
<el-radio-group v-model="rowData.PDState" disabled>
|
|
|
|
|
<el-radio v-for="item of $d.YesOrNoForInt" :label="item.value" :key="`PDState${item.label}`">{{ item.label }}</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-show="(rowData.IsBaseLine && (otherInfo.IsHaveFirstGiveMedicineDate || otherInfo.IsEnrollementQualificationConfirm)) || (!rowData.IsBaseLine && otherInfo.IsPDProgressView)">
|
|
|
|
|
<!-- 编辑 -->
|
|
|
|
|
<el-button
|
|
|
|
|
v-hasPermi="['trials:trials-panel:visit:crc-upload:edit']"
|
|
|
|
|
type="primary"
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
style="margin-left:10px;"
|
|
|
|
|
@click="relationVisible = true"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('common:button:edit') }}
|
|
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-tabs v-model="activeName" type="border-card" style="flex:1;">
|
|
|
|
|
<!-- DICOM影像上传 -->
|
|
|
|
|
<el-tab-pane :label="$t('trials:uploadedDicoms:tab:uploadDicoms')" name="dicom">
|
|
|
|
|
<upload-dicom-files2 :data="rowData" :subject-id="rowData.SubjectId" :subject-visit-id="rowData.Id" @getList="getList" @close="closeUpload" :activeName.sync="activeName"/>
|
|
|
|
|
<!-- <upload-dicom-files :data="rowData" :subject-id="rowData.SubjectId" :subject-visit-id="rowData.Id" @getList="getList" @close="closeUpload" @setOpenWindow="setOpenWindow"/> -->
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 非DICOM影像上传 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
:label="$t('trials:uploadNonDicoms:tab:uploadNonDicoms')"
|
|
|
|
|
name="non-dicom"
|
|
|
|
|
>
|
|
|
|
|
<upload-non-dicom-files v-if="activeName==='non-dicom'" :data="rowData" :body-parts="otherInfo.BodyPartTypes" :modalities="otherInfo.Modalitys" :subject-visit-id="rowData.Id" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 临床数据采集 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
v-if="rowData.IsBaseLine && (otherInfo.IsHaveSubjectClinicalData || otherInfo.IsHaveVisitClinicalData)"
|
|
|
|
|
:label="$t('trials:uploadClinicalData:tab:uploadClinicalData')"
|
|
|
|
|
name="clinical-data"
|
|
|
|
|
>
|
|
|
|
|
<upload-clinical-data v-if="activeName==='clinical-data'" :subject-visit-id="rowData.Id" :data="rowData" :enum-type="otherInfo.ClinicalInformationTransmissionEnum" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 临床数据采集2 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
v-if="!rowData.IsBaseLine && otherInfo.IsHaveVisitClinicalData"
|
|
|
|
|
:label="$t('trials:uploadClinicalData:tab:uploadClinicalData')"
|
|
|
|
|
name="clinical-data"
|
|
|
|
|
>
|
|
|
|
|
<upload-clinical-data v-if="activeName==='clinical-data'" :subject-visit-id="rowData.Id" :data="rowData" :enum-type="otherInfo.ClinicalInformationTransmissionEnum" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
</el-tabs>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-tabs v-model="activeName" type="border-card" style="flex:1;">
|
|
|
|
|
<!-- DICOM影像上传 -->
|
|
|
|
|
<el-tab-pane :label="$t('trials:uploadedDicoms:tab:uploadDicoms')" name="dicom">
|
|
|
|
|
<upload-dicom-files2 :data="rowData" :subject-id="rowData.SubjectId" :subject-visit-id="rowData.Id" @getList="getList" @close="closeUpload" :activeName.sync="activeName"/>
|
|
|
|
|
<!-- <upload-dicom-files :data="rowData" :subject-id="rowData.SubjectId" :subject-visit-id="rowData.Id" @getList="getList" @close="closeUpload" @setOpenWindow="setOpenWindow"/> -->
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 非DICOM影像上传 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
:label="$t('trials:uploadNonDicoms:tab:uploadNonDicoms')"
|
|
|
|
|
name="non-dicom"
|
|
|
|
|
>
|
|
|
|
|
<upload-non-dicom-files v-if="activeName==='non-dicom'" :data="rowData" :body-parts="otherInfo.BodyPartTypes" :modalities="otherInfo.Modalitys" :subject-visit-id="rowData.Id" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 临床数据采集 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
v-if="rowData.IsBaseLine && (otherInfo.IsHaveSubjectClinicalData || otherInfo.IsHaveVisitClinicalData)"
|
|
|
|
|
:label="$t('trials:uploadClinicalData:tab:uploadClinicalData')"
|
|
|
|
|
name="clinical-data"
|
|
|
|
|
>
|
|
|
|
|
<upload-clinical-data v-if="activeName==='clinical-data'" :subject-visit-id="rowData.Id" :data="rowData" :enum-type="otherInfo.ClinicalInformationTransmissionEnum" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<!-- 临床数据采集2 -->
|
|
|
|
|
<el-tab-pane
|
|
|
|
|
v-if="!rowData.IsBaseLine && otherInfo.IsHaveVisitClinicalData"
|
|
|
|
|
:label="$t('trials:uploadClinicalData:tab:uploadClinicalData')"
|
|
|
|
|
name="clinical-data"
|
|
|
|
|
>
|
|
|
|
|
<upload-clinical-data v-if="activeName==='clinical-data'" :subject-visit-id="rowData.Id" :data="rowData" :enum-type="otherInfo.ClinicalInformationTransmissionEnum" :allow-add-or-edit="true" @getList="getList" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
</el-tabs>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 检查列表 -->
|
|
|
|
|
<el-dialog
|
|
|
|
@@ -524,7 +528,6 @@
|
|
|
|
|
:visible.sync="studyVisible"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:fullscreen="true"
|
|
|
|
|
custom-class="upload-dialog"
|
|
|
|
|
:before-close="beforeCloseStudyDig"
|
|
|
|
|
>
|
|
|
|
|
<span slot="title">
|
|
|
|
@@ -1701,6 +1704,11 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
.upload-dialog-box{
|
|
|
|
|
.el-dialog__wrapper{
|
|
|
|
|
z-index: 1999 !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.visit-list{
|
|
|
|
|
position: relative;
|
|
|
|
|
.status-primary-circle{
|
|
|
|
|