From 937ab0899e6a93a77e70fc40f41702d4e2a81821 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Mon, 10 Nov 2025 15:56:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E5=BD=92=E6=A1=A3=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=BD=B1=E5=83=8F=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uploadDicomAndNonedicom/dicomFile.vue | 62 ++++++++++++ .../components/uploadDicomFiles2.vue | 99 ++++++++++++++++++- 2 files changed, 157 insertions(+), 4 deletions(-) diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue index d0c9c48e..70ed13c6 100644 --- a/src/components/uploadDicomAndNonedicom/dicomFile.vue +++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue @@ -730,6 +730,13 @@ export default { fileList: [], dicomInfo: { studyId: data.string('x00200010'), + Manufacturer: data.string('x00080070') || '', + ManufacturerModelName: data.string('x000801090') || '', + DeviceSerialNumber: data.string('x00181000') || '', + DeviceUID: data.string('x00181002') || '', + SoftwareVersions: data.string('x00181020') || '', + PatientWeight: data.string('x00101030') || '', + DicomStudyDate: data.string('x00080020'), DicomStudyTime: data.string('x00080030'), studyUid: studyUid, @@ -842,6 +849,9 @@ export default { ) seriesItem = { seriesUid: seriesUid, + RadiopharmaceuticalInformationSequence: data.string('x00540016') || "", + AcquisitionDate: data.string('x00080022') || "", + DicomSeriesDate: data.string('x00080021'), DicomSeriesTime: data.string('x00080031'), seriesNumber: data.intString('x00200011') || 1, @@ -882,6 +892,20 @@ export default { instanceTime = time ? `${date} ${time}` : `${date} 00:00:00` } instanceItem = { + PhotometricInterpretation: data.string('x00280004') || '', + BitsAllocated: data.uint16('x00280100') || '', + PixelRepresentation: data.uint16('x00280103') || '', + RescaleIntercept: data.string('x00281052') || '', + RescaleSlope: data.string('x00281053') || '', + ImagePositionPatient: data.string('x00200032') || '', + ImageOrientationPatient: data.string('x00200037') || '', + SequenceOfUltrasoundRegions: data.string('x00186011') || '', + FrameTime: data.string('x00181063') || '', + CorrectedImage: data.string('x00280051') || '', + Units: data.string('x00541001') || '', + DecayCorrection: data.string('x00541102') || '', + EncapsulatedDocument: data.string('x00420011') || '', + instanceUid: instanceUid, SOPClassUID: data.string('x00080016'), TransferSytaxUID: data.string('x00020010'), @@ -1098,6 +1122,13 @@ export default { DicomStudyDate: dicomInfo.DicomStudyDate, DicomStudyTime: dicomInfo.DicomStudyTime, seriesList: [], + + Manufacturer: dicomInfo.Manufacturer, + ManufacturerModelName: dicomInfo.ManufacturerModelName, + DeviceSerialNumber: dicomInfo.DeviceSerialNumber, + DeviceUID: dicomInfo.DeviceUID, + SoftwareVersions: dicomInfo.SoftwareVersions, + PatientWeight: dicomInfo.PatientWeight, }, } let arr = [] @@ -1140,6 +1171,20 @@ export default { windowWidth: o.windowWidth, path: o.myPath, FileSize: o.FileSize, + + PhotometricInterpretation: o.PhotometricInterpretation, + BitsAllocated: o.BitsAllocated, + PixelRepresentation: o.PixelRepresentation, + RescaleIntercept: o.RescaleIntercept, + RescaleSlope: o.RescaleSlope, + ImagePositionPatient: o.ImagePositionPatient, + ImageOrientationPatient: o.ImageOrientationPatient, + SequenceOfUltrasoundRegions: o.SequenceOfUltrasoundRegions, + FrameTime: o.FrameTime, + CorrectedImage: o.CorrectedImage, + Units: o.Units, + DecayCorrection: o.DecayCorrection, + EncapsulatedDocument: o.EncapsulatedDocument, }) Record.Uploaded.push(name) dicomInfo.failedFileCount++ @@ -1224,6 +1269,20 @@ export default { windowWidth: o.windowWidth, path: scope.$getObjectName(res.url), FileSize: o.FileSize, + + PhotometricInterpretation: o.PhotometricInterpretation, + BitsAllocated: o.BitsAllocated, + PixelRepresentation: o.PixelRepresentation, + RescaleIntercept: o.RescaleIntercept, + RescaleSlope: o.RescaleSlope, + ImagePositionPatient: o.ImagePositionPatient, + ImageOrientationPatient: o.ImageOrientationPatient, + SequenceOfUltrasoundRegions: o.SequenceOfUltrasoundRegions, + FrameTime: o.FrameTime, + CorrectedImage: o.CorrectedImage, + Units: o.Units, + DecayCorrection: o.DecayCorrection, + EncapsulatedDocument: o.EncapsulatedDocument, }) o.myPath = scope.$getObjectName(res.url) Record.Uploaded.push(name) @@ -1272,6 +1331,9 @@ export default { bodyPartExamined: dicomInfo.bodyPart, instanceList: instanceList, ImageResizePath: ImageResizePath, + + RadiopharmaceuticalInformationSequence: v.RadiopharmaceuticalInformationSequence, + AcquisitionDate: v.AcquisitionDate, }) } let text = JSON.stringify(Record) diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue index cb076822..eb95d50a 100644 --- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue +++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue @@ -926,14 +926,49 @@ export default { SpecificCharacterSet, patientNameBytes ) + // let obj = { + // // ALL + // PhotometricInterpretation: data.string('x00280004') || '', + // BitsAllocated: data.uint16('x00280100') || '', + // PixelRepresentation: data.uint16('x00280103') || '', + // RescaleIntercept: data.string('x00281052') || '', + // RescaleSlope: data.string('x00281053') || '', + // ImagePositionPatient: data.string('x00200032') || '', + // ImageOrientationPatient: data.string('x00200037') || '', + // // IVUS + // SequenceOfUltrasoundRegions: data.string('x00186011') || '', // obj + // FrameTime: data.string('x00181063') || '', + // //PET + // RadiopharmaceuticalInformationSequence: data.string('x00540016') || "", // obj + // Units: data.string('x00541001') || '', + // CorrectedImage: data.string('x00280051') || '', + // DecayCorrection: data.string('x00541102') || '', + // AcquisitionDate: data.string('x00080022') || "", + // PatientWeight: data.string('x00101030') || '', + + // // 设备 + // Manufacturer: data.string('x00080070') || '', + // ManufacturerModelName: data.string('x000801090') || '', + // DeviceSerialNumber: data.string('x00181000') || '', + // DeviceUID: data.string('x00181002') || '', + // SoftwareVersions: data.string('x00181020') || '', + // } + // console.log(obj) scope.uploadQueues.push({ studyIndex: studyIndex, seriesList: [], fileList: [], dicomInfo: { studyId: data.string('x00200010'), - DicomStudyDate: data.string('x00080020'), - DicomStudyTime: data.string('x00080030'), + Manufacturer: data.string('x00080070') || '', + ManufacturerModelName: data.string('x000801090') || '', + DeviceSerialNumber: data.string('x00181000') || '', + DeviceUID: data.string('x00181002') || '', + SoftwareVersions: data.string('x00181020') || '', + PatientWeight: data.string('x00101030') || '', + + DicomStudyDate: data.string('x00080020') || '', + DicomStudyTime: data.string('x00080030') || '', studyUid: studyUid, patientId: data.string('x00100020'), patientName: patientNameStr, @@ -1042,8 +1077,12 @@ export default { ) seriesItem = { seriesUid: seriesUid, - DicomSeriesDate: data.string('x00080021'), - DicomSeriesTime: data.string('x00080031'), + RadiopharmaceuticalInformationSequence: data.string('x00540016') || "", + AcquisitionDate: data.string('x00080022') || "", + + + DicomSeriesDate: data.string('x00080021') || "", + DicomSeriesTime: data.string('x00080031') || "", seriesNumber: data.intString('x00200011') || 1, modality: data.string('x00080060') || '', description: seriesDescriptionStr, @@ -1082,6 +1121,20 @@ export default { instanceTime = time ? `${date} ${time}` : `${date} 00:00:00` } instanceItem = { + PhotometricInterpretation: data.string('x00280004') || '', + BitsAllocated: data.uint16('x00280100') || '', + PixelRepresentation: data.uint16('x00280103') || '', + RescaleIntercept: data.string('x00281052') || '', + RescaleSlope: data.string('x00281053') || '', + ImagePositionPatient: data.string('x00200032') || '', + ImageOrientationPatient: data.string('x00200037') || '', + SequenceOfUltrasoundRegions: data.string('x00186011') || '', + FrameTime: data.string('x00181063') || '', + CorrectedImage: data.string('x00280051') || '', + Units: data.string('x00541001') || '', + DecayCorrection: data.string('x00541102') || '', + EncapsulatedDocument: data.string('x00420011') || '', + instanceUid: instanceUid, SOPClassUID: data.string('x00080016'), TransferSytaxUID: data.string('x00020010'), @@ -1449,6 +1502,13 @@ export default { DicomStudyDate: dicomInfo.DicomStudyDate, DicomStudyTime: dicomInfo.DicomStudyTime, seriesList: [], + + Manufacturer: dicomInfo.Manufacturer, + ManufacturerModelName: dicomInfo.ManufacturerModelName, + DeviceSerialNumber: dicomInfo.DeviceSerialNumber, + DeviceUID: dicomInfo.DeviceUID, + SoftwareVersions: dicomInfo.SoftwareVersions, + PatientWeight: dicomInfo.PatientWeight, }, } let arr = [] @@ -1491,6 +1551,20 @@ export default { windowWidth: o.windowWidth, path: o.myPath, FileSize: o.FileSize, + + PhotometricInterpretation: o.PhotometricInterpretation, + BitsAllocated: o.BitsAllocated, + PixelRepresentation: o.PixelRepresentation, + RescaleIntercept: o.RescaleIntercept, + RescaleSlope: o.RescaleSlope, + ImagePositionPatient: o.ImagePositionPatient, + ImageOrientationPatient: o.ImageOrientationPatient, + SequenceOfUltrasoundRegions: o.SequenceOfUltrasoundRegions, + FrameTime: o.FrameTime, + CorrectedImage: o.CorrectedImage, + Units: o.Units, + DecayCorrection: o.DecayCorrection, + EncapsulatedDocument: o.EncapsulatedDocument, }) Record.Uploaded.push(name) dicomInfo.failedFileCount++ @@ -1580,6 +1654,20 @@ export default { windowWidth: o.windowWidth, path: scope.$getObjectName(res.url), FileSize: o.FileSize, + + PhotometricInterpretation: o.PhotometricInterpretation, + BitsAllocated: o.BitsAllocated, + PixelRepresentation: o.PixelRepresentation, + RescaleIntercept: o.RescaleIntercept, + RescaleSlope: o.RescaleSlope, + ImagePositionPatient: o.ImagePositionPatient, + ImageOrientationPatient: o.ImageOrientationPatient, + SequenceOfUltrasoundRegions: o.SequenceOfUltrasoundRegions, + FrameTime: o.FrameTime, + CorrectedImage: o.CorrectedImage, + Units: o.Units, + DecayCorrection: o.DecayCorrection, + EncapsulatedDocument: o.EncapsulatedDocument, }) o.myPath = scope.$getObjectName(res.url) Record.Uploaded.push(name) @@ -1628,6 +1716,9 @@ export default { bodyPartExamined: dicomInfo.bodyPart, instanceList: instanceList, ImageResizePath: ImageResizePath, + + RadiopharmaceuticalInformationSequence: v.RadiopharmaceuticalInformationSequence, + AcquisitionDate: v.AcquisitionDate, }) } let text = JSON.stringify(Record)