diff --git a/src/views/trials/trials-panel/reading/visit-review/components/ImageViewer.vue b/src/views/trials/trials-panel/reading/visit-review/components/ImageViewer.vue
index 1d41a282..d4a78d51 100644
--- a/src/views/trials/trials-panel/reading/visit-review/components/ImageViewer.vue
+++ b/src/views/trials/trials-panel/reading/visit-review/components/ImageViewer.vue
@@ -229,7 +229,7 @@ export default {
mounted() {
this.taskInfo = JSON.parse(localStorage.getItem('taskInfo'))
this.readingTaskState = this.taskInfo.ReadingTaskState
- if (this.taskInfo.VisitNum > 0) {
+ if (this.taskInfo.VisitNum > 0 && this.taskInfo.IsReadingTaskViewInOrder !== 0) {
this.rows = 1
this.cols = 2
this.activeCanvasIndex = 1
diff --git a/src/views/trials/trials-panel/reading/visit-review/components/PDFViewer.vue b/src/views/trials/trials-panel/reading/visit-review/components/PDFViewer.vue
new file mode 100644
index 00000000..28b645c7
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/visit-review/components/PDFViewer.vue
@@ -0,0 +1,331 @@
+
+
+
+
+
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 f22011d0..533212ad 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
@@ -41,6 +41,13 @@
@toggleTask="toggleTask"
@toggleImage="toggleImage"
/>
+
@@ -74,6 +81,7 @@
import { getRelatedVisitTask, getReadingImageFile, getNoneDicomMarkListOutDto } from '@/api/trials'
import StudyList from './StudyList'
import ImageViewer from './ImageViewer'
+import PdfViewer from './PDFViewer'
import EcrfList from './EcrfList'
import { mapGetters } from 'vuex'
export default {
@@ -81,6 +89,7 @@ export default {
components: {
StudyList,
ImageViewer,
+ PdfViewer,
EcrfList
},
data() {
@@ -145,7 +154,7 @@ export default {
this.$refs[res.Result[idx].VisitTaskId][0].setInitActiveFile()
})
}
- if (this.taskInfo.IsReadingTaskViewInOrder === 1 && res.Result.length > 1) {
+ if (this.taskInfo.IsReadingTaskViewInOrder !== 0 && res.Result.length > 1) {
const i = this.visitTaskList.findIndex(i => i.IsBaseLineTask)
if (i > -1) {
await this.getReadingImageFile(res.Result[i].VisitTaskId, i)
@@ -178,6 +187,71 @@ 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) {
diff --git a/src/views/trials/trials-panel/reading/visit-review/components/StudyList.vue b/src/views/trials/trials-panel/reading/visit-review/components/StudyList.vue
index 6fb687e2..82b4a060 100644
--- a/src/views/trials/trials-panel/reading/visit-review/components/StudyList.vue
+++ b/src/views/trials/trials-panel/reading/visit-review/components/StudyList.vue
@@ -33,20 +33,29 @@
关键文件
-
+
- {{ k.FileName }}
+
+
+
+
+ {{ k.FileName }}
+
+
@@ -80,14 +89,18 @@ export default {
this.taskInfo = JSON.parse(localStorage.getItem('taskInfo'))
this.studyList = this.visitTaskInfo.StudyList
if (this.studyList.length === 0) return
- this.activeNames.push(this.studyList[0].Id)
+ this.$nextTick(() => {
+ this.activeNames.push(this.studyList[0].Id)
+ })
},
methods: {
// 设置初始化激活文件
setInitActiveFile() {
if (this.studyList.length === 0) return
- this.activeNames.push(this.studyList[0].Id)
- this.selectFile(this.studyList[0], 0, 0)
+ this.$nextTick(() => {
+ this.activeNames.push(this.studyList[0].Id)
+ this.selectFile(this.studyList[0], 0, 0)
+ })
},
// 切换文件
selectFile(study, studyIndex, fileIndex) {
@@ -139,7 +152,7 @@ export default {
touch-action: auto;
overflow-y: auto;
}
- .series-active {
+ .file-active {
background-color: #607d8b!important;
border: 1px solid #607d8b!important;
}
@@ -147,26 +160,41 @@ export default {
color: #ccc;
font-size: 12px;
}
- .series{
+ .file-list-container{
width: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
- .series-wrapper {
+ .file-wrapper {
width: 100%;
padding: 5px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
cursor: pointer;
background-color: #3a3a3a;
- color: #ddd;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+ // color: #ddd;
+ // white-space: nowrap;
+ // overflow: hidden;
+ // text-overflow: ellipsis;
.el-progress__text{
display: none;
}
.el-progress-bar{
padding-right:0px;
}
+ .file-image {
+ width: 50px;
+ height: 50px;
+ }
+ .file-text {
+ flex: 1;
+ padding-left: 5px;
+ color: #ddd;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
}
}
diff --git a/static/pdfjs/web/viewer.js b/static/pdfjs/web/viewer.js
index d87d8b4f..57914ec7 100644
--- a/static/pdfjs/web/viewer.js
+++ b/static/pdfjs/web/viewer.js
@@ -2759,6 +2759,8 @@ function webViewerTouchStart(evt) {
}
function webViewerClick(evt) {
+ console.log('webViewerClick')
+ window.parent.postMessage({ type: 'pdf-clicked', data: {baseUrl: PDFViewerApplication.baseUrl}})
if (!PDFViewerApplication.secondaryToolbar.isOpen) {
return;
}