From 04aefe83475ce7c1cb2337205d06f6ddc880f034 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Thu, 25 Jan 2024 10:55:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E6=97=B6=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request-pool.js | 3 ++- .../trials-panel/reading/dicoms/components/StudyList.vue | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/request-pool.js b/src/utils/request-pool.js index fbeadbad..58febd06 100644 --- a/src/utils/request-pool.js +++ b/src/utils/request-pool.js @@ -14,7 +14,7 @@ async function executeTask() { // stopTaskTimer() if (taskPool.length > 0) { let startSortTime = performance.now() - sortTaskPool() + // sortTaskPool() let endSortTime = performance.now() var requestNum = Math.min(taskPool.length, maxRequest) const tasks = taskPool.splice(0, requestNum); @@ -140,6 +140,7 @@ function buildImageRequestTask(imageId,seriesId, config = {}) { export default { addTaskIntoPool, executeTask, + sortTaskPool, startTaskTimer, stopTaskTimer, loadAndCacheImagePlus, diff --git a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue index 8c8bff7b..f71a2aaa 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue @@ -646,12 +646,15 @@ export default { loopLoad() { if (this.imageList.length > 0) { + requestPoolManager.startTaskTimer() this.imageList.map(image => { requestPoolManager.loadAndCacheImagePlus(image.imageId, image.seriesId, image.priority).then(res => { this.imageLoaded({ visitTaskId: this.visitTaskId, imageId: image.imageId }, res.data.string('x0020000e')) }) }) + requestPoolManager.sortTaskPool() + this.imageList = [] } }, From 221bf9c52ff657c8b18fb60ee769464b3755e794 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Thu, 25 Jan 2024 11:05:51 +0800 Subject: [PATCH 2/2] 1 --- src/utils/request-pool.js | 12 +++++++++--- .../trials/trials-panel/reading/dicoms/index.vue | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/utils/request-pool.js b/src/utils/request-pool.js index 58febd06..0807f01b 100644 --- a/src/utils/request-pool.js +++ b/src/utils/request-pool.js @@ -4,6 +4,7 @@ let numRequest = 0 // 正在执行数量 const maxRequest = 6 // 可配置 let taskTimer // 轮询的定时器 var cachedTask = {} // 存放的任务数据 +let sortType = 1 var i= 0 let startExecuteTask = null let endExecuteTask = performance.now() @@ -14,7 +15,9 @@ async function executeTask() { // stopTaskTimer() if (taskPool.length > 0) { let startSortTime = performance.now() - // sortTaskPool() + if( sortType ){ + sortTaskPool() + } let endSortTime = performance.now() var requestNum = Math.min(taskPool.length, maxRequest) const tasks = taskPool.splice(0, requestNum); @@ -116,14 +119,16 @@ function removeTask(seriesId){ } startTaskTimer() } +function setSortType(type){ + sortType = type +} function resetRequestPool(){ taskPool = [] - pendingList =[] cachedTask = {} + sortType = 1 } function resetCachedTask(){ taskPool = [] - pendingList =[] cachedTask = {} } function buildImageRequestTask(imageId,seriesId, config = {}) { @@ -140,6 +145,7 @@ function buildImageRequestTask(imageId,seriesId, config = {}) { export default { addTaskIntoPool, executeTask, + setSortType, sortTaskPool, startTaskTimer, stopTaskTimer, diff --git a/src/views/trials/trials-panel/reading/dicoms/index.vue b/src/views/trials/trials-panel/reading/dicoms/index.vue index c66c3951..6d97b47d 100644 --- a/src/views/trials/trials-panel/reading/dicoms/index.vue +++ b/src/views/trials/trials-panel/reading/dicoms/index.vue @@ -179,6 +179,7 @@ import DicomEvent from './components/DicomEvent' import store from '@/store' import { getToken } from '@/utils/auth' import { changeURLStatic } from '@/utils/history.js' +import requestPoolManager from '@/utils/request-pool' export default { name: 'Reading', components: { @@ -228,6 +229,8 @@ export default { } }, mounted() { + requestPoolManager.resetRequestPool() + requestPoolManager.setSortType(0) DicomEvent.$on('questionFormChange', (v) => { if (this.questionFormChangeNum !== 0) { this.questionFormChangeState = v