From fe8398df9dbf257415f7e7f8c1b05f880823f4da Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Tue, 16 Sep 2025 14:41:07 +0800
Subject: [PATCH] =?UTF-8?q?IVUS=E5=92=8COCT=E9=98=85=E7=89=87=E5=89=8D?=
=?UTF-8?q?=E5=87=86=E5=A4=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/getters.js | 1 +
src/store/modules/reading.js | 33 +-
.../reading/dicoms/components/DicomCanvas.vue | 17 +-
.../trials-panel/reading/dicoms/index.vue | 307 +++++++++---------
.../components/uploadDicomFiles2.vue | 20 +-
.../components/uploadNonDicomFiles.vue | 19 +-
.../qc-check/components/qualityAssurance.vue | 33 +-
7 files changed, 253 insertions(+), 177 deletions(-)
diff --git a/src/store/getters.js b/src/store/getters.js
index 70d1a6bd..7ce48030 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -34,6 +34,7 @@ const getters = {
paymentHistoryQuery: state => state.financials.paymentHistoryQuery,
revenusQuery: state => state.financials.revenusQuery,
visitTaskList: state => state.reading.visitTaskList,
+ BodyPart: state => state.reading.BodyPart,
organList: state => state.reading.organList,
seriesStack: state => state.reading.seriesStack,
activeHangingAgreement: state => state.reading.activeHangingAgreement,
diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js
index c4d547d4..b7a4d19c 100644
--- a/src/store/modules/reading.js
+++ b/src/store/modules/reading.js
@@ -32,7 +32,8 @@ const getDefaultState = () => {
lastCanvasTaskId: '',
imageQuality: null,
imageQualityIssues: null,
- currentLoadIns: []
+ currentLoadIns: [],
+ BodyPart: []
}
}
function getQuestions(questions) {
@@ -171,6 +172,28 @@ function getQuestionAnswer(questions, questionMark, answers) {
return ''
}
}
+async function getBodyPart(bodyPart, other) {
+ if (!bodyPart && !other) return ''
+ var separator = ','
+ if (bodyPart.indexOf('|') > -1) {
+ separator = '|'
+ } else if (bodyPart.indexOf(',') > -1) {
+ separator = ','
+ } else if (bodyPart.indexOf(',') > -1) {
+ separator = ','
+ }
+ let BodyPart = {}
+ BodyPart.Bodypart = await Vue.prototype.$getBodyPart(Vue.prototype.$route.query.trialId)
+ var arr = bodyPart.split(separator)
+ var newArr = arr.map((i) => {
+ return Vue.prototype.$fd('Bodypart', i.trim(), 'Code', BodyPart, 'Name')
+ })
+ if (other) {
+ newArr.push(other)
+ }
+ newArr = newArr.filter(Boolean)
+ return newArr
+}
// function getKeySeriesInfo(keyInstance, series) {
// const obj = {}
// const set = new Set()
@@ -850,6 +873,14 @@ const actions = {
var studyList = []
var keyImages = []
getReadingVisitStudyList(obj.trialId, obj.subjectVisitId, obj.visitTaskId).then(res => {
+ try {
+ res.Result.forEach(async item => {
+ let arr = await getBodyPart(item.BodyPartForEdit, item.BodyPartForEditOther)
+ state.BodyPart[item.StudyId] = arr
+ })
+ } catch (err) {
+ console.log(err)
+ }
const i = res.Result.findIndex(i => i.IsCriticalSequence)
if (i > -1) {
const seriesList = res.Result[i].SeriesList && res.Result[i].SeriesList
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
index 6c60ead0..d61d5aa9 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
@@ -7,7 +7,12 @@