From 16b6f5f8b175d2a3ba18e0fa65bc217890f08fd6 Mon Sep 17 00:00:00 2001 From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com> Date: Fri, 19 Jul 2024 10:14:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9B=91=E6=8E=A7=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E3=80=81=E9=9D=9Edicom=E4=B8=8A=E4=BC=A0=E5=92=8C?= =?UTF-8?q?=E6=8C=87=E6=8E=A7=E4=B8=8B=E8=BD=BD=E6=8E=92=E9=99=A4=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=99=BB=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 4 ++- src/utils/uploadZip.js | 6 +++- src/views/none-dicom-show/index.vue | 2 +- src/views/none-dicom-show/multiple.vue | 2 +- .../components/uploadNonDicomFiles.vue | 36 ++++++++++++------- 5 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/main.js b/src/main.js index 201e709b..65322394 100644 --- a/src/main.js +++ b/src/main.js @@ -367,7 +367,9 @@ async function VueInit() { } _vm.$store.dispatch('user/logout').then(res => { // window.location.href = `/login` - _vm.$msgbox.close(); + if(_vm.$msgbox){ + _vm.$msgbox.close(); + } isOpen = false isLock = null zzSessionStorage.removeItem('isLock') diff --git a/src/utils/uploadZip.js b/src/utils/uploadZip.js index c027eb85..45b6f563 100644 --- a/src/utils/uploadZip.js +++ b/src/utils/uploadZip.js @@ -2,12 +2,14 @@ import JSZip from "jszip"; import axios from "axios"; import { saveAs } from "file-saver"; import Vue from 'vue'; +import store from "@/store"; import { requestPackageAndAnonymizImage, } from "@/api/load.js"; let flag = {}; export const resetFlag = () => { - flag = {} + flag = {}; + store.dispatch("trials/setUnLock", false); } export const downloadImage = async (id, id2, IsDicom = true) => { if (flag[`${id2}_${IsDicom}`]) return Vue.prototype.$message.warning(Vue.prototype.$t('trials:upload:tip:uploading')); @@ -18,6 +20,7 @@ export const downloadImage = async (id, id2, IsDicom = true) => { SubjectVisitId: id2, IsDicom: IsDicom } + store.dispatch("trials/setUnLock", true); let res = await requestPackageAndAnonymizImage(params); if (res.IsSuccess) { if (!res.Result) { @@ -153,6 +156,7 @@ export const fileDownload = (content, filename) => { let download = async (downloadUrl, downloadFileName, res) => { const blob = await getBlob(downloadUrl); flag[`${res.id2}_${res.IsDicom}`] = false; + store.dispatch("trials/setUnLock", false); saveAsB(blob, downloadFileName); } diff --git a/src/views/none-dicom-show/index.vue b/src/views/none-dicom-show/index.vue index 84277cd8..7dae2175 100644 --- a/src/views/none-dicom-show/index.vue +++ b/src/views/none-dicom-show/index.vue @@ -121,7 +121,7 @@ export default { // 获取非Dicom检查信息 getNoneDicomList() { this.loading = true - getNoneDicomStudyList(this.subjectVisitId, this.studyId, true).then(res => { + getNoneDicomStudyList(this.subjectVisitId, this.studyId).then(res => { this.studyList = res.Result this.loading = false const studyIndex = this.studyList.findIndex(item => { diff --git a/src/views/none-dicom-show/multiple.vue b/src/views/none-dicom-show/multiple.vue index 9099021e..49e4d774 100644 --- a/src/views/none-dicom-show/multiple.vue +++ b/src/views/none-dicom-show/multiple.vue @@ -62,7 +62,7 @@ export default { // 获取非Dicom检查信息 getNoneDicomList() { this.loading = true - getNoneDicomStudyList(this.subjectVisitId, '', true).then(res => { + getNoneDicomStudyList(this.subjectVisitId, '').then(res => { this.noneDicomStudyList = res.Result this.loading = false const study = this.noneDicomStudyList.find((item, index) => { diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue index 29ed0a46..d577d26d 100644 --- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue +++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue @@ -412,6 +412,7 @@ import { getToken } from '@/utils/auth' // import PreviewFiles from './previewFiles' import uploadVideos from '@/components/videos' import moment from 'moment' +import store from "@/store"; export default { name: 'UploadNonDicomFiles', components: { uploadVideos }, @@ -470,7 +471,8 @@ export default { uploadVideoVisible: false, trialId: this.$route.query.trialId, moment, - BodyPart:{} + BodyPart:{}, + studyMonitorId: null }; }, async mounted() { @@ -497,6 +499,12 @@ export default { }); } }, + btnLoading(){ + store.dispatch("trials/setUnLock", this.btnLoading); + } + }, + beforeDestroy(){ + store.dispatch("trials/setUnLock", false); }, methods: { // 初始化非Dicom列表数据 @@ -752,11 +760,20 @@ export default { this.selectArr.forEach(item=>item.status = 0); let num = this.selectArr.length > 6 ? 6 : this.selectArr.length; let funArr = []; - for (let i = 0; i < num; i++) { - funArr.push(this.handleUploadTask(this.selectArr, i)); - } - if (funArr.length > 0) { - let res = await Promise.all(funArr); + let res = await preArchiveStudy({ + subjectVisitId: this.subjectVisitId, + isDicom: false + }); + if(res.IsSuccess){ + this.studyMonitorId = res.Result; + for (let i = 0; i < num; i++) { + funArr.push(this.handleUploadTask(this.selectArr, i)); + } + if (funArr.length > 0) { + let res = await Promise.all(funArr); + } + }else{ + this.isFail = true; } } }, @@ -814,16 +831,12 @@ export default { // 非Dicom文件上传归档 submitFile(uploadedFileList){ if(!this.uploadVisible) return; - preArchiveStudy({ - subjectVisitId: this.subjectVisitId, - isDicom: false - }).then(res => { this.btnLoading = true var params = { trialId: this.trialId, subjectVisitId: this.subjectVisitId, noneDicomStudyId:this.currentRow.Id, - studyMonitorId: res.Result, + studyMonitorId: this.studyMonitorId, uploadedFileList: uploadedFileList } uploadNoneDicomFile(params).then(res => { @@ -833,7 +846,6 @@ export default { this.$emit('getList') this.$message.success(this.$t('trials:uploadNonDicoms:message:uploadedSuccessfully')) }).catch(() => { this.btnLoading = false }) - }) }, resetFileDiaolg(){ this.btnLoading = false