diff --git a/src/views/trials/trials-panel/reading/clinical-data/index.vue b/src/views/trials/trials-panel/reading/clinical-data/index.vue index 2f0ebf6e..3d7b5eba 100644 --- a/src/views/trials/trials-panel/reading/clinical-data/index.vue +++ b/src/views/trials/trials-panel/reading/clinical-data/index.vue @@ -277,7 +277,7 @@ export default { } } - \ No newline at end of file diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReportPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReportPage.vue new file mode 100644 index 00000000..e69de29b diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue new file mode 100644 index 00000000..670db458 --- /dev/null +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue new file mode 100644 index 00000000..3256127a --- /dev/null +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue @@ -0,0 +1,551 @@ + + + \ No newline at end of file diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/VisitReview.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/VisitReview.vue new file mode 100644 index 00000000..f9908be8 --- /dev/null +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/VisitReview.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js b/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js new file mode 100644 index 00000000..9427deb2 --- /dev/null +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js @@ -0,0 +1,193 @@ +const config = { + "standards": [ + { + "type": 1, + "name": "RECIST 1.1", + "tools": [ + { + "name": "直径测量工具", + "icon": "length", + "toolName": "Length", + "i18nKey": "trials:reading:button:length" + }, + { + "name": "长短径测量工具", + "icon": "bidirection", + "toolName": "Bidirectional", + "i18nKey": "trials:reading:button:bidirectional" + }, + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 2, + "name": "Lugano 2014", + "tools": [ + { + "name": "直径测量工具", + "icon": "length", + "toolName": "Length", + "i18nKey": "trials:reading:button:length" + }, + { + "name": "长短径测量工具", + "icon": "bidirection", + "toolName": "Bidirectional", + "i18nKey": "trials:reading:button:bidirectional" + }, + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 3, + "name": "iRECIST", + "tools": [ + { + "name": "直径测量工具", + "icon": "length", + "toolName": "Length", + "i18nKey": "trials:reading:button:length" + }, + { + "name": "长短径测量工具", + "icon": "bidirection", + "toolName": "Bidirectional", + "i18nKey": "trials:reading:button:bidirectional" + }, + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 7, + "name": "mRECIST HCC", + "tools": [ + { + "name": "直径测量工具", + "icon": "length", + "toolName": "Length", + "i18nKey": "trials:reading:button:length" + }, + { + "name": "长短径测量工具", + "icon": "bidirection", + "toolName": "Bidirectional", + "i18nKey": "trials:reading:button:bidirectional" + }, + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 10, + "name": "PCWG3", + "tools": [ + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 17, + "name": "PCWG3", + "tools": [ + { + "name": "直径测量工具", + "icon": "length", + "toolName": "Length", + "i18nKey": "trials:reading:button:length" + }, + { + "name": "矩形工具", + "icon": "rectangle", + "toolName": "RectangleRoi", + "i18nKey": "trials:reading:button:rectangle" + }, + { + "name": "箭头工具", + "icon": "arrow", + "toolName": "ArrowAnnotate", + "i18nKey": "trials:reading:button:arrowAnnotate" + } + ] + }, + { + "type": 19, + "name": "IVUS定量评估", + "tools": [] + }, + { + "type": 20, + "name": "OCT定量评估", + "tools": [] + }, + { + "type": 21, + "name": "MRI-PDFF", + "tools": [ + { + "name": "圆形测量", + "icon": "oval", + "toolName": "Probe", + "i18nKey": "trials:reading:button:circle" + } + ] + } + ] +} +const getTools = (criterionType) => { + const standard = config.standards.find(s => s.type === criterionType); + return standard?.tools || []; +}; +export {config, getTools} diff --git a/src/views/trials/trials-panel/reading/dicoms3D/index.vue b/src/views/trials/trials-panel/reading/dicoms3D/index.vue new file mode 100644 index 00000000..cc0b6467 --- /dev/null +++ b/src/views/trials/trials-panel/reading/dicoms3D/index.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/src/views/trials/trials-panel/reading/visit-review/components/ReadPage.vue b/src/views/trials/trials-panel/reading/visit-review/components/ReadPage.vue index 65093dbd..d65167fb 100644 --- a/src/views/trials/trials-panel/reading/visit-review/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/visit-review/components/ReadPage.vue @@ -295,8 +295,8 @@ export default { async toggleTaskByViewer(visitTaskNum) { const i = this.visitTaskList.findIndex(v => v.VisitTaskNum === visitTaskNum) if (i === -1) return - const visistTaskId = this.visitTaskList[i].VisitTaskId - this.setActiveTaskVisitId(visistTaskId, true) + const visitTaskId = this.visitTaskList[i].VisitTaskId + this.setActiveTaskVisitId(visitTaskId, true) }, // 设置激活的访视 async setActiveTaskVisitId(id, isInitActiveFile = false) {