From 128cdc0f7568a9f9a668679e7ff361c3d658ccbf Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 30 Apr 2026 11:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90dicom=E5=88=86=E5=89=B2=E3=80=91?= =?UTF-8?q?=E7=9B=B4=E6=96=B9=E5=9B=BEx=E8=BD=B4=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E6=98=AF=E4=BB=8E=E5=B0=8F=E5=88=B0=E5=A4=A7?= =?UTF-8?q?=EF=BC=8C=E7=8E=B0=E5=9C=A8=E5=9D=90=E6=A0=87=E6=95=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/histogram.vue | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/histogram.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/histogram.vue index 7653d6b9..2aaa968e 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/histogram.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/histogram.vue @@ -221,6 +221,7 @@ export default { Object.keys(this.seriesData).forEach(key => { if (key !== 'default' || this.isNeedDefault) seriesData.push(this.seriesData[key]) }) + seriesData = this.formatSeriesData(seriesData) this.chart.clear(); const option = { useUTC: true, @@ -287,6 +288,27 @@ export default { }; this.chart.setOption(option); }, + formatSeriesData(seriesData) { + let arr = [] + seriesData.forEach(serie => { + serie.data.forEach(item => { + if (!arr.includes(item[0])) arr.push(item[0]) + }) + }) + arr = arr.sort((a, b) => a - b) + seriesData.forEach(serie => { + let data = [] + arr.forEach(item => { + if (serie.objKey[item]) { + data.push([item, serie.objKey[item]]) + } else { + data.push([item, 0]) + } + }) + serie.data = data + }) + return seriesData + }, async generateData(annotation) { var seriesData = []; var min = null; @@ -297,10 +319,8 @@ export default { } else { res = await this.getCurrentSliceValuesFromVoxelManager(this.renderingEngineId, `${this.viewportKey}-${this.activeViewportIndex}`) } + let obj = {} if (res) { - let obj = { - - } res.values.forEach(item => { if (obj[item]) { obj[item]++ @@ -327,7 +347,8 @@ export default { seriesData: { type: 'line', symbolSize: 0, - data: seriesData + data: seriesData, + objKey: obj }, min: min, max: max