diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue index 02efe95e..d8538d15 100644 --- a/src/components/uploadDicomAndNonedicom/dicomFile.vue +++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue @@ -335,6 +335,7 @@ cornerstoneWADOImageLoader.external.cornerstone = cornerstone import { convertBytes } from '@/utils/dicom-character-set' import { parseDicom } from '@/utils/parseDicom.js' import { dcmUpload } from '@/utils/dcmUpload/dcmUpload' +import dcmjs from '@/utils/dcmUpload/dcmjs' import store from '@/store' import { getToken } from '@/utils/auth' export default { @@ -809,6 +810,15 @@ export default { }, }) } + if (!scope.uploadQueues[studyIndex].dicomInfo.RadionuclideTotalDose) { + let dataset = dcmjs.data.DicomMessage.readFile(e.target.result) + let RadionuclideTotalDose = dataset.dict['00540016'].Value[0]['00181074'].Value[0] + let RadionuclideHalfLife = dataset.dict['00540016'].Value[0]['00181075'].Value[0] + let RadiopharmaceuticalStartTime = dataset.dict['00540016'].Value[0]['00181072'].Value[0] + scope.uploadQueues[studyIndex].dicomInfo.RadionuclideTotalDose = RadionuclideTotalDose + scope.uploadQueues[studyIndex].dicomInfo.RadionuclideHalfLife = RadionuclideHalfLife + scope.uploadQueues[studyIndex].dicomInfo.RadiopharmaceuticalStartTime = RadiopharmaceuticalStartTime + } var modality = scope.uploadQueues[studyIndex].dicomInfo.modality var currentModality = data.string('x00080060') if (!(modality.indexOf(currentModality) > -1)) { @@ -1144,6 +1154,10 @@ export default { failedFileCount: 0, RecordPath: null, study: { + RadionuclideTotalDose: dicomInfo.RadionuclideTotalDose, + RadionuclideHalfLife: dicomInfo.RadionuclideHalfLife, + RadiopharmaceuticalStartTime: dicomInfo.RadiopharmaceuticalStartTime, + studyId: dicomInfo.studyId, studyInstanceUid: dicomInfo.studyUid, studyTime: dicomInfo.studyTime, @@ -1452,7 +1466,7 @@ export default { let OSSclient = scope.OSSclient try { let seriesRes = await OSSclient.put( - thumbnailPath, + thumbnailPath, blob, { fileName: `${v.seriesUid}.jpg`, 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 e18b8eab..62d0f61f 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 @@ -576,6 +576,7 @@ import { getToken } from '@/utils/auth' import { readEntry } from '@/utils/index' import { dcmUpload } from '@/utils/dcmUpload/dcmUpload' import { convertBytes } from '@/utils/dicom-character-set' +import dcmjs from '@/utils/dcmUpload/dcmjs' import moment from 'moment' import store from '@/store' import uploadDicomPacs from './uploadDiocmPacs.vue' @@ -1015,6 +1016,15 @@ export default { }, }) } + if (!scope.uploadQueues[studyIndex].dicomInfo.RadionuclideTotalDose) { + let dataset = dcmjs.data.DicomMessage.readFile(e.target.result) + let RadionuclideTotalDose = dataset.dict['00540016'].Value[0]['00181074'].Value[0] + let RadionuclideHalfLife = dataset.dict['00540016'].Value[0]['00181075'].Value[0] + let RadiopharmaceuticalStartTime = dataset.dict['00540016'].Value[0]['00181072'].Value[0] + scope.uploadQueues[studyIndex].dicomInfo.RadionuclideTotalDose = RadionuclideTotalDose + scope.uploadQueues[studyIndex].dicomInfo.RadionuclideHalfLife = RadionuclideHalfLife + scope.uploadQueues[studyIndex].dicomInfo.RadiopharmaceuticalStartTime = RadiopharmaceuticalStartTime + } var modality = scope.uploadQueues[studyIndex].dicomInfo.modality var currentModality = data.string('x00080060') if (!(modality.indexOf(currentModality) > -1)) { @@ -1490,6 +1500,11 @@ export default { failedFileCount: 0, RecordPath: null, study: { + RadionuclideTotalDose: dicomInfo.RadionuclideTotalDose, + RadionuclideHalfLife: dicomInfo.RadionuclideHalfLife, + RadiopharmaceuticalStartTime: dicomInfo.RadiopharmaceuticalStartTime, + + studyId: dicomInfo.studyId, studyInstanceUid: dicomInfo.studyUid, studyTime: dicomInfo.studyTime, @@ -1635,7 +1650,7 @@ export default { o.imageColumns, o.imageRows ) - + let thumbnailPath = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}.jpg` let OSSclient = scope.OSSclient let seriesRes = await OSSclient.put( @@ -1786,7 +1801,7 @@ export default { let OSSclient = scope.OSSclient try { let seriesRes = await OSSclient.put( - thumbnailPath, + thumbnailPath, blob, { fileName: `${v.seriesUid}.jpg`, @@ -1811,7 +1826,7 @@ export default { params.study.instanceCount = dicomInfo.failedFileCount params.RecordPath = scope.$getObjectName(logRes.url) if (scope.isClose) return false - + params.UploadBatchId = uploadBatchId addOrUpdateArchiveStudy(params) .then((res) => {