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