@@ -706,6 +748,7 @@ import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom'
import SignForm from '@/views/trials/components/newSignForm'
import { getCriterionReadingInfo, verifyVisitTaskQuestions, submitDicomVisitTask, setReadKeyFile } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
+import { getMarkList } from '@/api/reading'
import { getAutoCutNextTask } from '@/api/user'
import const_ from '@/const/sign-code'
import { changeURLStatic } from '@/utils/history.js'
@@ -903,6 +946,9 @@ export default {
uploadTrialCriterion: {},
uploadStatus: 'upload',
taskId: '',
+ keySeries: [],
+ keySeriesPopoverVisible: false,
+ keySeriesLoading: false,
signVisible: false,
signCode: null,
currentUser: zzSessionStorage.getItem('userName'),
@@ -1349,6 +1395,46 @@ export default {
resetViewport() {
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].resetViewport()
},
+ getKeySeriesVisitTaskId() {
+ const currentCanvas = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`]
+ if (currentCanvas && currentCanvas[0] && currentCanvas[0].stack && currentCanvas[0].stack.visitTaskId) {
+ return currentCanvas[0].stack.visitTaskId
+ }
+ return this.activeSeries && this.activeSeries.visitTaskId ? this.activeSeries.visitTaskId : ''
+ },
+ async showKeySeriesPanel() {
+ this.keySeries = []
+ this.keySeriesLoading = true
+ const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
+ if (idx === -1) return
+ const visitTaskId = this.visitTaskList[idx].VisitTaskId
+ try {
+ const res = await getMarkList({ visitTaskId })
+ if (res && res.Result) {
+ this.keySeries = res.Result
+ }
+ } catch (err) {
+ console.error(err)
+ } finally {
+ this.keySeriesLoading = false
+ }
+ },
+ jumpToKeySeries(kf) {
+ this.keySeriesPopoverVisible = false
+ const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
+ if (idx === -1) return
+ const visitTaskId = this.visitTaskList[idx].VisitTaskId
+ if (!visitTaskId) return
+ let annotation = {}
+ try {
+ annotation = kf.MeasureData ? JSON.parse(kf.MeasureData) : {}
+ } catch (err) {
+ console.error(err)
+ }
+ const series = this.getSeriesInfoByMark(visitTaskId, {lesionName: kf.MarkName})
+ if (!series) return
+ this.loadImageStack(series)
+ },
previewConfig() {
this.activeName = '1'
this.personalConfigDialog.visible = true
@@ -3030,3 +3116,135 @@ export default {
flex-grow: 1;
}
+
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue
index 9b4e9303..9fd7bc87 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue
@@ -94,7 +94,7 @@ export default {
this.resetSuvQuestions()
})
FusionEvent.$on('addAnnotation', obj => {
- this.$set(obj, 'SaveEnum', 1)
+ // this.$set(obj, 'SaveEnum', 1)
this.addAnnotation(obj)
})
FusionEvent.$on('removeAnnotation', obj => {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue
index 2cc8b0dc..19d7fcd9 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue
@@ -115,7 +115,7 @@ export default {
})
if (this.groupClassify === 3) {
DicomEvent.$on('addAnnotation', obj => {
- this.$set(obj, 'SaveEnum', 1)
+ // this.$set(obj, 'SaveEnum', 1)
this.addAnnotation(obj)
})
DicomEvent.$on('removeAnnotation', obj => {