From 6ed8c9fac94403080953a99650ce994c287760a6 Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 11 Apr 2024 15:48:59 +0800
Subject: [PATCH 01/22] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E8=AE=BF=E8=A7=86=E8=80=85=E7=BA=A7=E5=88=AB=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/trials/trials-panel/visit/crc-upload/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/index.vue b/src/views/trials/trials-panel/visit/crc-upload/index.vue
index 9e60f3bc..37dd9ff8 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/index.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/index.vue
@@ -491,7 +491,7 @@
@@ -499,7 +499,7 @@
From 4c350071eb2b1aa6ce6cc4648c6185579db6c90e Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 11 Apr 2024 15:50:33 +0800
Subject: [PATCH 02/22] =?UTF-8?q?Revert=20"=E4=B8=B4=E5=BA=8A=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E8=AE=BF=E8=A7=86=E8=80=85=E7=BA=A7=E5=88=AB=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit 6ed8c9fac94403080953a99650ce994c287760a6.
---
src/views/trials/trials-panel/visit/crc-upload/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/index.vue b/src/views/trials/trials-panel/visit/crc-upload/index.vue
index 37dd9ff8..9e60f3bc 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/index.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/index.vue
@@ -491,7 +491,7 @@
@@ -499,7 +499,7 @@
From 3f85e1bb4b76c584a9e42f2c375fdb321ef4a944 Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 11 Apr 2024 16:02:59 +0800
Subject: [PATCH 03/22] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E8=AE=BF=E8=A7=86=E8=80=85=E7=BA=A7=E5=88=AB=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/trials/trials-panel/visit/crc-upload/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/index.vue b/src/views/trials/trials-panel/visit/crc-upload/index.vue
index 9e60f3bc..56b7c486 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/index.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/index.vue
@@ -491,7 +491,7 @@
@@ -499,7 +499,7 @@
From 43f398df19b5e5306e2874c1b110c692f43c1564 Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 11 Apr 2024 18:06:18 +0800
Subject: [PATCH 04/22] =?UTF-8?q?=E5=90=88=E5=B9=B6=E6=94=B9=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/DicomCanvas.vue | 6 +-
.../customize/CustomizeQuestionFormItem.vue | 15 ++-
.../CustomizeQuestionTableFormItem.vue | 114 +++++++++++++++++-
.../reading-unit/components/QuestionsForm.vue | 13 +-
.../reading-unit/components/TableQsForm.vue | 64 +++++++---
5 files changed, 185 insertions(+), 27 deletions(-)
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 298bef3d..8e1a48f3 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
@@ -14,7 +14,7 @@
-
+
@@ -222,7 +222,8 @@ export default {
visitTaskId: '',
taskBlindName: '',
frame: null,
- imageRendered: false
+ imageRendered: false,
+ isExistsClinicalData:false
// preventCache: true
},
dicomInfo: {
@@ -1058,6 +1059,7 @@ export default {
this.stack.seriesIndex = dicomSeries.seriesIndex
this.stack.sliceThickness = dicomSeries.sliceThickness
this.stack.instanceCount = dicomSeries.instanceCount
+ this.stack.isExistsClinicalData = dicomSeries.isExistsClinicalData
// this.measuredData = dicomSeries.measuredData
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === dicomSeries.visitTaskId)
this.stack.visitTaskNum = this.visitTaskList[idx].VisitTaskNum
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
index 2cf652e5..e1c7c3fb 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
@@ -18,6 +18,11 @@
+
+
+ {{question.OrderMark}}{{scope.$index + 1}}
+
+
{
@@ -511,10 +517,9 @@ export default {
},
getQuestionCalculateRelation() {
getQuestionCalculateRelation({
- TrialReadingCriterionId: this.criterionId,
ReadingQuestionId: this.question.Id
}).then(res => {
- this.CalculationList = res.Result
+ this.CalculationTabelList = res.Result
})
},
save() {
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionTableFormItem.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionTableFormItem.vue
index 7d1bbbb0..91316b09 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionTableFormItem.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionTableFormItem.vue
@@ -211,6 +211,12 @@ export default {
type: String,
required: true
},
+ CalculationList: {
+ type: Array,
+ default() {
+ return []
+ }
+ },
readingTaskState: {
type: Number,
required: true
@@ -248,14 +254,27 @@ export default {
digitPlaces: 0
}
},
+ // watch: {
+ // questionForm: {
+ // deep: true,
+ // immediate: true,
+ // handler(v) {
+ //
+ // }
+ // }
+ // },
watch: {
questionForm: {
deep: true,
immediate: true,
- handler(v) {
-
+ handler(v, oldv) {
+ try {
+ if (!v[this.question.Id] || !oldv[this.question.Id]) return
+ } catch (e) {
+ }
+ this.formItemNumberChange(this.question.Id, false)
}
- }
+ },
},
mounted() {
this.digitPlaces = localStorage.getItem('digitPlaces') ? parseInt(localStorage.getItem('digitPlaces')) : 0
@@ -323,8 +342,95 @@ export default {
} else {
}
},
+ logic(rules, num = 0) {
+ try {
+ if (rules.CalculateQuestionList.length === 0) {
+ return false
+ }
+ var count = 0
+ var maxList = [], minList = []
+ rules.CalculateQuestionList.forEach((o, i) => {
+ if (rules.CustomCalculateMark > 4) {
+ if (i !== 0) {
+ switch (rules.CustomCalculateMark) {
+ case 7:
+ count += parseFloat(this.questionForm[o.TableQuestionId])
+ if (i === rules.CalculateQuestionList.length - 1) {
+ num = count / rules.CalculateQuestionList.length
+ }
+ break;
+ case 8:
+ maxList.push(this.questionForm[o.TableQuestionId])
+ if (i === rules.CalculateQuestionList.length - 1) {
+ num = Math.max(...maxList)
+ }
+ break;
+ case 9:
+ minList.push(this.questionForm[o.TableQuestionId])
+ if (i === rules.CalculateQuestionList.length - 1) {
+ num = Math.min(...minList)
+ }
+ break;
+ }
+ } else {
+ maxList.push(this.questionForm[o.TableQuestionId])
+ minList.push(this.questionForm[o.TableQuestionId])
+ count = parseFloat(this.questionForm[o.TableQuestionId])
+ num = parseFloat(this.questionForm[o.TableQuestionId])
+ }
+ } else {
+ if (i !== 0) {
+ switch (rules.CustomCalculateMark) {
+ case 1:
+ num += parseFloat(this.questionForm[o.TableQuestionId])
+ break;
+ case 2:
+ num -= parseFloat(this.questionForm[o.TableQuestionId])
+ break;
+ case 3:
+ num *= parseFloat(this.questionForm[o.TableQuestionId])
+ break;
+ case 4:
+ if (parseFloat(this.questionForm[o.TableQuestionId]) === 0) {
+ num = 0
+ } else {
+ num /= parseFloat(this.questionForm[o.TableQuestionId])
+ }
+ break;
+ }
+ } else {
+ num = parseFloat(this.questionForm[o.TableQuestionId])
+ }
+ }
+ })
+ } catch (e) {
+ console.log(e)
+ }
+ var digitPlaces = parseInt(localStorage.getItem('digitPlaces'))
+ if (rules.ValueType === 2) {
+ num = num * 100
+ }
+ return num.toFixed(digitPlaces)
+ },
formItemNumberChange(v, question) {
- this.$emit('formItemTableNumberChange', v, question)
+ console.log(this.CalculationList)
+ this.CalculationList.forEach((v, i) => {
+ console.log('v', v)
+ var find = v.CalculateQuestionList.filter(o => {
+ return o.QuestionId === question.Id
+ })
+ console.log('find', find)
+ // find的自动计算值number
+ if (find) {
+ var num = this.logic(v)
+ console.log(num)
+ if (num !== false) {
+ this.$set(this.questionForm, v.QuestionId, num)
+ // this.$emit('setFormItemData', { key: v.QuestionId, val: num })
+ }
+ }
+ })
+ // this.$emit('formItemTableNumberChange', v, question)
},
resetChild(obj) {
obj.forEach(i => {
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue b/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue
index a6fd45bf..977bf2f0 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue
@@ -447,8 +447,8 @@
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
CustomCalculateMarkChange(v)"
>
-
- {{ item.label }}
-
+
+
+ {{ item.label }}
+
+
+
+
+ {{ item.label }}
+
+
-
+
-
-
-
{
return item.QuestionId === this.form.ParentId
From 5a2b1ca4576a5bc06eb6cc48ccdb93c1216dc054 Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 11 Apr 2024 18:40:32 +0800
Subject: [PATCH 05/22] v1.3.2
---
package.json | 2 +-
vue.config.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 7d59d226..38212714 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "EICS",
- "version": "1.0.0",
+ "version": "1.3.2",
"scripts": {
"dev": "vue-cli-service serve --open",
"build": "vue-cli-service build",
diff --git a/vue.config.js b/vue.config.js
index 522793bd..2c8ec49a 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -63,7 +63,7 @@ module.exports = {
// target: 'http://123.56.181.144:8000/api', // 国内测试环境
// target: 'http://123.56.94.154:8079', // 国内测试环境2
// target: 'http://123.56.94.154:7000', // 国内测试环境2
- target: 'http://123.56.94.154:30668',
+ target: 'http://123.56.94.154:30000',
// target: 'http://123.56.181.144:7000',
changeOrigin: true,
secure: false,
From a98c44ee661445e84cc2c25a24cbb1ff58debeab Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Fri, 12 Apr 2024 08:55:44 +0800
Subject: [PATCH 06/22] v1.3.2
---
src/views/login/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 1e13f20c..a885db87 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -124,7 +124,7 @@
IRC Imaging System
- V1.3.1.001
+ V1.3.2.001
Copyright © {{ new Date().getFullYear() }} 上海展影医疗科技有限公司 版权所有
From aedd35a729c32a9611267a35a8becbf72f6ab377 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Sat, 13 Apr 2024 14:26:22 +0800
Subject: [PATCH 07/22] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=98=85?=
=?UTF-8?q?=E7=89=87=E8=87=AA=E5=8A=A8=E5=AF=B9=E9=BD=90bug=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
vue.config.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/vue.config.js b/vue.config.js
index 2c8ec49a..49df6a2c 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -63,7 +63,8 @@ module.exports = {
// target: 'http://123.56.181.144:8000/api', // 国内测试环境
// target: 'http://123.56.94.154:8079', // 国内测试环境2
// target: 'http://123.56.94.154:7000', // 国内测试环境2
- target: 'http://123.56.94.154:30000',
+ // target: 'http://123.56.94.154:30000',
+ target: 'http://47.117.164.182:7060/',
// target: 'http://123.56.181.144:7000',
changeOrigin: true,
secure: false,
From e132f84c48c1a860575d8deccb8a7112b3ae88ae Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Sat, 13 Apr 2024 14:30:15 +0800
Subject: [PATCH 08/22] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=98=85?=
=?UTF-8?q?=E7=89=87=E8=87=AA=E5=8A=A8=E5=AF=B9=E9=BD=90bug=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/StudyList.vue | 2 +-
.../dicoms/customize/CustomizeDicomCanvas.vue | 27 +++++++++++++++++--
.../dicoms/customize/CustomizeStudyList.vue | 2 +-
.../trials-panel/visit/crc-upload/index.vue | 4 +--
vue.config.js | 4 +--
5 files changed, 31 insertions(+), 8 deletions(-)
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 102d20ef..9cbb86c8 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue
@@ -482,7 +482,7 @@ export default {
idx > -1 ? seriesInfo = seriesList[idx] : seriesInfo = seriesList[0]
}
if (seriesInfo) {
- const index = Math.floor(seriesInfo.imageIds.length * ((baseObj.series.imageIdIndex + 1) / baseObj.series.instanceCount))
+ const index = Math.floor(seriesInfo.imageIds.length * ((baseObj.series.imageIdIndex + 1) / baseObj.series.imageIds.length))
seriesInfo.imageIdIndex = index > 0 ? index - 1 : 0
obj.studyIndex = seriesInfo.studyIndex
obj.seriesIndex = seriesInfo.seriesIndex
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
index 6b08c699..3aec7318 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
@@ -11,6 +11,13 @@
@mouseup="sliderMouseup"
@contextmenu.prevent="onContextmenu"
>
+
+
+
+
+
+
+
i.VisitTaskId === dicomSeries.visitTaskId)
this.stack.visitTaskNum = this.visitTaskList[idx].VisitTaskNum
@@ -1920,6 +1929,12 @@ export default {
e.stopImmediatePropagation()
e.stopPropagation()
e.preventDefault()
+ },
+ handleViewCD(e) {
+ DicomEvent.$emit('previewCD', this.stack.visitTaskId)
+ e.stopImmediatePropagation()
+ e.stopPropagation()
+ e.preventDefault()
}
}
@@ -2008,7 +2023,15 @@ export default {
font-size: 14px;
}
}
-
+.info-cd{
+ position: absolute;
+ left: 10px;
+ top: 5px;
+ text-align: left;
+ color: #ddd;
+ font-size: 18px;
+ cursor: pointer;
+}
.info-series {
position: absolute;
left: 10px;
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue
index 6f199749..c287008d 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue
@@ -476,7 +476,7 @@ export default {
idx > -1 ? seriesInfo = seriesList[idx] : seriesInfo = seriesList[0]
}
if (seriesInfo) {
- const index = Math.floor(seriesInfo.imageIds.length * ((baseObj.series.imageIdIndex + 1) / baseObj.series.instanceCount))
+ const index = Math.floor(seriesInfo.imageIds.length * ((baseObj.series.imageIdIndex + 1) / baseObj.series.imageIds.length))
seriesInfo.imageIdIndex = index > 0 ? index - 1 : 0
obj.studyIndex = seriesInfo.studyIndex
obj.seriesIndex = seriesInfo.seriesIndex
diff --git a/src/views/trials/trials-panel/visit/crc-upload/index.vue b/src/views/trials/trials-panel/visit/crc-upload/index.vue
index 56b7c486..02ec9f3a 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/index.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/index.vue
@@ -572,10 +572,10 @@
-
+
{{ $t('trials:crcUpload:label:clinicalData') }}
-
+
diff --git a/vue.config.js b/vue.config.js
index 49df6a2c..1b3e1af1 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -63,8 +63,8 @@ module.exports = {
// target: 'http://123.56.181.144:8000/api', // 国内测试环境
// target: 'http://123.56.94.154:8079', // 国内测试环境2
// target: 'http://123.56.94.154:7000', // 国内测试环境2
- // target: 'http://123.56.94.154:30000',
- target: 'http://47.117.164.182:7060/',
+ target: 'http://123.56.94.154:30000',
+ // target: 'http://47.117.164.182:7060/',
// target: 'http://123.56.181.144:7000',
changeOrigin: true,
secure: false,
From 1888ec4fe5849909d2748fe9f4f8d4b843337ff0 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Sat, 13 Apr 2024 14:41:25 +0800
Subject: [PATCH 09/22] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=87=E6=B3=A8?=
=?UTF-8?q?=EF=BC=9A=E5=9F=BA=E7=BA=BF=E6=98=BE=E7=A4=BA=E5=8F=97=E8=AF=95?=
=?UTF-8?q?=E8=80=85=E7=BA=A7=E5=88=AB=E5=92=8C=E6=96=B9=E5=BC=8F=E7=BA=A7?=
=?UTF-8?q?=E5=88=AB=E7=9A=84=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/trials/trials-panel/visit/crc-upload/index.vue | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/index.vue b/src/views/trials/trials-panel/visit/crc-upload/index.vue
index 02ec9f3a..135ce42e 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/index.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/index.vue
@@ -572,6 +572,7 @@
+
{{ $t('trials:crcUpload:label:clinicalData') }}
From 11627f109dc8eff2630d2600307c6e3ed70f86e8 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 29 May 2024 15:30:21 +0800
Subject: [PATCH 10/22] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E9=98=85=E7=89=87?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=BC=93=E5=AD=98=E5=BD=B1=E5=83=8F=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/reading.js | 64 ++++++++++++++++++------------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js
index c6491f63..883020ad 100644
--- a/src/store/modules/reading.js
+++ b/src/store/modules/reading.js
@@ -20,8 +20,8 @@ const hangingAgreement = [
]
const getDefaultState = () => {
return {
- // visitTaskList: [],
- visitTaskList: sessionStorage.getItem('visitTaskList') ? JSON.parse(sessionStorage.getItem('visitTaskList')) : [],
+ visitTaskList: [],
+ // visitTaskList: sessionStorage.getItem('visitTaskList') ? JSON.parse(sessionStorage.getItem('visitTaskList')) : [],
organList: [],
seriesStack: [],
activeHangingAgreement: hangingAgreement[0],
@@ -165,7 +165,7 @@ const actions = {
item.IsInit = false
})
state.visitTaskList = res.Result
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
const currentTaskIdx = res.Result.findIndex(item => item.IsCurrentTask)
if (currentTaskIdx > -1) {
state.currentTaskId = res.Result[currentTaskIdx].VisitTaskId
@@ -177,7 +177,7 @@ const actions = {
},
resetVisitTasks({ state }) {
return new Promise(resolve => {
- sessionStorage.setItem('visitTaskList', '')
+ // sessionStorage.setItem('visitTaskList', '')
state.visitTaskList = []
state.currentTaskId = ''
state.activeSeries = {}
@@ -285,7 +285,7 @@ const actions = {
}
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
})
@@ -301,7 +301,7 @@ const actions = {
})
})
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -320,7 +320,7 @@ const actions = {
state.visitTaskList[index].Questions = res.Result
state.visitTaskList[index].questionsInit = true
state.visitTaskList[index].QuestionMarkInfoList = res.OtherInfo.QuestionMarkInfoList
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
}
@@ -338,7 +338,7 @@ const actions = {
state.visitTaskList[index].Questions = res.Result
state.visitTaskList[index].questionsInit = true
state.visitTaskList[index].QuestionMarkInfoList = res.OtherInfo.QuestionMarkInfoList
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
})
@@ -357,7 +357,7 @@ const actions = {
var list = getQuestions(res.Result.SinglePage)
state.visitTaskList[index].ReadingQuestions = list
state.visitTaskList[index].readingQuestionsInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
}
@@ -374,7 +374,7 @@ const actions = {
var list = getQuestions(res.Result.SinglePage)
state.visitTaskList[index].ReadingQuestions = list
state.visitTaskList[index].readingQuestionsInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
})
@@ -385,7 +385,7 @@ const actions = {
if (index > -1) {
state.visitTaskList[index].ReadingQuestions = obj.questions
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -397,7 +397,7 @@ const actions = {
questions = findQuestionAndAddLesion(questions, obj)
state.visitTaskList[index].ReadingQuestions = questions
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -409,7 +409,7 @@ const actions = {
questions = findQuestionAndUpdateLesion(questions, obj)
state.visitTaskList[index].ReadingQuestions = questions
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -421,7 +421,7 @@ const actions = {
questions = findQuestionAndRemoveLesion(questions, obj)
state.visitTaskList[index].ReadingQuestions = questions
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -442,7 +442,7 @@ const actions = {
})
state.visitTaskList[index].MeasureData = arr
state.visitTaskList[index].measureDataInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
}
@@ -469,7 +469,7 @@ const actions = {
})
state.visitTaskList[index].MeasureData = arr
state.visitTaskList[index].measureDataInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
}
@@ -509,7 +509,7 @@ const actions = {
await deleteCustomTag(obj.questionInfo.Id)
state.visitTaskList[index].MeasureData = measureData
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -527,7 +527,7 @@ const actions = {
})
state.visitTaskList[index].MeasureData = arr
state.visitTaskList[index].measureDataInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
})
@@ -546,7 +546,7 @@ const actions = {
})
state.visitTaskList[index].MeasureData = arr
state.visitTaskList[index].measureDataInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
})
@@ -578,7 +578,7 @@ const actions = {
state.visitTaskList[index].MeasureData.push(obj.data)
console.log('新增标记成功')
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
console.log(state.visitTaskList)
resolve()
})
@@ -600,7 +600,7 @@ const actions = {
state.visitTaskList[index].MeasureData.push(obj.data)
console.log('新增标记成功')
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -620,7 +620,7 @@ const actions = {
}
state.visitTaskList[index].MeasureData = measureData
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -639,7 +639,7 @@ const actions = {
Id: obj.Id
})
console.log('新增标记成功')
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}
var idx = measureData.findIndex(item => item.Id === obj.questionInfo.Id)
@@ -655,7 +655,7 @@ const actions = {
state.visitTaskList[index].MeasureData.push(obj.MeasureData.data)
console.log('新增标记成功')
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -700,7 +700,7 @@ const actions = {
// state.visitTaskList[index].MeasureData = measureData
// }
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -713,7 +713,7 @@ const actions = {
measureData[idx].MeasureData.data.status = obj.status
state.visitTaskList[index].MeasureData = measureData
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -788,7 +788,7 @@ const actions = {
})
state.visitTaskList[index].StudyList = studyList
state.visitTaskList[index].studyListInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
}).catch(() => { resolve() })
}
@@ -821,7 +821,7 @@ const actions = {
}
}
state.visitTaskList[index].StudyList = studyList
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
} else {
// console.log(obj)
}
@@ -841,7 +841,7 @@ const actions = {
studyList[obj.studyIndex].SeriesList[obj.seriesIndex].loadStatus = true
}
state.visitTaskList[obj.visitTaskindex].StudyList = studyList
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
}
resolve()
})
@@ -849,7 +849,7 @@ const actions = {
setStatus({ state }, obj) {
var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
state.visitTaskList[index].IsInit = true
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
},
setActiveSeries({ state }, series) {
return new Promise(resolve => {
@@ -891,7 +891,7 @@ const actions = {
state.visitTaskList[index].QuestionMarkInfoList.push(obj.data)
console.log('新增标记成功')
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
},
@@ -907,7 +907,7 @@ const actions = {
}
state.visitTaskList[index].QuestionMarkInfoList = measureData
}
- sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
+ // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
resolve()
})
}
From d9fd181bae085cccabf49dbcdb0d4bca3a10ed6c Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Wed, 29 May 2024 17:34:30 +0800
Subject: [PATCH 11/22] =?UTF-8?q?=E7=BE=8E=E5=9B=BD=E7=8E=AF=E5=A2=83?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.usa | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.env.usa b/.env.usa
index b1d35930..0ea8fd57 100644
--- a/.env.usa
+++ b/.env.usa
@@ -2,7 +2,7 @@
ENV = 'production'
NODE_ENV = 'production'
# base public path
-VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-04-29/'
+VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-05-29/'
# 是否开启登陆限制 true:是 false:否
VUE_APP_LOGIN_FOR_PERMISSION = false
From 08c8d49ae1c6d4902cf624d3b0368ca941e732c6 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Fri, 31 May 2024 09:48:07 +0800
Subject: [PATCH 12/22] =?UTF-8?q?=E9=98=85=E7=89=87=E6=8A=A5=E5=91=8A?=
=?UTF-8?q?=E9=A1=B5=E5=9B=BD=E9=99=85=E5=8C=96=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/ReportPage.vue | 16 +++++++++++++++-
vue.config.js | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue
index 2e9560ba..1929c7db 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue
@@ -172,7 +172,8 @@
@change="evaluateReasonChange"
/>
-
{{ $t('trials:readingReport:message:msg6') }}{{ $fd('ImagingOverallAssessment_Lugano',tumorEvaluate) }}{{ $fd('OverallAssessment',tumorEvaluate) }}{{ $t('trials:readingReport:message:msg7') }}{{ $fd('ImagingOverallAssessment_Lugano',currentEvaluateResult) }}{{ $fd('OverallAssessment',currentEvaluateResult) }}{{ $t('trials:readingReport:message:msg8') }}
+
+
{{ $t('trials:readingReport:title:sysEvaluationRes') }}{{ $fd('ExistDisease',isExistDisease) }}{{ $t('trials:readingReport:message:msg1') }}
0) {
this.setChild(i.Childrens)
}
@@ -573,6 +579,7 @@ export default {
if (obj.key === this.pet5PSId) {
this.setPet5PSCommentDisplay()
this.setUptakeFormBaseline()
+ this.setfocalFDG()
}
},
setPet5PSCommentDisplay() {
@@ -604,11 +611,19 @@ export default {
} else if (this.questionForm[this.pet5PSId] < this.baseLinePET5PS) {
this.questionForm[this.uptakeFromBaselineId] = '2'
}
+ } else if (this.questionForm[this.pet5PSId] !== '-1' && this.questionForm[this.uptakeFromBaselineId] === '4') {
+ this.questionForm[this.uptakeFromBaselineId] = ''
} else if (this.questionForm[this.pet5PSId] === '' || this.questionForm[this.pet5PSId] === null) {
this.questionForm[this.uptakeFromBaselineId] = ''
}
}
},
+ setfocalFDG() {
+ console.log('setfocalFDG')
+ if (this.questionForm[this.pet5PSId] !== '-1' && this.questionForm[this.focalFDGId] === '1') {
+ this.questionForm[this.focalFDGId] = ''
+ }
+ },
setpet5PS() {
console.log('setpet5PS')
// 无需标记,自主选择 1分
From ab242991bdfc77445526a9b09b20195bb47d9e4a Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Fri, 31 May 2024 15:28:07 +0800
Subject: [PATCH 16/22] =?UTF-8?q?=E5=B1=82=E5=8E=9A=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E6=98=BE=E7=A4=BAbug=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dicom-show/dicom-study.vue | 5 +-
.../dicoms/components/Fusion/QuestionItem.vue | 48 +++++++++++++------
2 files changed, 37 insertions(+), 16 deletions(-)
diff --git a/src/views/dicom-show/dicom-study.vue b/src/views/dicom-show/dicom-study.vue
index 2aea62e2..b47c032b 100644
--- a/src/views/dicom-show/dicom-study.vue
+++ b/src/views/dicom-show/dicom-study.vue
@@ -264,7 +264,8 @@ export default {
getInstanceList(seriesId).then(res => {
if (!res.Result || (res.Result && res.Result.length === 0)) return
var seriesInstanceUid = res.Result[0].SeriesInstanceUid
- var sliceLocation = res.Result[0].SliceLocation
+ // var sliceLocation = res.Result[0].SliceLocation
+ var sliceThickness = res.Result[0].SliceThickness
var isReading = res.Result[0].IsReading
var isDeleted = res.Result[0].IsDeleted
var seriesList = []
@@ -286,7 +287,7 @@ export default {
seriesId: seriesId,
seriesUid: seriesInstanceUid,
seriesNumber: seriesNumber,
- sliceThickness: sliceLocation,
+ sliceThickness: sliceThickness,
modality: this.modality,
description: this.description,
isReading,
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue
index eee5f60a..15be4395 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue
@@ -73,13 +73,23 @@
clearable
@change="((val)=>{formItemChange(val, question)})"
>
-
+
+
+
+
+
+
@@ -89,13 +99,23 @@
clearable
@change="((val)=>{formItemChange(val, question)})"
>
-
+
+
+
+
+
+
From f9d81aa7263d915eeed7df6421cfeb34bd394b7f Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 1 Jul 2024 16:19:55 +0800
Subject: [PATCH 17/22] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=98=85?=
=?UTF-8?q?=E7=89=87=E5=AE=8C=E6=88=90=E5=90=8E=EF=BC=8C=E5=90=8E=E7=BB=AD?=
=?UTF-8?q?=E5=8F=AF=E7=BB=A7=E7=BB=AD=E5=9C=A8=E9=98=85=E7=89=87=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E6=B7=BB=E5=8A=A0=E4=B8=B4=E6=97=B6=E6=A0=87=E6=B3=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/reading.js | 10 +-
src/views/dicom-show/dicom-study.vue | 4 +-
.../dicoms/customize/CustomizeDicomCanvas.vue | 91 +-
.../dicoms/customize/CustomizeDicomViewer.vue | 1319 +++++++++--------
.../customize/CustomizeMeasurementList.vue | 55 +-
.../dicoms/tools/CircleRoi/CircleRoiTool.js | 453 ++++++
.../dicoms/tools/CircleRoi/getCircleCoords.js | 21 +
7 files changed, 1235 insertions(+), 718 deletions(-)
create mode 100644 src/views/trials/trials-panel/reading/dicoms/tools/CircleRoi/CircleRoiTool.js
create mode 100644 src/views/trials/trials-panel/reading/dicoms/tools/CircleRoi/getCircleCoords.js
diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js
index cfc74e05..1467ddc9 100644
--- a/src/store/modules/reading.js
+++ b/src/store/modules/reading.js
@@ -499,7 +499,7 @@ const actions = {
// var uuid = obj.measureData.data.uuid
// var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid)
- console.log(obj, measureData)
+ // console.log(obj, measureData)
var idx = measureData.findIndex(item => item.Id === obj.questionInfo.Id)
console.log('idx', idx)
if (idx > -1) {
@@ -510,7 +510,9 @@ const actions = {
measureData.splice(idx, 1)
console.log('移除标记成功', idx)
}
- await deleteCustomTag(obj.questionInfo.Id)
+ if (obj.questionInfo.Id) {
+ await deleteCustomTag(obj.questionInfo.Id)
+ }
state.visitTaskList[index].MeasureData = measureData
} else if (obj.orderMarkName) {
const i = measureData.findIndex(item => item.QuestionId === obj.questionId && item.OrderMarkName === obj.orderMarkName)
@@ -523,7 +525,9 @@ const actions = {
console.log('移除标记成功', i)
}
}
- await deleteCustomTag(obj.questionInfo.Id)
+ if (obj.questionInfo.Id) {
+ await deleteCustomTag(obj.questionInfo.Id)
+ }
state.visitTaskList[index].MeasureData = measureData
}
// sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '')
diff --git a/src/views/dicom-show/dicom-study.vue b/src/views/dicom-show/dicom-study.vue
index 59bc1e8b..b51e5315 100644
--- a/src/views/dicom-show/dicom-study.vue
+++ b/src/views/dicom-show/dicom-study.vue
@@ -225,8 +225,8 @@ export default {
},
beforeDestroy() {
requestPoolManager.stopTaskTimer()
- window.removeEventListener('beforeunload', e => {
- cornerstone.imageCache.purgeCache()
+ window.removeEventListener('beforeunload', e => {
+ cornerstone.imageCache.purgeCache()
requestPoolManager.resetRequestPool()
})
},
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
index 94ca0017..4e754cae 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
@@ -13,7 +13,7 @@
-
+
@@ -146,6 +146,7 @@ import LengthTool from '@/views/trials/trials-panel/reading/dicoms/tools/Length/
import BidirectionalTool from '@/views/trials/trials-panel/reading/dicoms/tools/Bidirectional/BidirectionalTool'
import ArrowAnnotateTool from '@/views/trials/trials-panel/reading/dicoms/tools/ArrowAnnotate/ArrowAnnotateTool'
import RectangleRoiTool from '@/views/trials/trials-panel/reading/dicoms/tools/RectangleRoi/RectangleRoiTool'
+import CircleRoiTool from '@/views/trials/trials-panel/reading/dicoms/tools/CircleRoi/CircleRoiTool'
// import OrientationMarkersTool from '@/views/trials/trials-panel/reading/dicoms/tools/OrientationMarkers/OrientationMarkersTool'
import ScaleOverlayTool from '@/views/trials/trials-panel/reading/dicoms/tools/ScaleOverlay/ScaleOverlayTool'
import getOrientationString from '@/views/trials/trials-panel/reading/dicoms/tools/OrientationMarkers/getOrientationString'
@@ -257,7 +258,7 @@ export default {
series: '',
ToolStateManager: null,
renderedMeasured: [],
- measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi'],
+ measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi', 'CircleRoi'],
measureData: [],
selectedLesion: null,
activeTool: 0, // 0:enable 1:passive 2:active
@@ -297,8 +298,8 @@ export default {
],
scrollSyncInfo: { offset: 0 },
- hideMeasureArr: []
-
+ hideMeasureArr: [],
+ enabledElement: null
}
},
computed: {
@@ -398,7 +399,8 @@ export default {
cornerstone.updateImage(this.canvas, true)
})
DicomEvent.$on('updateImage', () => {
- cornerstone.updateImage(this.canvas)
+ if (!this.canvas) return
+ this.updateImage()
})
// this.canvas.addEventListener('keydown', event => {
// event.preventDefault()
@@ -541,7 +543,7 @@ export default {
this.mousePosition.y = currentPoints.image.y + 1
this.mousePosition.mo = stats.mo
this.mousePosition.suv = stats.suv
- if (this.isFirstChangeTask && this.pointNearTool(e)) {
+ if (this.pointNearTool(e)) {
e.stopImmediatePropagation()
e.stopPropagation()
e.preventDefault()
@@ -550,18 +552,14 @@ export default {
mouseUp(e) {
console.log('mouseUp')
- if (this.readingTaskState >= 2) return
+ // if (this.readingTaskState >= 2) return
this.image = e.detail.image
this.getToolStateInfo(e)
},
mouseDown(e) {
this.image = e.detail.image
var pointNearTool = this.pointNearTool(e)
- if (this.isFirstChangeTask && pointNearTool) {
- e.stopImmediatePropagation()
- e.stopPropagation()
- e.preventDefault()
- } else if (this.activeToolName === 'Length' || this.activeToolName === 'Bidirectional' && this.readingTaskState < 2) {
+ if (this.activeToolName === 'Length' || this.activeToolName === 'Bidirectional') {
if (!e.detail.image.columnPixelSpacing || !e.detail.image.rowPixelSpacing) {
// '该影像不具备测量长度所需的必要数据,不能进行长度测量。请选择其他工具进行标注。'
this.$confirm(this.$t('trials:reading:warnning:msg56'), '', {
@@ -574,6 +572,10 @@ export default {
e.stopPropagation()
e.preventDefault()
}
+ } else if (pointNearTool) {
+ e.stopImmediatePropagation()
+ e.stopPropagation()
+ e.preventDefault()
}
},
pointNearTool(e) {
@@ -600,8 +602,8 @@ export default {
getDisabledMarks(measureDatas) {
var arr = []
measureDatas.map(i => {
- if ((i.LesionType === 0 || i.LesionType === 1 || i.LesionType === 7) && i.IsFirstChangeTask) {
- arr.push(i.OrderMarkName)
+ if (i.Id && this.readingTaskState >= 2) {
+ arr.push(i.MeasureData.data.remark)
}
})
return arr
@@ -882,7 +884,9 @@ export default {
} else if (this.activeTool === 1 && this.readingTaskState < 2) {
cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
} else {
- cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
+ // cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
+ cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
+
}
// console.log('renderMeasuredData', this.stack.frame)
@@ -986,15 +990,14 @@ export default {
if (idx > -1) {
console.log('mouseClick')
DicomEvent.$emit('setCollapseActive', this.measureData[idx])
- if (this.readingTaskState < 2) {
const measureData = {}
var markName = this.measureData[idx].OrderMarkName
- if (this.activeToolName === 'Eraser') {
- var questionInfo = this.measureData[idx]
+ if (this.activeToolName === 'Eraser' && this.disabledMarks.indexOf(markName) === -1) {
+ const questionInfo = this.measureData[idx]
this.$emit('moveMeasureData', { measureData, questionInfo })
}
if ((this.disabledMarks.indexOf(markName) === -1 || !this.disabledMarks) && this.activeToolName !== 'Eraser') {
- var questionInfo = this.measureData[idx]
+ const questionInfo = this.measureData[idx]
const canvas = this.canvas.querySelector('canvas')
measureData.pictureBaseStr = canvas.toDataURL('image/png', 1)
measureData.studyId = this.stack.studyId
@@ -1010,7 +1013,7 @@ export default {
measureData.data.active = false
this.$emit('modifyMeasureData', { measureData, questionInfo })
}
- }
+
break
}
}
@@ -1049,11 +1052,7 @@ export default {
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === dicomSeries.visitTaskId)
this.stack.visitTaskNum = this.visitTaskList[idx].VisitTaskNum
this.isFirstChangeTask = this.visitTaskList[idx].IsFirstChangeTask
- if (this.isFirstChangeTask) {
- this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData)
- } else {
- this.disabledMarks = []
- }
+ this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData)
this.maxVistNum = this.visitTaskList[this.visitTaskList.length - 1].VisitTaskNum
this.minVistNum = this.visitTaskList[0].VisitTaskNum
@@ -1114,7 +1113,6 @@ export default {
if (!this.toolState.initialized) {
this.toolState.initialized = true
const toolButtons = document.querySelectorAll('[data-tool]')
-
// const scope = this
Array.from(toolButtons).forEach((toolBtn) => {
// Add the tool
@@ -1134,6 +1132,8 @@ export default {
cornerstoneTools.addToolForElement(element, ArrowAnnotateTool, { configuration: { allowEmptyLabel: true, handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true }})
} else if (toolName === 'RectangleRoi') {
cornerstoneTools.addToolForElement(element, RectangleRoiTool, { configuration: { allowEmptyLabel: true, handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true }})
+ } else if (toolName === 'CircleRoi') {
+ cornerstoneTools.addToolForElement(element, CircleRoiTool, { configuration: { handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true, digits: this.digitPlaces, drawHandles: true, showMinMax: true }})
} else {
cornerstoneTools.addToolForElement(element, apiTool)
}
@@ -1221,8 +1221,8 @@ export default {
if (this.dicomInfo.thick) {
this.dicomInfo.thick = this.dicomInfo.thick.toFixed(2)
}
- let newImageIdIndex = this.stack.imageIds.findIndex(i=>i===imageId)
- if(newImageIdIndex === -1) return
+ const newImageIdIndex = this.stack.imageIds.findIndex(i => i === imageId)
+ if (newImageIdIndex === -1) return
this.stack.currentImageIdIndex = newImageIdIndex
this.stack.imageIdIndex = newImageIdIndex
this.series.imageIdIndex = newImageIdIndex
@@ -1298,7 +1298,7 @@ export default {
this.setMarkers()
},
onMeasurementcompleted(e) {
- if (this.readingTaskState >= 2) return
+ // if (this.readingTaskState >= 2) return
var element = cornerstone.getEnabledElement(this.canvas)
var viewport = element.viewport
@@ -1311,7 +1311,7 @@ export default {
var instanceId = imageInfo.instanceId
var frame = imageInfo.frame
this.stack.frame = !isNaN(parseInt(frame)) ? parseInt(frame) : 0
- if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi') {
+ if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi' || e.detail.toolName === 'CircleRoi') {
const measureData = {}
measureData.studyId = this.stack.studyId
measureData.seriesId = this.stack.seriesId
@@ -1326,6 +1326,7 @@ export default {
const canvas = this.canvas.querySelector('canvas')
measureData.pictureBaseStr = canvas.toDataURL('image/png', 1)
+ measureData.temporary = this.readingTaskState >= 2
this.$emit('setMeasureData', measureData)
cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName)
} else if (e.detail.toolName === 'Bidirectional') {
@@ -1342,6 +1343,7 @@ export default {
measureData.wc = Math.round(viewport.voi.windowCenter)
const canvas = this.canvas.querySelector('canvas')
measureData.pictureBaseStr = canvas.toDataURL('image/png', 1)
+ measureData.temporary = this.readingTaskState >= 2
this.$emit('setMeasureData', measureData)
cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName)
} else if (!e.detail.toolName) {
@@ -1422,7 +1424,7 @@ export default {
onMeasurementmodified(e) {
// 移动
console.log('modified')
- if (this.readingTaskState >= 2) return
+ // if (this.readingTaskState >= 2) return
const { measurementData, toolType } = e.detail
var element = cornerstone.getEnabledElement(this.canvas)
var viewport = element.viewport
@@ -1466,15 +1468,21 @@ export default {
}
},
updateImage(instanceId) {
+ if (!this.canvas) return
var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.stack.visitTaskId)
this.measureData = this.visitTaskList[i].MeasureData
-
const ToolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager
-
var element = cornerstone.getEnabledElement(this.canvas)
+ if (!element) return
var { imageId } = element.image
- ToolStateManager.clearImageIdToolState(imageId)
- cornerstone.updateImage(element, true)
+ if (imageId) {
+ ToolStateManager.clearImageIdToolState(imageId)
+ let elements = cornerstone.getEnabledElementsByImageId(imageId)
+ elements.map(el=>{
+ cornerstone.updateImage(el.element)
+ })
+ }
+ // cornerstone.updateImage(element)
},
toggleSeries(evt, type) {
evt.stopImmediatePropagation()
@@ -1756,20 +1764,19 @@ export default {
this.activeToolName = toolName
this.$nextTick(() => {
// console.log(cornerstoneTools.isToolActiveForElement(this.canvas, 'Bidirectional'))
- if (!cornerstoneTools.isToolActiveForElement(this.canvas, toolName)) {
- cornerstoneTools.setToolActiveForElement(this.canvas, toolName, {
- mouseButtonMask: 1
- })
- }
+
if (toolName === 'Zoom') {
cornerstoneTools.setToolActiveForElement(this.canvas, 'Zoom', {
mouseButtonMask: [1, 2]
})
- }
- if (toolName === 'Pan') {
+ } else if (toolName === 'Pan') {
cornerstoneTools.setToolActiveForElement(this.canvas, 'Pan', {
mouseButtonMask: [1, 4]
})
+ } else {
+ cornerstoneTools.setToolActiveForElement(this.canvas, toolName, {
+ mouseButtonMask: 1
+ })
}
})
},
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
index 9856780e..ff58527e 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
@@ -106,8 +106,7 @@
v-if="item.val === 1"
class="divider"
content-position="center"
- >{{ ` ${$t("trials:reading:title:preset")}` }}
+ >{{ ` ${$t("trials:reading:title:preset")}` }}
@@ -224,8 +223,7 @@
{{ rotate.label }}
+ >{{ rotate.label }}
@@ -318,7 +316,7 @@
{{ tool.text }}
-
{{ tool.disabledReason }}
+
{{ tool.disabledReason }}
{{ tool.text }}
@@ -445,10 +443,10 @@
placement="bottom"
>