Merge branch 'uat'
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
# Conflicts: # src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vuemain
commit
de250ecbf5
|
@ -308,6 +308,38 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="tool-item"
|
||||
:title="$t('trials:reading:button:upload')"
|
||||
v-if="trialCriterion.ImageUploadEnum > 0 && readingTaskState < 2"
|
||||
v-hasPermi="['role:ir']"
|
||||
>
|
||||
<div class="tool-wrapper">
|
||||
<div class="icon" @click.prevent="openUploadImage('upload')">
|
||||
<i class="el-icon-upload2 svg-icon" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="trialCriterion.ImageDownloadEnum > 0"
|
||||
v-hasPermi="[
|
||||
'role:ir',
|
||||
'role:mim',
|
||||
'role:mc',
|
||||
'role:pm',
|
||||
'role:apm',
|
||||
'role:ea',
|
||||
'role:qa',
|
||||
]"
|
||||
class="tool-item"
|
||||
:title="$t('trials:reading:button:download')"
|
||||
>
|
||||
<div class="tool-wrapper">
|
||||
<div class="icon" @click.prevent="openUploadImage('download')">
|
||||
<i class="el-icon-download svg-icon" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 伪彩 -->
|
||||
<template v-if="readingTool === 2">
|
||||
<colorMap v-show="isFusion" ref="colorMap" @setColorMap="setColorMap" @voiChange="voiChange" />
|
||||
|
@ -539,10 +571,28 @@
|
|||
>
|
||||
<FusionForm v-if="fusionVisible" :active-task-index="activeTaskIndex" :task-list="visitTaskList" @close="closeFusion" @fusion="handleFusion" />
|
||||
</el-dialog>
|
||||
|
||||
<upload-dicom-and-nonedicom
|
||||
v-if="uploadImageVisible"
|
||||
:subject-id="uploadSubjectId"
|
||||
:subject-code="uploadSubjectCode"
|
||||
:criterion="uploadTrialCriterion"
|
||||
:visible.sync="uploadImageVisible"
|
||||
:visit-task-id="taskId"
|
||||
:is-reading-task-view-in-order="isReadingTaskViewInOrder"
|
||||
/>
|
||||
<download-dicom-and-nonedicom
|
||||
v-if="downloadImageVisible"
|
||||
:subject-id="uploadSubjectId"
|
||||
:subject-code="uploadSubjectCode"
|
||||
:criterion="uploadTrialCriterion"
|
||||
:task-id="taskId"
|
||||
:visible.sync="downloadImageVisible"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getRelatedVisitTask, getReadingVisitStudyList, getTableAnswerRowInfoList, deleteCustomTag } from '@/api/trials'
|
||||
import { getRelatedVisitTask, getReadingVisitStudyList, getTableAnswerRowInfoList, deleteCustomTag, getCriterionReadingInfo } from '@/api/trials'
|
||||
import { getDoctorShortcutKey, getUserWLTemplateList } from '@/api/user'
|
||||
import { getCustomTag, submitCustomTag } from '@/api/reading'
|
||||
import {
|
||||
|
@ -580,6 +630,8 @@ import ClinicalData from '@/views/trials/trials-panel/reading/clinical-data'
|
|||
import FusionForm from './FusionForm.vue'
|
||||
import colorMap from './colorMap.vue'
|
||||
import RectangleROITool from './tools/RectangleROITool'
|
||||
import uploadDicomAndNonedicom from '@/components/uploadDicomAndNonedicom'
|
||||
import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom'
|
||||
const { visibility } = annotation
|
||||
const { ViewportType, Events } = Enums
|
||||
const renderingEngineId = 'myRenderingEngine'
|
||||
|
@ -649,7 +701,9 @@ export default {
|
|||
Others,
|
||||
ClinicalData,
|
||||
FusionForm,
|
||||
colorMap
|
||||
colorMap,
|
||||
downloadDicomAndNonedicom,
|
||||
uploadDicomAndNonedicom,
|
||||
},
|
||||
props: {
|
||||
readingTool: {
|
||||
|
@ -727,8 +781,19 @@ export default {
|
|||
volumeData: {},
|
||||
fusionSerieId: {},
|
||||
loadingText: null,
|
||||
toolNames: ['Length', 'Bidirectional', 'RectangleROI', 'ArrowAnnotate', 'CircleROI', 'Eraser']
|
||||
toolNames: ['Length', 'Bidirectional', 'RectangleROI', 'ArrowAnnotate', 'CircleROI', 'Eraser'],
|
||||
// resetAnnotation: false , // 是否初始化标记 (融合时使用)
|
||||
|
||||
// 上传
|
||||
downloadImageVisible: false,
|
||||
uploadImageVisible: false,
|
||||
uploadSubjectId: null,
|
||||
uploadSubjectCode: null,
|
||||
uploadTrialCriterion: {},
|
||||
uploadStatus: 'upload',
|
||||
taskId: '',
|
||||
isReadingTaskViewInOrder: null,
|
||||
trialCriterion: {}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -757,6 +822,7 @@ export default {
|
|||
},
|
||||
},
|
||||
watch: {
|
||||
currentReadingTaskState(){console.log(this.currentReadingTaskState,'currentReadingTaskState')},
|
||||
activeTaskId: {
|
||||
immediate: true,
|
||||
handler(id) {
|
||||
|
@ -806,6 +872,7 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.taskInfo = JSON.parse(localStorage.getItem('taskInfo'))
|
||||
this.isReadingTaskViewInOrder = this.taskInfo.IsReadingTaskViewInOrder
|
||||
this.criterionType = this.taskInfo.CriterionType
|
||||
const digitPlaces = Number(localStorage.getItem('digitPlaces'))
|
||||
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
|
||||
|
@ -830,6 +897,7 @@ export default {
|
|||
this.initLoader()
|
||||
this.getWwcTpl()
|
||||
this.getHotKeys()
|
||||
this.getTrialCriterion()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
@ -3053,7 +3121,28 @@ export default {
|
|||
},
|
||||
closeFusion() {
|
||||
this.fusionVisible = false
|
||||
}
|
||||
},
|
||||
getTrialCriterion() {
|
||||
getCriterionReadingInfo({
|
||||
TrialId: this.$route.query.trialId,
|
||||
TrialReadingCriterionId: this.$route.query.TrialReadingCriterionId
|
||||
})
|
||||
.then((res) => {
|
||||
this.trialCriterion = res.Result
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
openUploadImage(status) {
|
||||
const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
|
||||
if (idx > -1) {
|
||||
this.taskId = this.visitTaskList[idx].VisitTaskId
|
||||
}
|
||||
this.uploadSubjectCode = localStorage.getItem("subjectCode")
|
||||
this.uploadSubjectId = localStorage.getItem("subjectId")
|
||||
this.uploadTrialCriterion = this.trialCriterion
|
||||
this.uploadStatus = status
|
||||
this[`${status}ImageVisible`] = true
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
</el-button>
|
||||
<!-- 随机排序 -->
|
||||
<el-button type="primary" @click="randomOrder"
|
||||
:disabled="!searchData.TrialReadingCriterionId || !searchData.DoctorUserId">
|
||||
:disabled="!searchData.TrialReadingCriterionId || !searchData.DoctorUserId" v-if="!isAdmin">
|
||||
{{ $t('trials:readingTracking:button:order') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
|
@ -189,7 +189,7 @@
|
|||
<template slot-scope="scope">
|
||||
<el-input-number v-model="scope.row.RandomOrder"
|
||||
@change="(value, old) => handleChange(scope.row, value, old)" :min="0" style="width: 150px;"
|
||||
v-if="scope.row.ReadingTaskState !== 1"></el-input-number>
|
||||
v-if="scope.row.ReadingTaskState !== 1 && !isAdmin"></el-input-number>
|
||||
<span v-else>{{ scope.row.RandomOrder }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -260,7 +260,12 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
if (!this.hasPermi(['role:pm', 'role:apm'])) return this.$router.replace("/login")
|
||||
if (!this.hasPermi(['role:pm', 'role:apm', 'role:admin'])) return this.$router.replace("/login")
|
||||
},
|
||||
computed: {
|
||||
isAdmin() {
|
||||
return !!this.hasPermi(['role:admin'])
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getSite()
|
||||
|
|
Loading…
Reference in New Issue