非dicom全局和裁判阅片更改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
10f4bf7480
commit
aae2d6a1c5
|
@ -3,35 +3,95 @@
|
|||
<!-- 访视阅片 -->
|
||||
<visit-review v-if="taskInfo && taskInfo.ReadingCategory=== 1" />
|
||||
<!-- 全局阅片 -->
|
||||
<global-review v-else-if="taskInfo && taskInfo.ReadingCategory=== 2" />
|
||||
<global-review
|
||||
v-else-if="taskInfo && taskInfo.ReadingCategory=== 2"
|
||||
:trialId="trialId"
|
||||
:subjectId="taskInfo.SubjectId"
|
||||
:visitTaskId="taskInfo.VisitTaskId"
|
||||
:readingCategory="taskInfo.ReadingCategory"
|
||||
:subjectCode="taskInfo.SubjectCode"
|
||||
:taskBlindName="taskInfo.TaskBlindName"
|
||||
:isReadingShowSubjectInfo="taskInfo.IsReadingShowSubjectInfo"
|
||||
:isReadingShowPreviousResults="taskInfo.IsReadingShowPreviousResults"
|
||||
:isExistsClinicalData="taskInfo.IsExistsClinicalData"
|
||||
/>
|
||||
<!-- 裁判阅片 -->
|
||||
<ad-review v-else-if="taskInfo && taskInfo.ReadingCategory=== 4" />
|
||||
<ad-review
|
||||
v-else-if="taskInfo && taskInfo.ReadingCategory=== 4"
|
||||
:trialId="trialId"
|
||||
:subjectId="taskInfo.SubjectId"
|
||||
:visitTaskId="taskInfo.VisitTaskId"
|
||||
:readingCategory="taskInfo.ReadingCategory"
|
||||
:subjectCode="taskInfo.SubjectCode"
|
||||
:taskBlindName="taskInfo.TaskBlindName"
|
||||
:isReadingShowSubjectInfo="taskInfo.IsReadingShowSubjectInfo"
|
||||
:isReadingShowPreviousResults="taskInfo.IsReadingShowPreviousResults"
|
||||
:isExistsClinicalData="taskInfo.IsExistsClinicalData"
|
||||
/>
|
||||
<!-- 肿瘤学阅片 -->
|
||||
<oncology-review v-else-if="taskInfo && taskInfo.ReadingCategory=== 5" />
|
||||
<!-- <oncology-review v-else-if="taskInfo && taskInfo.ReadingCategory=== 5" /> -->
|
||||
<el-dialog
|
||||
:visible.sync="clinicalDataVisible"
|
||||
:custom-class="isClinicalDataFullscreen?'full-dialog-container':'dialog-container'"
|
||||
:show-close="false"
|
||||
:close-on-click-modal="false"
|
||||
:fullscreen="isClinicalDataFullscreen"
|
||||
>
|
||||
<span slot="title" class="dialog-footer">
|
||||
<!-- 当前阅片任务存在临床数据,请查看。若已查看,请点击“确认” -->
|
||||
<span v-if="!closeCDVisible">{{ $t('trials:reading:dagTitle:msg1') }}</span>
|
||||
<div style="position: absolute;right: 20px;top: 10px;">
|
||||
<svg-icon :icon-class="isClinicalDataFullscreen?'exit-fullscreen':'fullscreen'" style="cursor: pointer;font-size: 20px;" @click="isClinicalDataFullscreen=!isClinicalDataFullscreen" />
|
||||
<svg-icon v-if="closeCDVisible" icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;" @click="clinicalDataVisible = false" />
|
||||
</div>
|
||||
</span>
|
||||
<div style="height: 100%;margin:0;display: flex;flex-direction: column;">
|
||||
<clinical-data
|
||||
v-if="clinicalDataVisible"
|
||||
style="flex: 1"
|
||||
:trial-id="trialId"
|
||||
:subject-id="taskInfo.SubjectId"
|
||||
:visit-task-id="cdVisitTaskId"
|
||||
:is-reading-show-subject-info="taskInfo.IsReadingShowSubjectInfo"
|
||||
/>
|
||||
<div v-if="!closeCDVisible" style="text-align:right">
|
||||
<el-button type="primary" @click="handleConfirmCD">{{ $t('trials:reading:button:confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getNextTask } from '@/api/trials'
|
||||
import { getNextTask, readClinicalData } from '@/api/trials'
|
||||
import store from '@/store'
|
||||
import VisitReview from '@/views/trials/trials-panel/reading/visit-review'
|
||||
import GlobalReview from '@/views/trials/trials-panel/reading/global-review'
|
||||
import AdReview from '@/views/trials/trials-panel/reading/ad-review'
|
||||
import OncologyReview from '@/views/trials/trials-panel/reading/oncology-review'
|
||||
// import OncologyReview from '@/views/trials/trials-panel/reading/oncology-review'
|
||||
import ClinicalData from '@/views/trials/trials-panel/reading/clinical-data'
|
||||
export default {
|
||||
name: 'ReadingViewer',
|
||||
components: {
|
||||
VisitReview,
|
||||
GlobalReview,
|
||||
AdReview,
|
||||
OncologyReview
|
||||
// OncologyReview
|
||||
ClinicalData
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
taskInfo: null,
|
||||
loading: false
|
||||
trialId: '',
|
||||
loading: false,
|
||||
clinicalDataVisible: false,
|
||||
isClinicalDataFullscreen: false,
|
||||
closeCDVisible: false,
|
||||
cdVisitTaskId: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.trialId = this.$route.query.trialId
|
||||
this.getTaskInfo()
|
||||
},
|
||||
methods: {
|
||||
|
@ -48,23 +108,32 @@ export default {
|
|||
const res = await getNextTask(params)
|
||||
this.taskInfo = res.Result
|
||||
localStorage.setItem('taskInfo', JSON.stringify(res.Result))
|
||||
// if (res.Result.IsExistsClinicalData && res.Result.IsNeedReadClinicalData && !res.Result.IsReadClinicalData) {
|
||||
// this.isFullscreen = false
|
||||
// this.dialogVisible = true
|
||||
// this.cdVisitTaskId = res.Result.visitTaskId
|
||||
// }
|
||||
// this.$nextTick(() => {
|
||||
// if (res.Result.IsFirstChangeTask && res.Result.ReadingTaskState === 0) {
|
||||
// this.tipVisible = true
|
||||
// }
|
||||
// })
|
||||
this.loading = false
|
||||
this.$nextTick(() => {
|
||||
if (this.taskInfo.IsExistsClinicalData && this.taskInfo.IsNeedReadClinicalData && !this.taskInfo.IsReadClinicalData) {
|
||||
this.isClinicalDataFullscreen = false
|
||||
this.clinicalDataVisible = true
|
||||
this.cdVisitTaskId = this.taskInfo.VisitTaskId
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
store.dispatch('reading/setCurrentReadingTaskState', 2)
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
},
|
||||
async handleConfirmCD() {
|
||||
this.loading = true
|
||||
var visitTaskId = this.taskInfo.VisitTaskId
|
||||
try {
|
||||
await readClinicalData({ visitTaskId })
|
||||
this.loading = false
|
||||
this.clinicalDataVisible = false
|
||||
this.closeCDVisible = true
|
||||
} catch (e) {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -72,5 +141,22 @@ export default {
|
|||
.reading-viewer-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
::v-deep .dialog-container{
|
||||
margin-top: 50px !important;
|
||||
width:75%;
|
||||
height:80%;
|
||||
}
|
||||
::v-deep .el-dialog__body{
|
||||
padding: 20px 20px 0 20px;
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
.el-dialog__header{
|
||||
position: relative;
|
||||
}
|
||||
.full-dialog-container{
|
||||
::v-deep .is-fullscreen .el-dialog__body{
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -91,11 +91,9 @@
|
|||
:fullscreen="isClinicalDataFullscreen"
|
||||
>
|
||||
<span slot="title" class="dialog-footer">
|
||||
<!-- 当前阅片任务存在临床数据,请查看。若已查看,请点击“确认” -->
|
||||
<span v-if="!closeCDVisible">{{ $t('trials:reading:dagTitle:msg1') }}</span>
|
||||
<div style="position: absolute;right: 20px;top: 10px;">
|
||||
<svg-icon :icon-class="isClinicalDataFullscreen?'exit-fullscreen':'fullscreen'" style="cursor: pointer;font-size: 20px;" @click="isClinicalDataFullscreen=!isClinicalDataFullscreen" />
|
||||
<svg-icon v-if="closeCDVisible" icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;" @click="clinicalDataVisible = false" />
|
||||
<svg-icon icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;" @click="clinicalDataVisible = false" />
|
||||
</div>
|
||||
</span>
|
||||
<div style="height: 100%;margin:0;display: flex;flex-direction: column;">
|
||||
|
@ -107,9 +105,6 @@
|
|||
:visit-task-id="cdVisitTaskId"
|
||||
:is-reading-show-subject-info="taskInfo.IsReadingShowSubjectInfo"
|
||||
/>
|
||||
<div v-if="!closeCDVisible" style="text-align:right">
|
||||
<el-button type="primary" @click="handleConfirmCD">{{ $t('trials:reading:button:confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-dialog>
|
||||
|
@ -117,7 +112,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getRelatedVisitTask, getReadingImageFile, getNoneDicomMarkListOutDto, readClinicalData } from '@/api/trials'
|
||||
import { getRelatedVisitTask, getReadingImageFile, getNoneDicomMarkListOutDto } from '@/api/trials'
|
||||
import StudyList from './StudyList'
|
||||
// import ImageViewer from './ImageViewer'
|
||||
// import PdfViewer from './PDFViewer'
|
||||
|
@ -156,7 +151,6 @@ export default {
|
|||
relatedStudyInfo: null,
|
||||
clinicalDataVisible: false,
|
||||
isClinicalDataFullscreen: false,
|
||||
closeCDVisible: false,
|
||||
trialId: '',
|
||||
cdVisitTaskId: ''
|
||||
}
|
||||
|
@ -181,13 +175,7 @@ export default {
|
|||
this.taskInfo = JSON.parse(localStorage.getItem('taskInfo'))
|
||||
this.trialId = this.$route.query.trialId
|
||||
this.getRelatedTask()
|
||||
this.$nextTick(() => {
|
||||
if (this.taskInfo.IsExistsClinicalData && this.taskInfo.IsNeedReadClinicalData && !this.taskInfo.IsReadClinicalData) {
|
||||
this.isClinicalDataFullscreen = false
|
||||
this.clinicalDataVisible = true
|
||||
this.cdVisitTaskId = this.taskInfo.VisitTaskId
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
methods: {
|
||||
// 获取关联任务信息
|
||||
|
@ -243,71 +231,6 @@ export default {
|
|||
}
|
||||
const res = await getReadingImageFile(params)
|
||||
this.$set(this.visitTaskList[visitTaskIdx], 'StudyList', res.Result)
|
||||
// const arr = [
|
||||
// {
|
||||
// BodyPart: '',
|
||||
// Code: 0,
|
||||
// CodeView: '',
|
||||
// Description: '',
|
||||
// FileCount: 0,
|
||||
// Id: '6783b9e8-738f-42d6-bc36-8d3b36b060ee',
|
||||
// ImageDate: '0001-01-01 00:00:00',
|
||||
// IsCriticalSequence: true,
|
||||
// IsDeleted: false,
|
||||
// IsReading: false,
|
||||
// Modality: '',
|
||||
// StudyName: '',
|
||||
// SubjectId: '08dd3125-be6c-d544-0242-0a0001000000',
|
||||
// SubjectVisitId: '01000000-0a10-0242-4a73-08dd3125be6d',
|
||||
// TrialId: '08dd2ee1-0754-9e3d-0242-0a0001000000',
|
||||
// UpdateTime: '0001-01-01 00:00:00',
|
||||
// NoneDicomStudyFileList: [
|
||||
// {
|
||||
// Id: '08dd3480-5a81-cb9d-0242-0a0001000000',
|
||||
// Path: '/08dd2ee1-0754-9e3d-0242-0a0001000000/DocumentToSign/1740706111094_Independent%20Review%20Charter.pdf',
|
||||
// FileName: 'A11CF934.jpg',
|
||||
// CreateTime: '2025-01-14 17:46:43',
|
||||
// CreateUserId: '746d0000-3e2c-0016-f276-08daeedff8de',
|
||||
// NoneDicomStudyId: '08dd3480-4747-4454-0242-0a0001000000',
|
||||
// FileSize: 29137,
|
||||
// FullFilePath: '/08dd2ee1-0754-9e3d-0242-0a0001000000/DocumentToSign/1740706111094_Independent%20Review%20Charter.pdf',
|
||||
// FileType: 'image/jpeg'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// BodyPart: '',
|
||||
// Code: 0,
|
||||
// CodeView: '',
|
||||
// Description: '',
|
||||
// FileCount: 0,
|
||||
// Id: '6783b9e8-738f-42f6-bc36-8d3b36b060ee',
|
||||
// ImageDate: '0001-01-01 00:00:00',
|
||||
// IsCriticalSequence: true,
|
||||
// IsDeleted: false,
|
||||
// IsReading: false,
|
||||
// Modality: '',
|
||||
// StudyName: '',
|
||||
// SubjectId: '08dd3125-be6c-d544-0242-0a0001000000',
|
||||
// SubjectVisitId: '01000000-0a00-0242-4a73-08dd3125be6d',
|
||||
// TrialId: '08dd2ee1-0754-9e3d-0242-0a0001000000',
|
||||
// UpdateTime: '0001-01-01 00:00:00',
|
||||
// NoneDicomStudyFileList: [
|
||||
// {
|
||||
// Id: '08dd3480-5a81-cb8d-0242-0a0001000000',
|
||||
// Path: '/08dd2ee1-0754-9e3d-0242-0a0001000000/DocumentToSign/1740706163441_IRaCIS%20%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9FV%201.0%20CRO%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3_20200601.pdf',
|
||||
// FileName: 'A11CF934.jpg',
|
||||
// CreateTime: '2025-01-14 17:46:43',
|
||||
// CreateUserId: '746d0000-3e2c-0016-f276-08daeedff8de',
|
||||
// NoneDicomStudyId: '08dd3480-4747-4454-0242-0a0001000000',
|
||||
// FileSize: 29137,
|
||||
// FullFilePath: '/08dd2ee1-0754-9e3d-0242-0a0001000000/DocumentToSign/1740706163441_IRaCIS%20%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9FV%201.0%20CRO%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3_20200601.pdf',
|
||||
// FileType: 'image/jpeg'
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// ]
|
||||
// this.$set(this.visitTaskList[visitTaskIdx], 'StudyList', arr)
|
||||
this.loading = false
|
||||
resolve()
|
||||
} catch (e) {
|
||||
|
@ -370,21 +293,8 @@ export default {
|
|||
toggleImage(obj) {
|
||||
this.$refs[obj.taskId][0].activeImage(obj)
|
||||
},
|
||||
async handleConfirmCD() {
|
||||
this.loading = true
|
||||
var visitTaskId = this.taskInfo.VisitTaskId
|
||||
try {
|
||||
await readClinicalData({ visitTaskId })
|
||||
this.loading = false
|
||||
this.clinicalDataVisible = false
|
||||
this.closeCDVisible = true
|
||||
// this.isReadClinicalData = true
|
||||
} catch (e) {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
|
||||
previewCD(taskId) {
|
||||
this.closeCDVisible = true
|
||||
this.isClinicalDataFullscreen = false
|
||||
this.dialogVisible = true
|
||||
this.cdVisitTaskId = taskId
|
||||
|
|
Loading…
Reference in New Issue