Merge branch 'main' into uat_us
commit
3bf3503c99
|
|
@ -4458,3 +4458,12 @@ export function amendmentPatientInfo(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//修改临床数据后 将签名状态变更为未签名
|
||||||
|
export function updateReadModuleClinicalData(data) {
|
||||||
|
return request({
|
||||||
|
url: `/ReadingClinicalData/updateReadModuleClinicalData`,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -1218,7 +1218,7 @@ export default {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.btnBox {
|
.dicom-tools .btnBox {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="dicom-desc"
|
class="dicom-desc"
|
||||||
style="width: 150px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
|
style="width: 135px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<div style="text-overflow: ellipsis;overflow: hidden;" v-if="!study.StudyName">
|
<div style="text-overflow: ellipsis;overflow: hidden;" v-if="!study.StudyName">
|
||||||
|
|
@ -32,7 +32,37 @@
|
||||||
<div>{{ study.Modalities }} ({{ study.SeriesCount }})</div>
|
<div>{{ study.Modalities }} ({{ study.SeriesCount }})</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-overflow: ellipsis;overflow: hidden;" :title="study.Description">{{ study.Description }}</div>
|
<div style="text-overflow: ellipsis;overflow: hidden;" :title="study.Description">{{ study.Description }}</div>
|
||||||
|
<div class="patient-info" v-if="['PT、CT', 'CT、PT', 'PET-CT'].includes(study.Modalities)">
|
||||||
|
<el-popover placement="right-start" trigger="hover" popper-class="patient-info-popper">
|
||||||
|
<h4>{{ $t('trials:ptData:title') }}</h4>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:patientSex') }}</label>
|
||||||
|
<span>{{ study.PatientSex }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:patientWeight') }}</label>
|
||||||
|
<span>{{ study.PatientWeight }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:totalDose') }}</label>
|
||||||
|
<span>{{ study.RadionuclideTotalDose }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:halfLife') }}</label>
|
||||||
|
<span>{{ study.RadionuclideHalfLife }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:injectTime') }}</label>
|
||||||
|
<span>{{ study.RadiopharmaceuticalStartTime }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:acquisitionTime') }}</label>
|
||||||
|
<span>{{ study.AcquisitionTime }}</span>
|
||||||
|
</div>
|
||||||
|
<i slot="reference" class="el-icon-document"
|
||||||
|
style="font-size: 15px;cursor: pointer;color: #f5f7fa;" />
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -99,37 +129,7 @@
|
||||||
<el-tooltip class="item" effect="dark" :content="series.description" placement="right">
|
<el-tooltip class="item" effect="dark" :content="series.description" placement="right">
|
||||||
<div style="">{{ series.description }}</div>
|
<div style="">{{ series.description }}</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<div class="patient-info" style="position: absolute;right: 0;top: 30px;" v-if="['PT','PET'].includes(series.modality)">
|
|
||||||
<el-popover placement="right" trigger="hover" popper-class="patient-info-popper">
|
|
||||||
<h4>{{ $t('trials:ptData:title') }}</h4>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:patientSex') }}</label>
|
|
||||||
<span>{{ study.PatientSex }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:patientWeight') }}</label>
|
|
||||||
<span>{{ study.PatientWeight }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:totalDose') }}</label>
|
|
||||||
<span>{{ study.RadionuclideTotalDose }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:halfLife') }}</label>
|
|
||||||
<span>{{ study.RadionuclideHalfLife }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:injectTime') }}</label>
|
|
||||||
<span>{{ study.RadiopharmaceuticalStartTime }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:acquisitionTime') }}</label>
|
|
||||||
<span>{{ study.AcquisitionTime }}</span>
|
|
||||||
</div>
|
|
||||||
<i slot="reference" class="el-icon-document"
|
|
||||||
style="font-size: 15px;cursor: pointer;color: #f5f7fa;" />
|
|
||||||
</el-popover>
|
|
||||||
</div>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p v-show="series.sliceThickness && !study.IsCriticalSequence">
|
<p v-show="series.sliceThickness && !study.IsCriticalSequence">
|
||||||
|
|
@ -1140,6 +1140,10 @@ export default {
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.patient-info {
|
||||||
|
// display: inline-block;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
.patient-info-popper {
|
.patient-info-popper {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async handleChange(e, key) {
|
async handleChange(e, key) {
|
||||||
|
this.handleClear(e, key)
|
||||||
if (key === 'study') {
|
if (key === 'study') {
|
||||||
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
||||||
this.form.seriesId = null
|
this.form.seriesId = null
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
</el-switch>
|
</el-switch>
|
||||||
<span style="margin-left: 5px;">{{
|
<span style="margin-left: 5px;">{{
|
||||||
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="segmentList.length > 0">
|
<template v-if="segmentList.length > 0">
|
||||||
|
|
@ -163,7 +163,8 @@
|
||||||
<i class="el-icon-warning-outline" style="color:red;margin-right: 5px;"
|
<i class="el-icon-warning-outline" style="color:red;margin-right: 5px;"
|
||||||
:title="$t('trials:reading:Segmentations:tip:segmentationIsNotSave')"
|
:title="$t('trials:reading:Segmentations:tip:segmentationIsNotSave')"
|
||||||
v-if="!curSegmentGroup.isSaved"></i>
|
v-if="!curSegmentGroup.isSaved"></i>
|
||||||
<el-button type="success" size="small" :disabled="saveLoading || isMPR"
|
<el-button type="success" size="small"
|
||||||
|
:disabled="saveLoading || isMPR || curSegmentGroup.isSaved"
|
||||||
@click="saveSegmentGroup([curSegmentGroup])">
|
@click="saveSegmentGroup([curSegmentGroup])">
|
||||||
{{ $t("trials:reading:Segmentations:button:save") }}
|
{{ $t("trials:reading:Segmentations:button:save") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -186,21 +187,39 @@
|
||||||
<div class="messageBox">
|
<div class="messageBox">
|
||||||
<el-popover placement="left" :title="item.SegmentLabel" width="200" trigger="hover">
|
<el-popover placement="left" :title="item.SegmentLabel" width="200" trigger="hover">
|
||||||
<div class="Bidirectionalbox">
|
<div class="Bidirectionalbox">
|
||||||
<div class="BidirectionalBtn" @click.stop="addTip(item)"
|
<!-- <div class="BidirectionalBtn" @click.stop="addTip(item)"
|
||||||
v-if="!item.bidirectional">
|
v-if="!item.bidirectional">
|
||||||
{{ $t('trials:reading:Segmentations:button:getBidirectional') }}
|
{{ $t('trials:reading:Segmentations:button:getBidirectional') }}
|
||||||
</div>
|
</div> -->
|
||||||
<template v-else>
|
<template>
|
||||||
<div class="num">
|
<div class="num">
|
||||||
<span>L:{{ Number(item.bidirectional.maxMajor).toFixed(2) }} mm</span>
|
<span>L: {{
|
||||||
<span>S:{{ Number(item.bidirectional.maxMinor).toFixed(2) }} mm</span>
|
item.bidirectional && item.bidirectional.maxMajor
|
||||||
|
? Number(item.bidirectional.maxMajor).toFixed(2) : ' '
|
||||||
|
}} mm</span>
|
||||||
|
<span>S: {{
|
||||||
|
item.bidirectional && item.bidirectional.maxMinor
|
||||||
|
? Number(item.bidirectional.maxMinor).toFixed(2) : ' '
|
||||||
|
}} mm</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnBox">
|
<div class="btnBox">
|
||||||
<svg-icon :icon-class="!item.bidirectionalView ? 'eye' : 'eye-open'"
|
<div
|
||||||
style="color:#000;margin-right: 5px;cursor: pointer;"
|
:title="!item.bidirectionalView ? $t('trials:reading:Segmentations:button:eye') : $t('trials:reading:Segmentations:button:eye-open')">
|
||||||
@click.stop="viewBidirectional([item], !item.bidirectionalView)" />
|
<svg-icon :icon-class="!item.bidirectionalView ? 'eye' : 'eye-open'"
|
||||||
<svg-icon icon-class="jumpto" style="color:#000;cursor: pointer;"
|
style="color:#000;margin-right: 5px;cursor: pointer;"
|
||||||
@click.stop="jumpBidirectional(item)" />
|
@click.stop="viewBidirectional([item], !item.bidirectionalView)"
|
||||||
|
v-if="item.bidirectional" />
|
||||||
|
</div>
|
||||||
|
<div :title="$t('trials:reading:Segmentations:button:jumpto')">
|
||||||
|
<svg-icon icon-class="jumpto" style="color:#000;cursor: pointer;"
|
||||||
|
@click.stop="jumpBidirectional(item)"
|
||||||
|
v-if="item.bidirectional" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<i class="el-icon-plus" style="color:#000;cursor: pointer;"
|
||||||
|
v-if="!item.bidirectional"
|
||||||
|
:title="$t('trials:reading:Segmentations:button:getBidirectional')"
|
||||||
|
@click.stop="addTip(item)" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -253,7 +272,8 @@
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
<div class="saveBtnBox" v-if="readingTaskState < 2 && segmentList && segmentList.length > 1">
|
<div class="saveBtnBox" v-if="readingTaskState < 2 && segmentList && segmentList.length > 1">
|
||||||
<el-button type="success" size="small" :disabled="saveLoading || isMPR" @click="saveSegmentGroup()">
|
<el-button type="success" size="small" :disabled="saveLoading || isMPR || curSegmentGroup.isSaved"
|
||||||
|
@click="saveSegmentGroup()">
|
||||||
{{ $t("trials:reading:Segmentations:button:saveAll") }}
|
{{ $t("trials:reading:Segmentations:button:saveAll") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -746,7 +766,7 @@ export default {
|
||||||
return name
|
return name
|
||||||
},
|
},
|
||||||
getSegmentName(arr, num = 1) {
|
getSegmentName(arr, num = 1) {
|
||||||
let defaultSegmentName = arr[0].SegmentLabel
|
let defaultSegmentName = this.trialCriterion && this.trialCriterion.DefaultSegmentName && this.trialCriterion.DefaultSegmentName.SegmentNameList && this.trialCriterion.DefaultSegmentName.SegmentNameList.length > 0 ? this.trialCriterion.DefaultSegmentName.SegmentNameList[0] : arr[0].SegmentLabel
|
||||||
let name = defaultSegmentName + num
|
let name = defaultSegmentName + num
|
||||||
let has = arr.find(item => item.SegmentLabel === name)
|
let has = arr.find(item => item.SegmentLabel === name)
|
||||||
num++
|
num++
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,37 @@
|
||||||
<span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span>
|
<span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<div class="patient-info" v-if="['PT、CT', 'CT、PT', 'PET-CT'].includes(study.Modalities)">
|
||||||
|
<el-popover placement="right-start" trigger="hover" popper-class="patient-info-popper">
|
||||||
|
<h4>{{ $t('trials:ptData:title') }}</h4>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:patientSex') }}</label>
|
||||||
|
<span>{{ study.PatientSex }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:patientWeight') }}</label>
|
||||||
|
<span>{{ study.PatientWeight }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:totalDose') }}</label>
|
||||||
|
<span>{{ study.RadionuclideTotalDose }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:halfLife') }}</label>
|
||||||
|
<span>{{ study.RadionuclideHalfLife }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:injectTime') }}</label>
|
||||||
|
<span>{{ study.RadiopharmaceuticalStartTime }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="patient-info-row">
|
||||||
|
<label>{{ $t('trials:ptData:label:acquisitionTime') }}</label>
|
||||||
|
<span>{{ study.AcquisitionTime }}</span>
|
||||||
|
</div>
|
||||||
|
<i slot="reference" class="el-icon-document"
|
||||||
|
style="font-size: 15px;cursor: pointer;color: #f5f7fa;" />
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
|
|
@ -74,39 +105,9 @@
|
||||||
#{{ series.SeriesNumber }}
|
#{{ series.SeriesNumber }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="series.Description" class="text-desc" :title="series.Description" style="position: relative;">
|
<div v-if="series.Description" class="text-desc" :title="series.Description">
|
||||||
{{ series.Description }}
|
{{ series.Description }}
|
||||||
<div class="patient-info" style="position: absolute;right: 0;top: 0;" v-if="['PT','PET'].includes(series.Modality)">
|
|
||||||
<el-popover placement="right" trigger="hover" popper-class="patient-info-popper">
|
|
||||||
<h4>{{ $t('trials:ptData:title') }}</h4>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:patientSex') }}</label>
|
|
||||||
<span>{{ study.PatientSex }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:patientWeight') }}</label>
|
|
||||||
<span>{{ study.PatientWeight }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:totalDose') }}</label>
|
|
||||||
<span>{{ study.RadionuclideTotalDose }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:halfLife') }}</label>
|
|
||||||
<span>{{ study.RadionuclideHalfLife }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:injectTime') }}</label>
|
|
||||||
<span>{{ study.RadiopharmaceuticalStartTime }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="patient-info-row">
|
|
||||||
<label>{{ $t('trials:ptData:label:acquisitionTime') }}</label>
|
|
||||||
<span>{{ study.AcquisitionTime }}</span>
|
|
||||||
</div>
|
|
||||||
<i slot="reference" class="el-icon-document"
|
|
||||||
style="font-size: 15px;cursor: pointer;color: #f5f7fa;" />
|
|
||||||
</el-popover>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="series.SliceThickness && !study.IsCriticalSequence" class="text-desc">
|
<div v-if="series.SliceThickness && !study.IsCriticalSequence" class="text-desc">
|
||||||
T: {{ parseFloat(series.SliceThickness).toFixed(digitPlaces) }}
|
T: {{ parseFloat(series.SliceThickness).toFixed(digitPlaces) }}
|
||||||
|
|
@ -262,6 +263,10 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.patient-info {
|
||||||
|
// display: inline-block;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
.patient-info-popper {
|
.patient-info-popper {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
@ -294,6 +299,7 @@ export default {
|
||||||
color: #bbb;
|
color: #bbb;
|
||||||
// font-weight: 600;
|
// font-weight: 600;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
// text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.patient-info-popper span {
|
.patient-info-popper span {
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ export default {
|
||||||
addReadModule(this.form).then(res => {
|
addReadModule(this.form).then(res => {
|
||||||
this.btnLoading = false
|
this.btnLoading = false
|
||||||
this.$emit('getList')
|
this.$emit('getList')
|
||||||
this.$emit('close')
|
this.$emit('close', {visitStageId: this.form.VisitStageId})
|
||||||
this.form.Name = null
|
this.form.Name = null
|
||||||
this.form.VisitStageId = null
|
this.form.VisitStageId = null
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,15 @@
|
||||||
scope.row.IsSign ||
|
scope.row.IsSign ||
|
||||||
scope.row.UploadRole === 0
|
scope.row.UploadRole === 0
|
||||||
" @click="handleDelete(scope.row)" />
|
" @click="handleDelete(scope.row)" />
|
||||||
|
<!-- 更新 临床数据已签名,阅片状态待阅片 -->
|
||||||
|
<el-button
|
||||||
|
v-hasPermi="['trials:trials-panel:subject:readingPeriod:edit']"
|
||||||
|
circle
|
||||||
|
:title="$t('trials:readingPeriod:cd:action:update')" icon="el-icon-refresh"
|
||||||
|
:disabled="
|
||||||
|
!scope.row.IsSign ||
|
||||||
|
scope.row.UploadRole === 0 || data.ReadingStatus > 4"
|
||||||
|
@click="handleUpdateStatus(scope.row)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -285,6 +294,15 @@
|
||||||
scope.row.IsSign ||
|
scope.row.IsSign ||
|
||||||
scope.row.UploadRole === 0
|
scope.row.UploadRole === 0
|
||||||
" @click="handleDelete(scope.row)" />
|
" @click="handleDelete(scope.row)" />
|
||||||
|
<!-- 更新 临床数据已签名,阅片状态待阅片 -->
|
||||||
|
<el-button
|
||||||
|
v-hasPermi="['trials:trials-panel:subject:readingPeriod:edit']"
|
||||||
|
circle
|
||||||
|
:title="$t('trials:readingPeriod:cd:action:update')" icon="el-icon-refresh"
|
||||||
|
:disabled="
|
||||||
|
!scope.row.IsSign ||
|
||||||
|
scope.row.UploadRole === 0 || data.ReadingStatus > 4"
|
||||||
|
@click="handleUpdateStatus(scope.row)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -328,6 +346,7 @@ import {
|
||||||
getTrialClinicalDataSelect,
|
getTrialClinicalDataSelect,
|
||||||
getConsistencyAnalysisReadingClinicalDataList,
|
getConsistencyAnalysisReadingClinicalDataList,
|
||||||
signConsistencyAnalysisReadingClinicalData,
|
signConsistencyAnalysisReadingClinicalData,
|
||||||
|
updateReadModuleClinicalData
|
||||||
} from '@/api/trials'
|
} from '@/api/trials'
|
||||||
import AddOrEditCD from './AddOrEditCD'
|
import AddOrEditCD from './AddOrEditCD'
|
||||||
import Verification from './Verification'
|
import Verification from './Verification'
|
||||||
|
|
@ -658,6 +677,28 @@ export default {
|
||||||
})
|
})
|
||||||
.catch(() => { })
|
.catch(() => { })
|
||||||
},
|
},
|
||||||
|
async handleUpdateStatus(row) {
|
||||||
|
try {
|
||||||
|
const confirm = await this.$confirm(this.$t('trials:readingPeriod:cd:message:updateCDStatus'), {
|
||||||
|
type: 'warning',
|
||||||
|
distinguishCancelAndClose: true,
|
||||||
|
})
|
||||||
|
if (confirm === 'confirm') {
|
||||||
|
this.loading = true
|
||||||
|
let res = await updateReadModuleClinicalData({readingClinicalDataId: row.Id})
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.getList()
|
||||||
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.subjectPeriod.visible = true
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
},
|
||||||
handleSign(from) {
|
handleSign(from) {
|
||||||
// this.currentData = { ...row }
|
// this.currentData = { ...row }
|
||||||
this.currentData.IsBlind = from.IsBlind
|
this.currentData.IsBlind = from.IsBlind
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@
|
||||||
<el-dialog v-if="subjectPeriod.visible" :title="subjectPeriod.title" :visible.sync="subjectPeriod.visible"
|
<el-dialog v-if="subjectPeriod.visible" :title="subjectPeriod.title" :visible.sync="subjectPeriod.visible"
|
||||||
width="500px" custom-class="base-dialog-wrapper" :close-on-click-modal="false">
|
width="500px" custom-class="base-dialog-wrapper" :close-on-click-modal="false">
|
||||||
<SubjectPR :trial-reading-criterion-id="TrialReadingCriterionId" :trial-id="trialId" :data="param"
|
<SubjectPR :trial-reading-criterion-id="TrialReadingCriterionId" :trial-id="trialId" :data="param"
|
||||||
@close="() => { subjectPeriod.visible = false }" @getList="getList" />
|
@close="subjectPeriodClose" @getList="getList" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 编辑受试者阅片期 -->
|
<!-- 编辑受试者阅片期 -->
|
||||||
<el-dialog v-if="subjectPeriodEdit.visible" :title="subjectPeriodEdit.title"
|
<el-dialog v-if="subjectPeriodEdit.visible" :title="subjectPeriodEdit.title"
|
||||||
|
|
@ -527,6 +527,29 @@ export default {
|
||||||
? this.$t('trials:readingPeriod:dialogTitle:addSubjectPR')
|
? this.$t('trials:readingPeriod:dialogTitle:addSubjectPR')
|
||||||
: this.$t('trials:readingPeriod:dialogTitle:addSubjectTumorPR')
|
: this.$t('trials:readingPeriod:dialogTitle:addSubjectTumorPR')
|
||||||
},
|
},
|
||||||
|
async subjectPeriodClose(obj) {
|
||||||
|
this.subjectPeriod.visible = false
|
||||||
|
if (typeof obj !== 'object' || obj === null) return
|
||||||
|
|
||||||
|
if (this.param.ReadingSetType === 0 && this.isClinicalReading) {
|
||||||
|
try {
|
||||||
|
const res = await this.$confirm(this.$t('trials:readingPeriod:message:msg1'), {
|
||||||
|
type: 'warning',
|
||||||
|
distinguishCancelAndClose: true,
|
||||||
|
})
|
||||||
|
if (res === 'confirm') {
|
||||||
|
this.param.ReadingSetType = 1
|
||||||
|
this.param.VisitStageId = obj.visitStageId
|
||||||
|
this.subjectPeriod = { visible: true, title: this.$t('trials:readingPeriod:dialogTitle:addSubjectTumorPR') }
|
||||||
|
} else {
|
||||||
|
this.subjectPeriod.visible = true
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
handleEdit(row, type) {
|
handleEdit(row, type) {
|
||||||
this.param = { ...type }
|
this.param = { ...type }
|
||||||
this.param.VisitStageId = this.param.CutOffVisitId
|
this.param.VisitStageId = this.param.CutOffVisitId
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue