From 3243b33b33eead8f3064a82f03061ff745e1b832 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 20 Nov 2025 15:48:40 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E6=8A=A5=E5=91=8A=E4=B8=AD?= =?UTF-8?q?=E6=95=B0=E5=80=BC=E7=9A=84=E7=BB=9F=E8=AE=A1=E4=B8=8E=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/readingChart/index.vue | 82 ++-- src/styles/index.scss | 7 + .../reading/dicoms/components/DicomViewer.vue | 30 +- .../components/IRecist/QuestionForm.vue | 418 +++++++--------- .../components/IRecist/QuestionList.vue | 230 ++++----- .../dicoms/components/IVUS/QuestionList.vue | 25 +- .../components/IVUS/QuestionTableFormItem.vue | 214 ++++----- .../dicoms/components/Lugano/QuestionForm.vue | 441 ++++++++--------- .../dicoms/components/Lugano/QuestionList.vue | 352 +++++++------- .../LuganoWithoutPET/QuestionForm.vue | 445 ++++++++---------- .../LuganoWithoutPET/QuestionList.vue | 352 +++++++------- .../components/MRIPDFF/QuestionForm.vue | 264 +++++------ .../components/MRIPDFF/QuestionList.vue | 161 ++++--- .../dicoms/components/OCT/QuestionList.vue | 13 +- .../components/OCT/QuestionTableFormItem.vue | 216 ++++----- .../dicoms/components/PCWG/QuestionForm.vue | 248 ++++------ .../dicoms/components/PCWG/QuestionList.vue | 159 ++++--- .../dicoms/components/QuestionItem.vue | 378 ++++++--------- .../reading/dicoms/components/Questions.vue | 6 +- .../reading/dicoms/components/ReadPage.vue | 24 +- .../dicoms/components/Recist/QuestionForm.vue | 320 +++++-------- .../dicoms/components/Recist/QuestionList.vue | 193 ++++---- .../components/RecistBM/QuestionForm.vue | 286 +++++------ .../components/RecistBM/QuestionList.vue | 187 ++++---- .../reading/dicoms/components/ReportPage.vue | 35 +- .../dicoms/customize/CustomizeDicomViewer.vue | 5 +- .../customize/CustomizeMeasurementList.vue | 225 +++++---- .../customize/CustomizeQuestionFormItem.vue | 82 ++-- .../CustomizeQuestionTableFormItem.vue | 70 +-- .../customize/CustomizeQuestionsPreview.vue | 63 ++- .../dicoms/customize/CustomizeReadPage.vue | 22 +- .../dicoms/customize/CustomizeReportPage.vue | 35 +- .../reading/dicoms3D/components/ReadPage.vue | 17 +- .../components/Recist/QuestionFormItem.vue | 253 ++++------ .../components/Recist/QuestionList.vue | 13 +- .../Recist/TableQuestionFormItem.vue | 213 ++++----- .../dicoms3D/components/ReportPage.vue | 35 +- .../components/customize/QuestionFormItem.vue | 14 +- .../customize/QuestionTableFormItem.vue | 14 +- .../components/customize/ReportPage.vue | 31 +- .../components/mRecist/QuestionFormItem.vue | 253 ++++------ .../components/mRecist/QuestionList.vue | 389 ++++++++------- .../mRecist/TableQuestionFormItem.vue | 221 ++++----- .../visit-review/components/ReadPage.vue | 1 + .../visit-review/components/ReportPage.vue | 33 +- 45 files changed, 3290 insertions(+), 3785 deletions(-) diff --git a/src/components/readingChart/index.vue b/src/components/readingChart/index.vue index aecca89d..08468337 100644 --- a/src/components/readingChart/index.vue +++ b/src/components/readingChart/index.vue @@ -1,8 +1,8 @@ @@ -32,32 +32,35 @@ export default { visible: false, zIndex: 9, chart: null, - loading: false + loading: false, + key: 'readingChart' }; }, methods: { init(event, obj, zIndex = 9) { + this.loading = true this.zIndex = zIndex - // 设置菜单出现的位置 - // 具体显示位置根据自己需求进行调节 - this.visible = true - let readingChart = document.querySelector("#readingChart"); - let chaY = document.body.clientHeight - event.clientY; - let chaX = document.body.clientWidth - event.clientX; - // 防止菜单太靠底,根据可视高度调整菜单出现位置 - if (chaY < 250) { - readingChart.style.top = event.clientY - 220 + "px"; - } else { - readingChart.style.top = event.clientY + "px"; + let { key } = obj + if (key) { + this.key = key } - if (chaX < 150) { - readingChart.style.left = event.clientX - 520 + "px"; - } else { - readingChart.style.left = event.clientX + 15 + "px"; - } - this.getInfo(obj) - // this.initChart() - // document.addEventListener("click", this.foo); // 给整个document添加监听鼠标事件,点击任何位置执行foo方法 + this.$nextTick(() => { + this.visible = true + let readingChart = document.querySelector(`#${this.key}`); + let chaY = document.body.clientHeight - event.clientY; + let chaX = document.body.clientWidth - event.clientX; + if (chaY < 250) { + readingChart.style.top = event.clientY - 220 + "px"; + } else { + readingChart.style.top = event.clientY + "px"; + } + if (chaX < 500) { + readingChart.style.left = event.clientX - 520 + "px"; + } else { + readingChart.style.left = event.clientX + 15 + "px"; + } + this.getInfo(obj) + }) }, async getInfo(data) { try { @@ -70,7 +73,7 @@ export default { this.loading = false if (res.IsSuccess) { let obj = { - xAxisData: res.Result.VisitTaskNameList || [], + xAxisData: res.Result.LatestScanDateList || [], series: [] } res.Result.ChartDataList.forEach(item => { @@ -101,8 +104,32 @@ export default { tooltip: { trigger: 'axis' }, - xAxis: { data: obj.xAxisData }, - yAxis: { type: 'value' }, + xAxis: { + data: obj.xAxisData, + axisLine: { // 设置 x 轴线颜色 + lineStyle: { + color: '#fff', + } + }, + axisLabel: { // 设置 x 轴文字颜色 + textStyle: { + color: '#fff' + } + } + }, + yAxis: { + type: 'value', + axisLabel: { + textStyle: { + color: '#fff', + } + }, + axisLine: { + lineStyle: { + color: '#fff', + } + } + }, series: obj.series }; // 4. 使用配置项渲染图表 @@ -129,7 +156,8 @@ export default { max-width: 500px; font-size: 14px; display: inline-block; - background: #fff; + background: #000; + border: 1px solid #ebeef5; border-radius: 4px; position: fixed; padding: 10px 6px; diff --git a/src/styles/index.scss b/src/styles/index.scss index 77906de2..13ba518a 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -364,4 +364,11 @@ body .el-table th.gutter { height: 30px !important; margin-left: 10px; cursor: pointer; +} + +.svg-readingChart-mini { + width: 18px !important; + height: 20px !important; + vertical-align: -0.4em !important; + cursor: pointer; } \ No newline at end of file diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue index 91da05e1..59d026c6 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -457,32 +457,41 @@
+ :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" /> + :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo" + @handleReadingChart="handleReadingChart" />

Developing...

@@ -1149,6 +1158,9 @@ export default { }) }, methods: { + handleReadingChart(e) { + this.$emit('handleReadingChart', e) + }, async handleSubmitKeyDoc() { try { let data = { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionForm.vue index 6bc066c0..ef1b47d2 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionForm.vue @@ -1,12 +1,6 @@