diff --git a/src/main.js b/src/main.js index 1c7574dc..d4bdb191 100644 --- a/src/main.js +++ b/src/main.js @@ -374,7 +374,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 2ae9561f..71f813b9 100644 --- a/src/utils/uploadZip.js +++ b/src/utils/uploadZip.js @@ -1,10 +1,10 @@ import Vue from 'vue'; +import store from "@/store"; import { requestPackageAndAnonymizImage, } from "@/api/load.js"; import streamSaver from "streamsaver"; import "streamsaver/examples/zip-stream.js" -import store from '@/store'; let flag = {}; export const resetFlag = () => { flag = {}; @@ -13,6 +13,7 @@ export const resetFlag = () => { clearInterval(store.state.trials.timer); store.state.trials.timer = null; } + 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')); @@ -24,6 +25,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) { @@ -86,6 +88,7 @@ let download = async (downloadUrl, downloadFileName, res) => { const blob = await getBlob(downloadUrl); flag[`${res.id2}_${res.IsDicom}`] = false; store.state.trials.uploadTip = null; + store.dispatch("trials/setUnLock", false); saveAsB(blob, downloadFileName); return true; } 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/reading/reReading-tracking/index.vue b/src/views/trials/trials-panel/reading/reReading-tracking/index.vue index 88c96737..17a67283 100644 --- a/src/views/trials/trials-panel/reading/reReading-tracking/index.vue +++ b/src/views/trials/trials-panel/reading/reReading-tracking/index.vue @@ -313,8 +313,9 @@ {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} - {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} - {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} + {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} + {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} + {{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }} @@ -784,7 +785,7 @@ export default { this.signVisible = false } }, - confirmReReading(row, type, open, signInfo) { + async confirmReReading(row, type, open, signInfo) { if (open) { this.rowData = { ...row } this.ConfirmReReadingVisible = true @@ -794,41 +795,41 @@ export default { return } if (type === 2) { - this.$refs.reasonForm.validate((valid) => { - if (!valid) return - var params = { - data: { - ConfirmReReadingList: [ - { - Id: row.Id, - OriginalReReadingTaskId: row.OriginalReReadingTaskId, - RootReReadingTaskId: row.RootReReadingTaskId, - NewReReadingTaskId: row.NewReReadingTaskId - } - ], - RequestReReadingRejectReason: this.ConfirmReReadingForm.RequestReReadingRejectReason, - TrialId: this.$route.query.trialId, - RequestReReadingResultEnum: type - }, - signInfo: signInfo - } - this.loading = true - this.btnLoading = true - confirmReReading(params).then(() => { - this.loading = false - this.btnLoading = false - // 同意申请成功/拒绝申请成功 - this.$message.success(`${type === 1 ? this.$t('trials:rereadTrack:message:msg3') : this.$t('trials:rereadTrack:message:msg4')}`) - this.$refs['signForm'].btnLoading = false - this.signVisible = false - this.getList() - this.ConfirmReReadingVisible = false - }).catch(() => { - this.loading = false - this.$refs['signForm'].btnLoading = false - this.btnLoading = false - }) - }) + let valid = await this.$refs.reasonForm.validate() + if (!valid) return + var params = { + data: { + ConfirmReReadingList: [ + { + Id: row.Id, + OriginalReReadingTaskId: row.OriginalReReadingTaskId, + RootReReadingTaskId: row.RootReReadingTaskId, + NewReReadingTaskId: row.NewReReadingTaskId + } + ], + RequestReReadingRejectReason: this.ConfirmReReadingForm.RequestReReadingRejectReason, + TrialId: this.$route.query.trialId, + RequestReReadingResultEnum: type + }, + signInfo: signInfo + } + this.loading = true + this.btnLoading = true + try { + await confirmReReading(params) + this.loading = false + this.btnLoading = false + // 同意申请成功/拒绝申请成功 + this.$message.success(`${type === 1 ? this.$t('trials:rereadTrack:message:msg3') : this.$t('trials:rereadTrack:message:msg4')}`) + this.$refs['signForm'].btnLoading = false + this.signVisible = false + this.getList() + this.ConfirmReReadingVisible = false + } catch (e) { + this.loading = false + this.$refs['signForm'].btnLoading = false + this.btnLoading = false + } return } var params = { @@ -848,21 +849,29 @@ export default { } this.loading = true this.btnLoading = true - confirmReReading(params).then(() => { + try { + let res = await confirmReReading(params) this.loading = false this.btnLoading = false - // this.$message.success(`${type === 1 ? '同意' : '拒绝'}申请成功`) - // 同意申请成功/拒绝申请成功 - this.$message.success(`${type === 1 ? this.$t('trials:rereadTrack:message:msg3') : this.$t('trials:rereadTrack:message:msg4')}`) - this.ReReadingOrBackVisible = false this.$refs['signForm'].btnLoading = false - this.signVisible = false - this.getList() - }).catch(() => { + if (res.ErrorMessage) { + let alert = await this.$alert(res.ErrorMessage) + if (alert !== "confirm") return + this.ReReadingOrBackVisible = false + this.signVisible = false + this.getList() + } else { + // 同意申请成功/拒绝申请成功 + this.$message.success(`${type === 1 ? this.$t('trials:rereadTrack:message:msg3') : this.$t('trials:rereadTrack:message:msg4')}`) + this.ReReadingOrBackVisible = false + this.signVisible = false + this.getList() + } + } catch (e) { this.loading = false this.$refs['signForm'].btnLoading = false this.btnLoading = false - }) + } }, assignSubjectTaskToDoctor(row, type) { this.rowData = { ...row } 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