{"version":3,"sources":["webpack:///./src/router/views/TeleconsultationRequest/UploadConsultation.vue?a704","webpack:///./src/components/StudyCard.vue?86b7","webpack:///./src/router/views/TeleconsultationRequest/UploadConsultation.vue?30f6","webpack:///src/router/views/TeleconsultationRequest/UploadConsultation.vue","webpack:///./src/router/views/TeleconsultationRequest/UploadConsultation.vue?1da5","webpack:///./src/router/views/TeleconsultationRequest/UploadConsultation.vue","webpack:///./src/router/views/ImageUploads.vue?7f0c","webpack:///src/router/views/ImageUploads.vue","webpack:///./src/router/views/ImageUploads.vue?af0e","webpack:///./src/router/views/ImageUploads.vue","webpack:///./src/components/StudyCard.vue?1536","webpack:///src/components/StudyCard.vue","webpack:///./src/components/StudyCard.vue?0dd3","webpack:///./src/components/StudyCard.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","staticClass","requestConsultant","type","attrs","_v","_s","name","_e","ids","replace","_l","studyId","key","on","$event","removeExistingStudy","requireConfirmation","addStudyMetadata","staticStyle","nativeOn","selectFromExisting","length","isImageOptional","imageDrop","images","excludedImages","file","i","tag","clearExcludedFiles","batchId","getUploadsInBatch","removeImages","addUploadedBatch","attachmentDrop","attachments","excludedAttachments","lastStudyMetadata","removeFile","staticRenderFns","UPLOAD_CONTEXT","components","AstButton","UploadForm","StudyCard","UploadItemFile","UploadItemBatch","UploadStudyForm","props","Array","required","consultantId","String","data","undefined","studyMetadata","uploadedStudyIds","uploadedBatchIds","uploadData","computed","pendingJpegUploadCount","getPendingUploads","filter","u","isImage","pendingAttachmentUploadCount","isAttachment","isUploadError","excludedFiles","upload","context","uploads","workflow","consultant","imageBatchIds","_toConsumableArray","Set","map","attachmentBatchIds","batchIds","Boolean","studyIds","concat","showAttachmentStudyForm","some","studyInstanceUid","canGoNext","hasUploads","hasRequiredImages","isUploading","watch","handler","updateNextRoute","immediate","mounted","$refs","methods","CLEAR_UPLOAD_EXCLUDED_FILES","_ref","imageId","reportTemplateImageViewId","includes","push","study","metadata","_ref2","_this","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2$requireConfirma","warning","newIds","wrap","_context","prev","next","t0","showConfirm","sent","abrupt","id","$router","query","_objectSpread","$route","join","stop","_ref3","_this2","_callee2","imagesInBatch","_context2","forEach","_ref4","_arguments","arguments","_this3","_callee3","sopInstanceUid","showWarning","_context3","stopUploads","a","$api","deleteSeries","_this4","_callee4","_context4","openUserStudiesDlg","nextRoute","component","onSendStudy","UserStudyTable","class","iconClass","icon","saleAttachmentDescription","patientName","patientId","_f","studyDateTime","forceUTC","showTime","imageAndAttachmentCounts","totalSize","modality","_t","progressPercent","progressStatus","showCloseButton","isLoading","stopPropagation","$emit","ProgressBar","default","showDetails","Object","Number","imageCount","imageData","sizes","size","reduce","b","modalityById","$store","state","static","modalities","find","m","counts","description","friendlyName","deep","newVal","oldVal","getStudy","_yield$_this2$$api$vi","studies","deletedStudies","viewer","showAlert","finish"],"mappings":"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","file":"js/teleconsultationsRequestUploadConsultation.3f5578bd0696231bdc6a.bundle.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadConsultation.vue?vue&type=style&index=0&id=3a271d6e&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StudyCard.vue?vue&type=style&index=0&id=b88f63a8&prod&lang=scss&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.requestConsultant)?_c('div',{ref:\"imageDrop\",staticClass:\"upload-section\"},[(_vm.requestConsultant.type === 'ImageOnly')?_c('p',{staticClass:\"image-only-message\"},[_c('svg-icon',{staticClass:\"is-info\",attrs:{\"icon\":\"info-circle\"}}),_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.requestConsultant.name)+\" only accepts images. You cannot submit any report information.\\n\\t\\t\")],1):_vm._e(),(_vm.ids.length)?[_c('h3',[_vm._v(\"These studies will be sent to \"+_vm._s(_vm.requestConsultant.name.replace(/\\.$/, ''))+\".\")]),_c('transition-group',{attrs:{\"name\":\"expand\"}},_vm._l((_vm.ids),function(studyId){return _c('study-card',{key:studyId,staticClass:\"study-card\",attrs:{\"study\":{ studyId: studyId }},on:{\"force-close\":function($event){return _vm.removeExistingStudy({ studyId: studyId, requireConfirmation: false })},\"close\":function($event){return _vm.removeExistingStudy({ studyId: studyId })},\"get-study\":_vm.addStudyMetadata}})}),1),_c('p',{staticStyle:{\"margin-bottom\":\"16px\"}},[_c('ast-button',{attrs:{\"type\":\"success\"},nativeOn:{\"click\":function($event){return _vm.selectFromExisting($event)}}},[_c('span',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAdd a previously uploaded study\\n\\t\\t\\t\\t\")])],1),_c('h3',[_vm._v(\"Add any additional images you would like to send.\")])]:[(!_vm.ids.length)?_c('h3',[_vm._v(\"\\n\\t\\t\\t\\tAdd\\n\\t\\t\\t\\t\"+_vm._s(_vm.requestConsultant.isImageOptional ? 'any' : 'the')+\"\\n\\t\\t\\t\\timages you would like to send to \"+_vm._s(_vm.requestConsultant.name.replace(/\\.$/, ''))+\".\\n\\t\\t\\t\")]):_vm._e(),_c('p',{staticStyle:{\"margin-bottom\":\"16px\"}},[_c('ast-button',{attrs:{\"type\":\"success\"},nativeOn:{\"click\":function($event){return _vm.selectFromExisting($event)}}},[_c('span',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAdd a previously uploaded study\\n\\t\\t\\t\\t\")])],1)],_c('upload-form',{staticClass:\"upload-form\",attrs:{\"context\":\"teleconsultation-request\",\"drop-target\":_vm.imageDrop,\"allow-dicoms\":true,\"allow-jpegs\":true,\"allow-attachments\":false}}),(_vm.images.length || _vm.excludedImages.length)?_c('div',{staticClass:\"upload-items\"},[_c('transition',{attrs:{\"name\":\"expand\"}},[(_vm.excludedImages.length)?_c('ol',{staticClass:\"excluded-files\"},[_vm._l((_vm.excludedImages),function(file,i){return _c(\"UploadItemFile\",{key:i,tag:\"li\",attrs:{\"upload\":file}})}),_c('ast-button',{staticClass:\"close\",nativeOn:{\"click\":function($event){return _vm.clearExcludedFiles('teleconsultation-request')}}},[_c('svg-icon',{attrs:{\"icon\":\"close\"}})],1)],2):_vm._e()]),_c('transition-group',{attrs:{\"name\":\"expand\"}},_vm._l((_vm.imageBatchIds),function(batchId){return _c('upload-item-batch',{key:batchId ? batchId : 'jpeg-form',attrs:{\"uploads\":_vm.getUploadsInBatch(batchId)},on:{\"remove-batch\":_vm.removeImages,\"study-complete\":_vm.addUploadedBatch}})}),1)],1):_vm._e()],2):_vm._e(),(_vm.requestConsultant && _vm.requestConsultant.type !== 'ImageOnly')?_c('div',{ref:\"attachmentDrop\",staticClass:\"upload-section\"},[_c('h3',[_vm._v(\"Add any supplementary files.\")]),_c('upload-form',{staticClass:\"upload-form\",attrs:{\"context\":\"teleconsultation-request\",\"drop-target\":_vm.attachmentDrop,\"allow-dicoms\":true,\"allow-jpegs\":false,\"allow-attachments\":true}}),(_vm.attachments.length || _vm.excludedAttachments.length)?_c('div',{staticClass:\"upload-items\"},[_c('transition',{attrs:{\"name\":\"expand\"}},[(_vm.excludedAttachments.length)?_c('ol',{staticClass:\"excluded-files\"},[_vm._l((_vm.excludedAttachments),function(file,i){return _c(\"UploadItemFile\",{key:i,tag:\"li\",attrs:{\"upload\":file}})}),_c('ast-button',{staticClass:\"close\",nativeOn:{\"click\":function($event){return _vm.clearExcludedFiles('teleconsultation-request')}}},[_c('svg-icon',{attrs:{\"icon\":\"close\"}})],1)],2):_vm._e()]),_c('transition',{attrs:{\"name\":\"expand\"}},[(_vm.showAttachmentStudyForm)?_c('div',{staticClass:\"attachment-study-form\"},[_c('upload-study-form',{attrs:{\"context\":\"teleconsultation-request\",\"hide-drop-hint\":true,\"is-attachment\":true,\"study\":_vm.lastStudyMetadata}})],1):_vm._e()]),_c('transition-group',{attrs:{\"name\":\"expand\"}},_vm._l((_vm.attachmentBatchIds),function(batchId){return _c('upload-item-batch',{key:batchId ? batchId : 'attachment-form',attrs:{\"uploads\":_vm.getUploadsInBatch(batchId),\"only-show-files\":\"\"},on:{\"remove-file\":_vm.removeFile,\"study-complete\":_vm.addUploadedBatch}})}),1)],1):_vm._e()],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div v-if=\"requestConsultant\" ref=\"imageDrop\" class=\"upload-section\">\n\t\t\t<p v-if=\"requestConsultant.type === 'ImageOnly'\" class=\"image-only-message\">\n\t\t\t\t<svg-icon icon=\"info-circle\" class=\"is-info\" />\n\t\t\t\t{{ requestConsultant.name }} only accepts images. You cannot submit any report information.\n\t\t\t</p>\n\t\t\t<template v-if=\"ids.length\">\n\t\t\t\t<h3>These studies will be sent to {{ requestConsultant.name.replace(/\\.$/, '') }}.</h3>\n\t\t\t\t<transition-group name=\"expand\">\n\t\t\t\t\t<study-card\n\t\t\t\t\t\tv-for=\"studyId in ids\"\n\t\t\t\t\t\t:key=\"studyId\"\n\t\t\t\t\t\t:study=\"{ studyId }\"\n\t\t\t\t\t\tclass=\"study-card\"\n\t\t\t\t\t\t@force-close=\"removeExistingStudy({ studyId, requireConfirmation: false })\"\n\t\t\t\t\t\t@close=\"removeExistingStudy({ studyId })\"\n\t\t\t\t\t\t@get-study=\"addStudyMetadata\"\n\t\t\t\t\t/>\n\t\t\t\t</transition-group>\n\t\t\t\t<p style=\"margin-bottom: 16px;\">\n\t\t\t\t\t<ast-button type=\"success\" @click.native=\"selectFromExisting\">\n\t\t\t\t\t\t<span class=\"plus\">+</span>\n\t\t\t\t\t\tAdd a previously uploaded study\n\t\t\t\t\t</ast-button>\n\t\t\t\t</p>\n\t\t\t\t<h3>Add any additional images you would like to send.</h3>\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<h3 v-if=\"!ids.length\">\n\t\t\t\t\tAdd\n\t\t\t\t\t{{ requestConsultant.isImageOptional ? 'any' : 'the' }}\n\t\t\t\t\timages you would like to send to {{ requestConsultant.name.replace(/\\.$/, '') }}.\n\t\t\t\t</h3>\n\t\t\t\t<p style=\"margin-bottom: 16px;\">\n\t\t\t\t\t<ast-button type=\"success\" @click.native=\"selectFromExisting\">\n\t\t\t\t\t\t<span class=\"plus\">+</span>\n\t\t\t\t\t\tAdd a previously uploaded study\n\t\t\t\t\t</ast-button>\n\t\t\t\t</p>\n\t\t\t</template>\n\t\t\t<upload-form\n\t\t\t\tclass=\"upload-form\"\n\t\t\t\tcontext=\"teleconsultation-request\"\n\t\t\t\t:drop-target=\"imageDrop\"\n\t\t\t\t:allow-dicoms=\"true\"\n\t\t\t\t:allow-jpegs=\"true\"\n\t\t\t\t:allow-attachments=\"false\"\n\t\t\t/>\n\t\t\t<div v-if=\"images.length || excludedImages.length\" class=\"upload-items\">\n\t\t\t\t<!-- Excluded Files -->\n\t\t\t\t<transition name=\"expand\">\n\t\t\t\t\t<ol v-if=\"excludedImages.length\" class=\"excluded-files\">\n\t\t\t\t\t\t<li is=\"UploadItemFile\" v-for=\"(file, i) in excludedImages\" :key=\"i\" :upload=\"file\" />\n\t\t\t\t\t\t<!-- Clear excluded files button -->\n\t\t\t\t\t\t<ast-button class=\"close\" @click.native=\"clearExcludedFiles('teleconsultation-request')\">\n\t\t\t\t\t\t\t<svg-icon icon=\"close\" />\n\t\t\t\t\t\t</ast-button>\n\t\t\t\t\t</ol>\n\t\t\t\t</transition>\n\t\t\t\t<!-- Studies -->\n\t\t\t\t<transition-group name=\"expand\">\n\t\t\t\t\t<upload-item-batch\n\t\t\t\t\t\tv-for=\"batchId in imageBatchIds\"\n\t\t\t\t\t\t:key=\"batchId ? batchId : 'jpeg-form'\"\n\t\t\t\t\t\t:uploads=\"getUploadsInBatch(batchId)\"\n\t\t\t\t\t\t@remove-batch=\"removeImages\"\n\t\t\t\t\t\t@study-complete=\"addUploadedBatch\"\n\t\t\t\t\t/>\n\t\t\t\t</transition-group>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-if=\"requestConsultant && requestConsultant.type !== 'ImageOnly'\" ref=\"attachmentDrop\" class=\"upload-section\">\n\t\t\t<h3>Add any supplementary files.</h3>\n\t\t\t<upload-form\n\t\t\t\tclass=\"upload-form\"\n\t\t\t\tcontext=\"teleconsultation-request\"\n\t\t\t\t:drop-target=\"attachmentDrop\"\n\t\t\t\t:allow-dicoms=\"true\"\n\t\t\t\t:allow-jpegs=\"false\"\n\t\t\t\t:allow-attachments=\"true\"\n\t\t\t/>\n\t\t\t<div v-if=\"attachments.length || excludedAttachments.length\" class=\"upload-items\">\n\t\t\t\t<!-- Excluded Files -->\n\t\t\t\t<transition name=\"expand\">\n\t\t\t\t\t<ol v-if=\"excludedAttachments.length\" class=\"excluded-files\">\n\t\t\t\t\t\t<li is=\"UploadItemFile\" v-for=\"(file, i) in excludedAttachments\" :key=\"i\" :upload=\"file\" />\n\t\t\t\t\t\t<!-- Clear excluded files button -->\n\t\t\t\t\t\t<ast-button class=\"close\" @click.native=\"clearExcludedFiles('teleconsultation-request')\">\n\t\t\t\t\t\t\t<svg-icon icon=\"close\" />\n\t\t\t\t\t\t</ast-button>\n\t\t\t\t\t</ol>\n\t\t\t\t</transition>\n\t\t\t\t<!-- Attachment Study Metadata Form -->\n\t\t\t\t<transition name=\"expand\">\n\t\t\t\t\t<div v-if=\"showAttachmentStudyForm\" class=\"attachment-study-form\">\n\t\t\t\t\t\t<upload-study-form\n\t\t\t\t\t\t\tcontext=\"teleconsultation-request\"\n\t\t\t\t\t\t\t:hide-drop-hint=\"true\"\n\t\t\t\t\t\t\t:is-attachment=\"true\"\n\t\t\t\t\t\t\t:study=\"lastStudyMetadata\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t\t<!-- Attachments -->\n\t\t\t\t<transition-group name=\"expand\">\n\t\t\t\t\t<upload-item-batch\n\t\t\t\t\t\tv-for=\"batchId in attachmentBatchIds\"\n\t\t\t\t\t\t:key=\"batchId ? batchId : 'attachment-form'\"\n\t\t\t\t\t\t:uploads=\"getUploadsInBatch(batchId)\"\n\t\t\t\t\t\tonly-show-files\n\t\t\t\t\t\t@remove-file=\"removeFile\"\n\t\t\t\t\t\t@study-complete=\"addUploadedBatch\"\n\t\t\t\t\t/>\n\t\t\t\t</transition-group>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport AstButton from '@components/Button.vue'\nimport UploadForm from '@components/UploadForm.vue'\nimport StudyCard from '@components/StudyCard.vue'\nimport { openUserStudiesDlg } from '@dialogs/UserStudiesDlg.vue'\nimport { showConfirm } from '@dialogs/ConfirmDlg.vue'\nimport workflow from '@services/workflow'\nimport { uploadData } from '@services/uploads'\n\nconst UPLOAD_CONTEXT = 'teleconsultation-request'\n\nexport default {\n\tname: 'TeleconsultationRequestUploadImages',\n\tcomponents: {\n\t\tAstButton,\n\t\tUploadForm,\n\t\tStudyCard,\n\t\tUploadItemFile: () => import(/* webpackChunkName: \"componentUploadItemFile\" */ '@components/UploadItemFile'),\n\t\tUploadItemBatch: () => import(/* webpackChunkName: \"componentUploadItemBatch\" */ '@components/UploadItemBatch'),\n\t\tUploadStudyForm: () => import(/* webpackChunkName: \"componentUploadStudyForm\" */ '@components/UploadStudyForm'),\n\t},\n\tprops: {\n\t\tids: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tconsultantId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tattachmentDrop: undefined,\n\t\t\timageDrop: undefined,\n\t\t\tstudyMetadata: [],\n\t\t\tuploadedStudyIds: [],\n\t\t\tuploadedBatchIds: [],\n\t\t\tuploadData,\n\t\t}\n\t},\n\tcomputed: {\n\t\tpendingJpegUploadCount() {\n\t\t\treturn this.uploadData.getPendingUploads(UPLOAD_CONTEXT).filter(u => u.isImage).length\n\t\t},\n\t\tpendingAttachmentUploadCount() {\n\t\t\treturn this.uploadData.getPendingUploads(UPLOAD_CONTEXT).filter(u => u.isAttachment).length\n\t\t},\n\t\tisUploadError() {\n\t\t\treturn this.uploadData.isUploadError(UPLOAD_CONTEXT)\n\t\t},\n\t\texcludedFiles() {\n\t\t\treturn this.uploadData.excludedFiles.filter(upload => upload.context === UPLOAD_CONTEXT)\n\t\t},\n\t\tuploads() {\n\t\t\treturn this.uploadData.uploads.filter(upload => upload.context === UPLOAD_CONTEXT)\n\t\t},\n\t\trequestConsultant() {\n\t\t\treturn workflow.consultant\n\t\t},\n\t\texcludedImages() {\n\t\t\treturn this.excludedFiles.filter(upload => !upload.isAttachment)\n\t\t},\n\t\texcludedAttachments() {\n\t\t\treturn this.excludedFiles.filter(upload => upload.isAttachment)\n\t\t},\n\t\timages() {\n\t\t\treturn this.uploads.filter(upload => !upload.isAttachment)\n\t\t},\n\t\tattachments() {\n\t\t\treturn this.uploads.filter(upload => upload.isAttachment)\n\t\t},\n\t\timageBatchIds() {\n\t\t\treturn [...new Set(this.images.map(upload => upload.batchId))]\n\t\t},\n\t\tattachmentBatchIds() {\n\t\t\treturn [...new Set(this.attachments.map(upload => upload.batchId))]\n\t\t},\n\t\tbatchIds() {\n\t\t\t// excludes any blank/null batchIds to prevent extra study metadata forms\n\t\t\treturn [...new Set(this.uploads.map(upload => upload.batchId).filter(Boolean))]\n\t\t},\n\t\tstudyIds() {\n\t\t\tconst studyIds = [...this.ids, ...this.uploadedStudyIds]\n\t\t\treturn [...new Set(studyIds)] // dedupe\n\t\t},\n\t\tlastStudyMetadata() {\n\t\t\tif (!this.studyMetadata.length) return\n\t\t\treturn this.studyMetadata[this.studyMetadata.length - 1]\n\t\t},\n\t\tshowAttachmentStudyForm() {\n\t\t\treturn (\n\t\t\t\tthis.pendingAttachmentUploadCount && // have pending attachments\n\t\t\t\t!this.pendingJpegUploadCount && // and not showing jpeg form\n\t\t\t\t// and cannot copy metadata from existing study (hides form while getting batchId)\n\t\t\t\t!this.uploads.some(upload => !!upload.studyInstanceUid)\n\t\t\t)\n\t\t},\n\t\tcanGoNext() {\n\t\t\tif (!this.requestConsultant) return false\n\t\t\t// make sure no uploads are waiting on metadata from the user\n\t\t\tif (this.pendingAttachmentUploadCount || this.pendingJpegUploadCount) return false\n\t\t\t// make sure user has added required images\n\t\t\tconst hasUploads = this.uploads.some(upload => upload.studyInstanceUid)\n\t\t\tconst hasRequiredImages =\n\t\t\t\tthis.requestConsultant.isImageOptional || this.images.some(upload => upload.studyInstanceUid)\n\t\t\tif (!this.ids.length && !(hasUploads && hasRequiredImages)) return false\n\t\t\t// make sure uploads are uploaded, processed, and error-free\n\t\t\tif (uploadData.isUploading(UPLOAD_CONTEXT)) return false\n\t\t\tif (this.batchIds.length !== this.uploadedBatchIds.length) return false\n\t\t\tif (this.isUploadError) return false\n\t\t\tif (!this.studyIds.length) return false\n\t\t\treturn true\n\t\t},\n\t},\n\twatch: {\n\t\tcanGoNext: {\n\t\t\thandler(canGoNext) {\n\t\t\t\tthis.updateNextRoute()\n\t\t\t\tworkflow.canGoNext = canGoNext\n\t\t\t},\n\t\t\timmediate: true,\n\t\t},\n\t\tstudyIds: {\n\t\t\t// ensure any added studyIds get passed to next route\n\t\t\thandler() {\n\t\t\t\tthis.updateNextRoute()\n\t\t\t},\n\t\t\timmediate: true,\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.attachmentDrop = this.$refs.attachmentDrop\n\t\tthis.imageDrop = this.$refs.imageDrop\n\t},\n\tmethods: {\n\t\tclearExcludedFiles(context) {\n\t\t\tuploadData.CLEAR_UPLOAD_EXCLUDED_FILES(context)\n\t\t},\n\t\tgetUploadsInBatch(batchId) {\n\t\t\treturn this.uploads.filter(upload => upload.batchId === batchId || (!upload.batchId && !batchId))\n\t\t},\n\t\taddUploadedBatch({ batchId, studyId, imageId, reportTemplateImageViewId }) {\n\t\t\tif (batchId && !this.uploadedBatchIds.includes(batchId)) {\n\t\t\t\tthis.uploadedBatchIds.push(batchId)\n\t\t\t}\n\t\t\tif (studyId && !this.uploadedStudyIds.includes(studyId)) {\n\t\t\t\tthis.uploadedStudyIds.push(studyId)\n\t\t\t}\n\t\t},\n\t\taddStudyMetadata(study) {\n\t\t\tif (this.studyMetadata.some(metadata => metadata.studyId === study.studyId)) return\n\t\t\tthis.studyMetadata.push(study)\n\t\t},\n\t\tasync removeExistingStudy({ studyId, requireConfirmation = true }) {\n\t\t\tconst warning = 'Are you sure you want to remove this study?'\n\t\t\tif (requireConfirmation && !(await showConfirm(warning))) return\n\t\t\tthis.studyMetadata = this.studyMetadata.filter(metadata => metadata.studyId !== studyId)\n\t\t\tconst newIds = this.ids.filter(id => id !== studyId)\n\t\t\tthis.$router.replace({\n\t\t\t\tquery: {\n\t\t\t\t\t...this.$route.query,\n\t\t\t\t\tstudyId: newIds.join(','),\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t\tasync removeImages({ batchId, studyInstanceUid, studyId }) {\n\t\t\tconst warning = 'Are you sure you want to remove this upload?'\n\t\t\tif (!(await showConfirm(warning))) return\n\t\t\tconst imagesInBatch = this.images.filter(i => i.batchId === batchId)\n\t\t\timagesInBatch.forEach(u => this.removeFile({ ...u, batchId, studyInstanceUid, studyId }, false))\n\t\t},\n\t\tasync removeFile({ batchId, isAttachment, sopInstanceUid, studyInstanceUid, studyId }, showWarning = true) {\n\t\t\tconst warning = 'Are you sure you want to remove this upload?'\n\t\t\tif (showWarning && !(await showConfirm(warning))) return\n\t\t\tuploadData.stopUploads({ sopInstanceUid })\n\t\t\tif (batchId && !this.batchIds.includes(batchId))\n\t\t\t\tthis.uploadedBatchIds = this.uploadedBatchIds.filter(i => i !== batchId)\n\t\t\tif (studyId && !this.uploads.some(a => a.studyInstanceUid === studyInstanceUid)) {\n\t\t\t\tthis.uploadedStudyIds = this.uploadedStudyIds.filter(i => i !== studyId)\n\t\t\t}\n\t\t\t// delete newly uploaded attachments from the study\n\t\t\tif (isAttachment)\n\t\t\t\tthis.$api.study.deleteSeries({\n\t\t\t\t\tsopInstanceUid,\n\t\t\t\t\tstudyId,\n\t\t\t\t})\n\t\t},\n\t\tasync selectFromExisting() {\n\t\t\tconst study = await openUserStudiesDlg()\n\t\t\tif (!study || this.ids.includes(study.studyId)) return\n\t\t\tthis.$router.replace({\n\t\t\t\tquery: {\n\t\t\t\t\t...this.$route.query,\n\t\t\t\t\tstudyId: [...this.ids, study.studyId].join(','),\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t\tupdateNextRoute() {\n\t\t\tif (!this.requestConsultant) return\n\t\t\tlet nextRoute\n\t\t\t// route to either full report form or image-only submission form\n\t\t\tif (this.requestConsultant.type === 'ImageOnly') nextRoute = 'request-submit-image-only'\n\t\t\telse nextRoute = 'request-submit-report'\n\t\t\t// add final list of studyIds to query\n\t\t\tworkflow.nextRoute = {\n\t\t\t\tname: nextRoute,\n\t\t\t\tquery: { ...this.$route.query, studyId: this.studyIds.join(',') },\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.image-only-message {\n\tbackground: var(--card-bg);\n\tborder-left: 3px solid var(--icon-info);\n\tmargin-bottom: 20px;\n\tpadding: 8px;\n}\nh3 {\n\tmargin-bottom: 20px;\n}\n.plus {\n\tfont-size: 1.4em;\n\tpadding-right: 8px;\n\tmargin: -0.2em 0;\n}\n.study-card {\n\tmargin: 15px 0;\n}\n.upload-section {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmax-width: 800px;\n}\n.upload-section + .upload-section {\n\tpadding-top: 40px;\n}\n.upload-form {\n\tmin-height: 200px;\n}\n.upload-progress {\n\ttext-align: center;\n\tfont-size: 1.5em;\n\tpadding-bottom: 1em;\n\tfont-weight: 400;\n\t.upload-percent {\n\t\ttext-align: center;\n\t\tfont-weight: 300;\n\t}\n}\n.upload-items {\n\tmin-height: 0;\n\tpadding-top: 30px;\n\n\tol {\n\t\tlist-style-type: none;\n\t\tposition: relative;\n\t\tbutton.close {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tpadding: 15px;\n\t\t\tbackground: transparent;\n\t\t\tborder: 0;\n\t\t}\n\t}\n}\n.attachment-study-form {\n\tbackground: var(--secondary-bg);\n\tborder: 1px solid var(--secondary-border);\n\tmargin: 15px 0;\n\tmax-width: 1000px;\n\tpadding: 15px 30px 15px 15px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadConsultation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadConsultation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UploadConsultation.vue?vue&type=template&id=3a271d6e&scoped=true\"\nimport script from \"./UploadConsultation.vue?vue&type=script&lang=js\"\nexport * from \"./UploadConsultation.vue?vue&type=script&lang=js\"\nimport style0 from \"./UploadConsultation.vue?vue&type=style&index=0&id=3a271d6e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a271d6e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_c('div',{staticClass:\"list-scroll\"},[_c('user-study-table',{on:{\"select-study\":_vm.onSendStudy}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"page-wrapper\">\n\t\t<div class=\"list-scroll\">\n\t\t\t<user-study-table @select-study=\"onSendStudy\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport UserStudyTable from '@components/UserStudiesTable.vue'\nimport workflow from '@services/workflow'\n\nexport default {\n\tcomponents: {\n\t\tUserStudyTable,\n\t},\n\tmethods: {\n\t\tonSendStudy({ studyId }) {\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'request-consultants',\n\t\t\t\tquery: { studyId },\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploads.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploads.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageUploads.vue?vue&type=template&id=2fca121c\"\nimport script from \"./ImageUploads.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUploads.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"study-card\"},[(_vm.showDetails)?_c('div',{staticClass:\"study-details\"},[(_vm.isLoading)?[_c('svg-icon',{attrs:{\"icon\":\"spinner\",\"pulse\":\"\",\"fixed\":\"\"}})]:[_c('div',{staticClass:\"status-icon\"},[_c('svg-icon',{class:_vm.iconClass,attrs:{\"icon\":_vm.icon,\"fixed\":\"\",\"pulse\":_vm.icon === 'spinner'}})],1),_c('div',[(_vm.saleAttachmentDescription)?[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.saleAttachmentDescription))])])]:[(_vm.patientName)?_c('p',[_c('strong',[_vm._v(_vm._s(_vm.patientName))])]):_vm._e(),(_vm.patientId)?_c('p',[_vm._v(\"ID: \"+_vm._s(_vm.patientId))]):_vm._e()],(_vm.uploads && _vm.uploads.length === 1 && _vm.uploads[0].isAttachment)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.uploads[0].file.name)+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_c('p',{staticClass:\"study-date\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm._f(\"localizeDate\")(_vm.studyDateTime,{ forceUTC: false, showTime: false }))+\"\\n\\t\\t\\t\\t\")]),(_vm.imageData)?_c('p',[_vm._v(_vm._s(_vm.imageAndAttachmentCounts))]):_vm._e(),(_vm.uploads && _vm.uploads.length)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.uploads.length)+\" file\"+_vm._s(_vm.uploads.length > 1 ? 's' : '')+\" (\"+_vm._s(_vm._f(\"fileSize\")(_vm.totalSize))+\")\\n\\t\\t\\t\\t\\t\"),(_vm.study.modality)?_c('span',{staticClass:\"modality\"},[_vm._v(_vm._s(_vm.modality))]):_vm._e()]):_vm._e()],2)]],2):_vm._e(),_vm._t(\"default\"),(_vm.progressPercent != null && _vm.progressPercent < 100)?_c('div',{staticClass:\"study-progress\"},[_c('p',{staticClass:\"progress-status\"},[_vm._v(_vm._s(_vm.progressStatus)+\" …\")]),_c('progress-bar',{attrs:{\"width\":_vm.progressPercent}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.progressPercent)+\"%\\n\\t\")],1):_vm._e(),(_vm.showCloseButton && !_vm.isLoading)?_c('ast-button',{staticClass:\"close\",nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('close')}}},[_c('svg-icon',{attrs:{\"icon\":\"close\"}})],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"study-card\">\n\t\t<div v-if=\"showDetails\" class=\"study-details\">\n\t\t\t<template v-if=\"isLoading\">\n\t\t\t\t<svg-icon icon=\"spinner\" pulse fixed />\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<div class=\"status-icon\">\n\t\t\t\t\t<svg-icon :icon=\"icon\" fixed :pulse=\"icon === 'spinner'\" :class=\"iconClass\" />\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<template v-if=\"saleAttachmentDescription\">\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t<strong>{{ saleAttachmentDescription }}</strong>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<p v-if=\"patientName\">\n\t\t\t\t\t\t\t<strong>{{ patientName }}</strong>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p v-if=\"patientId\">ID: {{ patientId }}</p>\n\t\t\t\t\t</template>\n\t\t\t\t\t<p v-if=\"uploads && uploads.length === 1 && uploads[0].isAttachment\">\n\t\t\t\t\t\t{{ uploads[0].file.name }}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"study-date\">\n\t\t\t\t\t\t{{ studyDateTime | localizeDate({ forceUTC: false, showTime: false }) }}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p v-if=\"imageData\">{{ imageAndAttachmentCounts }}</p>\n\t\t\t\t\t<p v-if=\"uploads && uploads.length\">\n\t\t\t\t\t\t{{ uploads.length }} file{{ uploads.length > 1 ? 's' : '' }} ({{\n\t\t\t\t\t\t\ttotalSize | fileSize\n\t\t\t\t\t\t}})\n\t\t\t\t\t\t<span v-if=\"study.modality\" class=\"modality\">{{ modality }}</span>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t\t<!-- Slot content -->\n\t\t<slot></slot>\n\t\t<!-- Progressbar -->\n\t\t<div v-if=\"progressPercent != null && progressPercent < 100\" class=\"study-progress\">\n\t\t\t<p class=\"progress-status\">{{ progressStatus }} …</p>\n\t\t\t<progress-bar :width=\"progressPercent\" />\n\t\t\t{{ progressPercent }}%\n\t\t</div>\n\t\t<!-- Close button -->\n\t\t<ast-button\n\t\t\tv-if=\"showCloseButton && !isLoading\"\n\t\t\tclass=\"close\"\n\t\t\t@click.native.stop=\"$emit('close')\"\n\t\t>\n\t\t\t<svg-icon icon=\"close\" />\n\t\t</ast-button>\n\t</div>\n</template>\n\n<script>\nimport AstButton from '@components/Button'\nimport ProgressBar from '@components/ProgressBar'\nimport { showAlert } from '@dialogs/MessageDlg.vue'\n\nexport default {\n\tname: 'StudyCard',\n\tcomponents: {\n\t\tAstButton,\n\t\tProgressBar,\n\t},\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'check-circle',\n\t\t},\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: 'is-success',\n\t\t},\n\t\tuploads: {\n\t\t\ttype: Array,\n\t\t\tdefault: null,\n\t\t},\n\t\tshowCloseButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tshowDetails: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tstudy: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tprogressPercent: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tprogressStatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tpatientName: null,\n\t\t\tpatientId: null,\n\t\t\tstudyDateTime: null,\n\t\t\timageCount: null,\n\t\t\timageData: undefined,\n\t\t}\n\t},\n\tcomputed: {\n\t\ttotalSize() {\n\t\t\tif (!this.uploads) return\n\t\t\tconst sizes = this.uploads.map(upload => upload.file.size)\n\t\t\treturn sizes.reduce((a, b) => a + b, 0)\n\t\t},\n\t\tmodality() {\n\t\t\t// if study.modality is actually a modalityId, convert it to the modality name\n\t\t\tconst modalityById = this.$store.state.static.modalities.find(\n\t\t\t\tm => m.id === this.study.modality\n\t\t\t)\n\t\t\treturn modalityById ? modalityById.name : this.study.modality\n\t\t},\n\t\timageAndAttachmentCounts() {\n\t\t\tif (!this.imageData) return\n\t\t\tconst counts = []\n\t\t\tconst attachments = this.imageData.attachments && this.imageData.attachments.length\n\t\t\tif (this.imageCount)\n\t\t\t\tcounts.push(`${this.imageCount} image` + `${this.imageCount === 1 ? '' : 's'}`)\n\t\t\tif (attachments) counts.push(`${attachments} attachment` + `${attachments === 1 ? '' : 's'}`)\n\t\t\treturn counts.join(' and ')\n\t\t},\n\t\tsaleAttachmentDescription() {\n\t\t\tif (this.patientId !== this.patientName) return null\n\t\t\tif (this.uploads && this.uploads.length === 1) return this.uploads[0].description\n\t\t\tconst attachments = this.imageData && this.imageData.attachments\n\t\t\tif (attachments && attachments.length)\n\t\t\t\treturn attachments[0].description || attachments[0].friendlyName\n\t\t\treturn null\n\t\t},\n\t},\n\twatch: {\n\t\tstudy: {\n\t\t\thandler(study) {\n\t\t\t\tif (study.patientName || study.patientId) {\n\t\t\t\t\tthis.patientName = study.patientName\n\t\t\t\t\tthis.patientId = study.patientId\n\t\t\t\t\tthis.studyDateTime = study.studyDateTime\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeep: true,\n\t\t\timmediate: true,\n\t\t},\n\t\t'study.studyId': {\n\t\t\thandler(newVal, oldVal) {\n\t\t\t\tif (newVal && newVal !== oldVal) this.getStudy()\n\t\t\t},\n\t\t\tdeep: true,\n\t\t\timmediate: true,\n\t\t},\n\t},\n\tmethods: {\n\t\tasync getStudy() {\n\t\t\tthis.isLoading = true\n\t\t\ttry {\n\t\t\t\tconst { studies, deletedStudies } = await this.$api.viewer.getStudy(\n\t\t\t\t\t{ ids: [this.study.studyId] },\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t\tif (studies && studies.length) {\n\t\t\t\t\tconst study = studies[0]\n\t\t\t\t\tconst attachments = study.imageData.attachments || []\n\t\t\t\t\tthis.patientName = study.patientName\n\t\t\t\t\tthis.patientId = study.patientId\n\t\t\t\t\tthis.imageData = study.imageData\n\t\t\t\t\tthis.imageCount = study.imageCount - attachments.length\n\t\t\t\t\tthis.studyDateTime = study.studyDateTime\n\t\t\t\t\tthis.$emit('get-study', study)\n\t\t\t\t} else if (deletedStudies && deletedStudies.length) {\n\t\t\t\t\tthis.$emit('force-close')\n\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t'The selected study was deleted from the source account and is no longer available.'\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tthis.$emit('force-close')\n\t\t\t\t\tshowAlert('The selected study is no longer available.')\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.isLoading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '~@styles/_vars.scss';\n.study-card {\n\tbackground: var(--secondary-bg);\n\tborder: 1px solid var(--secondary-border);\n\tpadding: 15px 30px 15px 15px;\n\tposition: relative;\n\tmax-width: 1000px;\n\t.study-details {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tuser-select: none;\n\t\tp {\n\t\t\tword-break: break-word;\n\t\t}\n\t\tp.file-count {\n\t\t\tpadding-top: 0.5em;\n\t\t}\n\t\tstrong {\n\t\t\tfont-weight: 400;\n\t\t}\n\t\t.status-icon .icon {\n\t\t\tfont-size: 1.25em;\n\t\t\tmargin-right: 15px;\n\t\t}\n\t}\n\t.upload-status {\n\t\tmargin-top: 15px;\n\t\tmin-height: 2em;\n\t}\n\t.study-date {\n\t\tfont-size: 0.75em;\n\t}\n\t.modality {\n\t\tfont-size: 0.7em;\n\t\tpadding: 0.125em 0.25em;\n\t\tbackground: var(--tertiary-bg);\n\t}\n\tbutton.close {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tpadding: 15px;\n\t\tbackground: transparent;\n\t\tborder: 0;\n\t}\n\t.study-progress {\n\t\tpadding: 15px 15px 0 15px;\n\t\tfont-size: 0.9em;\n\t\ttext-align: center;\n\t\t.progress-status {\n\t\t\tfont-style: italic;\n\t\t\tmargin-bottom: 4px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StudyCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StudyCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StudyCard.vue?vue&type=template&id=b88f63a8&scoped=true\"\nimport script from \"./StudyCard.vue?vue&type=script&lang=js\"\nexport * from \"./StudyCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./StudyCard.vue?vue&type=style&index=0&id=b88f63a8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b88f63a8\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}