diff --git a/src/views/dictionary/template/components/CriterionQuestionForm.vue b/src/views/dictionary/template/components/CriterionQuestionForm.vue index 37267972..3b4ff103 100644 --- a/src/views/dictionary/template/components/CriterionQuestionForm.vue +++ b/src/views/dictionary/template/components/CriterionQuestionForm.vue @@ -430,9 +430,26 @@ - - - + + + + + + - + + + + + +
- +
- +
@@ -317,7 +317,7 @@ import const_ from '@/const/sign-code' import { getToken } from '@/utils/auth' import SignForm from '@/views/trials/components/newSignForm' import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent' -import store from '@/store' +// import store from '@/store' import { changeURLStatic } from '@/utils/history.js' import Viewer from 'v-viewer' export default { @@ -424,48 +424,58 @@ export default { } }, methods: { - getAdInfo() { + async getAdInfo() { this.loading = true - getJudgeReadingInfo({ visitTaskId: this.visitTaskId }).then(res => { - var judgeQS = [] - if (res.Result.VisitInfoList.length > 0) { - res.Result.VisitInfoList[0].VisitTaskInfoList.map((v, index) => { - var qsObj = { armEnum: v.ArmEnum, judgeQuestionList: [], index: index } - v.JudgeQuestionList.map(q => { - if (q.QuestionType === 1) { - qsObj.judgeQuestionList.push(q.QuestionName) - } else if (q.QuestionType === 3 && this.criterionType === 10) { - qsObj.judgeQuestionList.push(this.$t('trials:globalReview:table:visitRemark')) - } else { - qsObj.judgeQuestionList.push(this.$fd('JudgeReadingQuestionType', q.QuestionType)) - } + try { + const res = await getJudgeReadingInfo({ visitTaskId: this.visitTaskId }) + if (res.IsSuccess) { + var judgeQS = [] + if (res.Result.VisitInfoList.length > 0) { + res.Result.VisitInfoList[0].VisitTaskInfoList.map((v, index) => { + var qsObj = { armEnum: v.ArmEnum, judgeQuestionList: [], index: index } + v.JudgeQuestionList.map(q => { + if (q.QuestionType === 1) { + qsObj.judgeQuestionList.push(q.QuestionName) + } else if (q.QuestionType === 3 && this.criterionType === 10) { + qsObj.judgeQuestionList.push(this.$t('trials:globalReview:table:visitRemark')) + } else { + qsObj.judgeQuestionList.push(this.$fd('JudgeReadingQuestionType', q.QuestionType)) + } + }) + judgeQS.push(qsObj) }) - judgeQS.push(qsObj) - }) - } - this.judgeQuestion = judgeQS - this.isFixed = this.judgeQuestion.length > 0 && this.judgeQuestion[0].judgeQuestionList.length > 4 - this.adInfo = res.Result - this.adForm.judgeResultTaskId = res.Result.JudgeResultTaskId + } + this.judgeQuestion = judgeQS + this.isFixed = this.judgeQuestion.length > 0 && this.judgeQuestion[0].judgeQuestionList.length > 4 + this.adInfo = res.Result + this.adForm.judgeResultTaskId = res.Result.JudgeResultTaskId - this.adForm.judgeResultRemark = res.Result.JudgeResultRemark - this.fileList = [] - if (res.Result.JudgeResultImagePathList) { - res.Result.JudgeResultImagePathList.map(url => { - if (url) { this.fileList.push({ name: '', url: url }) } - }) - this.adForm.judgeResultImagePathList = res.Result.JudgeResultImagePathList + this.adForm.judgeResultRemark = res.Result.JudgeResultRemark + this.fileList = [] + if (res.Result.JudgeResultImagePathList) { + res.Result.JudgeResultImagePathList.map(url => { + if (url) { this.fileList.push({ name: '', url: url }) } + }) + this.adForm.judgeResultImagePathList = res.Result.JudgeResultImagePathList + } + this.visitTaskArmList = res.Result.VisitTaskArmList } - this.visitTaskArmList = res.Result.VisitTaskArmList this.loading = false - }).catch(() => { this.loading = false }) + } catch (e) { + this.loading = false + } }, - getPriorAdList() { + async getPriorAdList() { this.priorLoading = true - getReadingPastResultList({ visitTaskId: this.visitTaskId }).then(res => { - this.priorADList = res.Result + try { + const res = await getReadingPastResultList({ visitTaskId: this.visitTaskId }) + if (res.IsSuccess) { + this.priorADList = res.Result + } this.priorLoading = false - }).catch(() => { this.priorLoading = false }) + } catch (e) { + this.priorLoading = false + } }, handleVisitTaskArmChange(v) { var i = this.visitTaskArmList.findIndex(i => i.VisitTaskId === v) @@ -491,33 +501,32 @@ export default { }) window.open(routeData.href, '_blank') }, - handleSave() { - this.$refs['adForm'].validate((valid) => { - if (!valid) return - this.loading = true - var paths = [] - this.fileList.map(file => { - if (file.url) { - paths.push(file.url) - } - }) - this.adForm.judgeResultImagePathList = paths - this.adForm.visitTaskId = this.visitTaskId - saveJudgeVisitTaskResult(this.adForm).then(res => { - this.$message.success(this.$t('common:message:savedSuccessfully')) - this.loading = false - }).catch(() => { - this.loading = false - }) + async handleSave() { + const valid = await this.$refs['adForm'].validate() + if (!valid) return + this.loading = true + var paths = [] + this.fileList.map(file => { + if (file.url) { + paths.push(file.url) + } }) + this.adForm.judgeResultImagePathList = paths + this.adForm.visitTaskId = this.visitTaskId + try { + await saveJudgeVisitTaskResult(this.adForm) + this.$message.success(this.$t('common:message:savedSuccessfully')) + this.loading = false + } catch (e) { + this.loading = false + } }, - handleSubmit() { - this.$refs['adForm'].validate((valid) => { - if (!valid) return - const { ImageAssessmentReportConfirmation } = const_.processSignature - this.signCode = ImageAssessmentReportConfirmation - this.signVisible = true - }) + async handleSubmit() { + const valid = await this.$refs['adForm'].validate() + if (!valid) return + const { ImageAssessmentReportConfirmation } = const_.processSignature + this.signCode = ImageAssessmentReportConfirmation + this.signVisible = true }, // 关闭签名框 closeSignDialog(isSign, signInfo) { @@ -528,7 +537,7 @@ export default { } }, // 签名并确认 - signConfirm(signInfo) { + async signConfirm(signInfo) { this.loading = true var paths = [] this.fileList.map(file => { @@ -543,7 +552,8 @@ export default { }, signInfo: signInfo } - submitJudgeVisitTaskResult(params).then(async res => { + try { + const res = await submitJudgeVisitTaskResult(params) if (res.IsSuccess) { this.$message.success(this.$t('common:message:savedSuccessfully')) this.isEdit = false @@ -553,38 +563,35 @@ export default { // window.opener.postMessage('refreshTaskList', window.location) // 设置当前任务阅片状态为已读 this.adInfo.ReadingTaskState = 2 - var isAutoTask = await this.getAutoTaskVal() + const res = await getAutoCutNextTask() + var isAutoTask = res.Result.AutoCutNextTask if (isAutoTask) { - store.dispatch('reading/resetVisitTasks') - DicomEvent.$emit('getNextTask') + // store.dispatch('reading/resetVisitTasks') + window.location.reload() } else { // '当前阅片任务已完成,是否进入下一个阅片任务?' - this.$confirm(this.$t('trials:adReview:title:msg2'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(() => { - store.dispatch('reading/resetVisitTasks') - DicomEvent.$emit('getNextTask') - }) - .catch(action => { - changeURLStatic('visitTaskId', this.visitTaskId) - }) + const confirm = await this.$confirm( + this.$t('trials:adReview:title:msg2'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm === 'confirm') { + // store.dispatch('reading/resetVisitTasks') + // DicomEvent.$emit('getNextTask') + window.location.reload() + } else { + changeURLStatic('visitTaskId', this.visitTaskId) + } } window.opener.postMessage('refreshTaskList', window.location) } this.loading = false - }).catch(_ => { + } catch (e) { this.loading = false this.$refs['signForm'].btnLoading = false - }) - }, - getAutoTaskVal() { - return new Promise((resolve, reject) => { - getAutoCutNextTask().then(res => { - resolve(res.Result.AutoCutNextTask) - }).catch(() => { reject() }) - }) + } }, handleViewDetail(visitTaskId) { if (this.openWindow) { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/AdditionalAssessment.vue b/src/views/trials/trials-panel/reading/dicoms/components/AdditionalAssessment.vue index b4e33999..e342b6f4 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/AdditionalAssessment.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/AdditionalAssessment.vue @@ -111,10 +111,11 @@ export default { this.isRender = true }, methods: { - handleSave() { - this.$refs.assessmentForm.validate(async valid => { - if (!valid) return - const loading = this.$loading({ fullscreen: true }) + async handleSave() { + const valid = await this.$refs.assessmentForm.validate() + if (!valid) return + const loading = this.$loading({ fullscreen: true }) + try { var answers = [] for (const k in this.form) { answers.push({ questionId: k, answer: this.form[k] }) @@ -123,13 +124,15 @@ export default { visitTaskId: this.visitTaskId, answerList: answers } - submitTaskAdditionalQuestion(params).then(res => { + const res = await submitTaskAdditionalQuestion(params) + if (res.IsSuccess) { this.$emit('sign') - loading.close() - }).catch(() => { - loading.close() - }) - }) + } + loading.close() + } catch (e) { + console.log(e) + loading.close() + } }, handleCancel() { this.$emit('close') diff --git a/src/views/trials/trials-panel/reading/dicoms/components/CustomWwwcForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/CustomWwwcForm.vue index 1922d17b..163b49b3 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/CustomWwwcForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/CustomWwwcForm.vue @@ -1,6 +1,6 @@ + diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue index ddb2848e..20fe04be 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue @@ -14,7 +14,7 @@ :question-form="questionForm" :reading-task-state="readingTaskState" :visit-task-id="visitTaskId" - :pet5PS="questionForm[pet5PSId]" + :pet5p-s="questionForm[pet5PSId]" :lung-is-inside-volume="lungIsInsideVolume" :liver-is-inside-volume="liverIsInsideVolume" @setFormItemData="setFormItemData" @@ -163,42 +163,49 @@ export default { } this.initList(true) }, - initList(isInit) { + async initList(isInit) { this.loading = true - var params = { - trialId: this.trialId, - visitTaskId: this.visitTaskId, - questionClassify: 0 - } - getDicomReadingQuestionAnswer(params).then(res => { - var questions = res.Result + try { + const params = { + trialId: this.trialId, + visitTaskId: this.visitTaskId, + questionClassify: 0 + } + const res = await getDicomReadingQuestionAnswer(params) + if (res.IsSuccess) { + const questions = res.Result - questions.map((v) => { - v.IsBaseLineTask = this.isBaseLineTask - if (v.Type === 'group' && v.Childrens.length === 0) return - if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') { - this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null) - } - if (v.Childrens.length > 0) { - this.setChild(v.Childrens) - } - }) - this.questions = questions - this.setPet5PSCommentDisplay() - this.measurements = [] - res.OtherInfo.QuestionMarkInfoList.forEach(i => { - if (i.OtherMeasureData) { - i.OtherMeasureData = JSON.parse(i.OtherMeasureData) - if (i.QuestionType === 51 && isInit) { - this.liverRender = false - } else if (i.QuestionType === 52 && isInit) { - this.lungRender = false + questions.map((v) => { + v.IsBaseLineTask = this.isBaseLineTask + if (v.Type === 'group' && v.Childrens.length === 0) return + if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') { + this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null) } - } - this.measurements.push(i) - }) + if (v.Childrens.length > 0) { + this.setChild(v.Childrens) + } + }) + console.log(this.questionForm,questions) + this.questions = questions + this.setPet5PSCommentDisplay() + this.measurements = [] + res.OtherInfo.QuestionMarkInfoList.forEach(i => { + if (i.OtherMeasureData) { + i.OtherMeasureData = JSON.parse(i.OtherMeasureData) + if (i.QuestionType === 51 && isInit) { + this.liverRender = false + } else if (i.QuestionType === 52 && isInit) { + this.lungRender = false + } + } + this.measurements.push(i) + }) + } this.loading = false - }).catch(() => { this.loading = false }) + } catch (e) { + console.log(e) + this.loading = false + } }, setChild(obj) { obj.forEach(i => { @@ -263,37 +270,28 @@ export default { // } }) }, - saveQuestionsForm() { + async saveQuestionsForm() { this.loading = true - var answers = [] - for (const k in this.questionForm) { - answers.push({ id: k, answer: this.questionForm[k] }) - } - // var questionMarkInfoList = [] - // this.measurements.forEach(item => { - // var i = Object.assign({}, item) - // if (i.OtherMeasureData) { - // for (const k in i.OtherMeasureData.data.cachedStats) { - // i.OtherMeasureData.data.cachedStats[k].pointsInShape = [] - // } - // i.OtherMeasureData = JSON.stringify(i.OtherMeasureData) - // } - - // questionMarkInfoList.push(i) - // }) - var params = { - visitTaskId: this.visitTaskId, - answers: answers - // questionMarkInfoList - } - saveTaskQuestion(1, params).then(async res => { - window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) + try { + var answers = [] + for (const k in this.questionForm) { + answers.push({ id: k, answer: this.questionForm[k] }) + } + var params = { + visitTaskId: this.visitTaskId, + answers: answers + } + const res = await saveTaskQuestion(1, params) + if (res.IsSuccess) { + window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) + this.loading = false + this.questionFormChangeState = false + this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) + } + } catch (e) { + console.log(e) this.loading = false - this.questionFormChangeState = false - this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) - }).catch(() => { - this.loading = false - }) + } }, checkAnnotationStatus(obj) { for (let i = 0; i < obj.length; i++) { @@ -422,21 +420,27 @@ export default { break } } - var params = { - visitTaskId: this.visitTaskId, - answers, - questionMarkInfoList + try { + var params = { + visitTaskId: this.visitTaskId, + answers, + questionMarkInfoList + } + const qsType = question.QuestionType === 51 ? 2 : question.QuestionType === 52 ? 3 : null + + const res = await saveTaskQuestion(qsType, params) + if (res.IsSuccess) { + this.$set(question, 'SaveEnum', 0) + window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) + loading.close() + this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) + this.resetSuvQuestions(1) + } + loading.close() + } catch (e) { + console.log(e) + loading.close() } - const qsType = question.QuestionType === 51 ? 2 : question.QuestionType === 52 ? 3 : null - saveTaskQuestion(qsType, params).then(async res => { - this.$set(question, 'SaveEnum', 0) - window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) - loading.close() - this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) - this.resetSuvQuestions(1) - }).catch(() => { - loading.close() - }) }) }, viewAnnotations(question) { @@ -622,7 +626,7 @@ export default { console.log('setfocalFDG') if (this.questionForm[this.pet5PSId] !== '-1' && this.questionForm[this.focalFDGId] === '1') { this.questionForm[this.focalFDGId] = '' - } + } }, setpet5PS() { console.log('setpet5PS') @@ -654,40 +658,38 @@ export default { return '' } }, - resetSuvQuestions(type = 0) { + async resetSuvQuestions(type = 0) { this.loading = true - var params = { - trialId: this.trialId, - visitTaskId: this.visitTaskId, - questionClassify: 0 - } - getDicomReadingQuestionAnswer(params).then(res => { - var questions = res.Result - questions.map((v) => { - if (v.Type === 'group' && v.Childrens.length === 0) return - // if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') { - // this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null) - // } - if (v.Childrens.length > 0) { - this.setSuvChild(v.Childrens, type) - } - // var pet5PS = this.setpet5PS() - // this.questionForm[this.pet5PSId] = pet5PS - // this.calculatePet5PS = pet5PS - // this.setPet5PSCommentDisplay() - // this.setUptakeFormBaseline() - }) - for (let i = 0; i < this.questions[0].Childrens[0].Childrens.length; i++) { - if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) { - this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 2 - this.questions[0].Childrens[0].Childrens[i].IsRequired = 3 - this.questionForm[this.pet5PSCommentsId] = '' - break - } + try { + const params = { + trialId: this.trialId, + visitTaskId: this.visitTaskId, + questionClassify: 0 + } + const res = await getDicomReadingQuestionAnswer(params) + if (res.IsSuccess) { + const questions = res.Result + questions.map((v) => { + if (v.Type === 'group' && v.Childrens.length === 0) return + if (v.Childrens.length > 0) { + this.setSuvChild(v.Childrens, type) + } + }) + for (let i = 0; i < this.questions[0].Childrens[0].Childrens.length; i++) { + if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) { + this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 2 + this.questions[0].Childrens[0].Childrens[i].IsRequired = 3 + this.questionForm[this.pet5PSCommentsId] = '' + break + } + } + this.questionFormChangeState = true } - this.questionFormChangeState = true this.loading = false - }).catch(() => { this.loading = false }) + } catch (e) { + console.log(e) + this.loading = false + } }, setSuvChild(obj, type) { obj.forEach(i => { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/TableQuestionItem.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/TableQuestionItem.vue index 0fd43d8b..f16cbf50 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/TableQuestionItem.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/TableQuestionItem.vue @@ -316,7 +316,7 @@ export default { this.$set(this.questionForm, 'OrganInfoId', this.answers.OrganInfoId ? this.answers.OrganInfoId : '') // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整 - var lesionState = this.getQuestionVal(7) + // var lesionState = this.getQuestionVal(7) if (!isRerender) { if (this.questionForm.RowId) { this.$set(this.questionForm, 'saveTypeEnum', 2) @@ -625,7 +625,7 @@ export default { } } } - var lesionState = this.getQuestionVal(7) + // var lesionState = this.getQuestionVal(7) if (this.firstRenderAnnotation) { this.$set(this.questionForm, 'saveTypeEnum', 2) } else { @@ -871,75 +871,79 @@ export default { this.deleteInfo = null params.rowId = '' } - submitTableQuestion(params).then(async res => { - this.currentMarkTool = otherMeasureData ? otherMeasureData.type : '' - // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整 + try { + const res = await submitTableQuestion(params) + if (res.IsSuccess) { + this.currentMarkTool = otherMeasureData ? otherMeasureData.type : '' + this.$set(this.questionForm, 'saveTypeEnum', 2) + this.originalQuestionForm = { ...this.questionForm } + var isLymphLesion = this.getQuestionVal(2) + isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null + var lesionOrgan = this.getQuestionVal(6) + this.$set(this.questionForm, 'RowId', res.Result.RowId) + const lesionPart = this.getQuestionVal(8) + const suvMax = this.getQuestionVal(20) + this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) - this.$set(this.questionForm, 'saveTypeEnum', 2) - this.originalQuestionForm = { ...this.questionForm } - loading.close() - var isLymphLesion = this.getQuestionVal(2) - isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null - var lesionOrgan = this.getQuestionVal(6) - this.$set(this.questionForm, 'RowId', res.Result.RowId) - const lesionPart = this.getQuestionVal(8) - const suvMax = this.getQuestionVal(20) - this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) + FusionEvent.$emit('resetSuvQuestions') + window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) + this.$emit('close') - // FusionEvent.$emit('getAnnotations') - FusionEvent.$emit('resetSuvQuestions') - window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) - this.$emit('close') + this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) + } loading.close() - this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 }) - }).catch(() => { loading.close() }) + } catch (e) { + console.log(e) + loading.close() + } }) }) }, - handleDeleteMeasureData() { + async handleDeleteMeasureData() { // 是否确认清除标记? - this.$confirm(this.$t('trials:reading:warnning:msg47'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(async() => { - this.organList = [] - await this.getOrganInfoList() - // 重置SUV - var suvId = this.getQuestionId(20) - this.$set(this.questionForm, suvId, '') - // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断) - if (this.questionForm.RowId) { - this.$set(this.questionForm, 'saveTypeEnum', 1) - } else { - this.$set(this.questionForm, 'saveTypeEnum', 0) - } - FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData, type: 'clear' }) - // await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex }) + const confirm = await this.$confirm( + this.$t('trials:reading:warnning:msg47'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + this.organList = [] + await this.getOrganInfoList() + // 重置SUV + var suvId = this.getQuestionId(20) + this.$set(this.questionForm, suvId, '') + // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断) + if (this.questionForm.RowId) { + this.$set(this.questionForm, 'saveTypeEnum', 1) + } else { + this.$set(this.questionForm, 'saveTypeEnum', 0) + } + FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData, type: 'clear' }) + // await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex }) - // Store.$emit('updateImage', this.questionForm.MeasureData.instanceId) - var isLymphLesion = this.getQuestionVal(2) - isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null - const lesionPart = this.getQuestionVal(8) - const lesionOrgan = this.getQuestionVal(6) + // Store.$emit('updateImage', this.questionForm.MeasureData.instanceId) + var isLymphLesion = this.getQuestionVal(2) + isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null + const lesionPart = this.getQuestionVal(8) + const lesionOrgan = this.getQuestionVal(6) - if (!this.questionForm.IsDicomReading) { + if (!this.questionForm.IsDicomReading) { - } - this.$set(this.questionForm, 'IsDicomReading', true) + } + this.$set(this.questionForm, 'IsDicomReading', true) - this.$set(this.questionForm, 'OtherMeasureData', '') - let anwsers = null - if (this.answers.measureObj) { - anwsers = Object.assign({ measureObj: '' }, this.questionForm) - } else { - anwsers = Object.assign({}, this.questionForm) - } - var suvMax = this.getQuestionVal(20) - this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: anwsers }) - this.isInsideVolume = true - }) - .catch(() => {}) + this.$set(this.questionForm, 'OtherMeasureData', '') + let anwsers = null + if (this.answers.measureObj) { + anwsers = Object.assign({ measureObj: '' }, this.questionForm) + } else { + anwsers = Object.assign({}, this.questionForm) + } + var suvMax = this.getQuestionVal(20) + this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: anwsers }) + this.isInsideVolume = true }, async clearMeasurement() { this.organList = [] @@ -975,65 +979,63 @@ export default { this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: anwsers }) this.isInsideVolume = true }, - handleDelete() { - // 是否确认删除? - this.$confirm(this.$t('trials:reading:warnning:msg48'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(async() => { - if (this.questionForm.RowId) { - const loading = this.$loading({ fullscreen: true }) - var param = { - visitTaskId: this.visitTaskId, - questionId: this.parentQsId, - rowId: this.questionForm.RowId - } - deleteReadingRowAnswer(param) - .then(async res => { - loading.close() - if (res.IsSuccess) { - // this.$emit('getReadingQuestionAndAnswer') - if (this.questionForm.IsDicomReading && this.questionForm.OtherMeasureData) { - // await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex }) - FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData, type: 'delete' }) - } - this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId }) - - // '删除成功!' - this.$message.success(this.$t('common:message:deletedSuccessfully')) - loading.close() - window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) - } - }).catch(() => { loading.close() }) - } else { - // const loading = this.$loading({ fullscreen: true }) - // 移除新建病灶并关闭窗口 - if (this.questionForm.OtherMeasureData && this.questionForm.IsDicomReading) { - // await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex }) - FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData }) - } - this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId }) - // loading.close() - } - }) - }, - handleClose() { - if (!this.questionForm.RowId) { - // '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?' - this.$confirm(this.$t('trials:reading:warnning:msg49'), { + async handleDelete() { + const confirm = await this.$confirm( + this.$t('trials:reading:warnning:msg48'), + { type: 'warning', distinguishCancelAndClose: true - }) - .then(async() => { - // 移除新建病灶并关闭窗口 - if (this.questionForm.OtherMeasureData) { - FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData }) - // await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex }) + } + ) + if (confirm !== 'confirm') return + if (this.questionForm.RowId) { + const loading = this.$loading({ fullscreen: true }) + try { + var param = { + visitTaskId: this.visitTaskId, + questionId: this.parentQsId, + rowId: this.questionForm.RowId + } + const res = await deleteReadingRowAnswer(param) + if (res.IsSuccess) { + if (this.questionForm.IsDicomReading && this.questionForm.OtherMeasureData) { + FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData, type: 'delete' }) } this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId }) - }) - .catch(() => {}) + // '删除成功!' + this.$message.success(this.$t('common:message:deletedSuccessfully')) + loading.close() + window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location) + } + loading.close() + } catch (e) { + console.log(e) + loading.close() + } + } else { + // 移除新建病灶并关闭窗口 + if (this.questionForm.OtherMeasureData && this.questionForm.IsDicomReading) { + FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData }) + } + this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId }) + } + }, + async handleClose() { + if (!this.questionForm.RowId) { + // '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?' + const confirm = await this.$confirm( + this.$t('trials:reading:warnning:msg49'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + // 移除新建病灶并关闭窗口 + if (this.questionForm.OtherMeasureData) { + FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData }) + } + this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId }) } else { if (this.questionForm.saveTypeEnum === 1) { this.$emit('close') diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Hotkeys.vue b/src/views/trials/trials-panel/reading/dicoms/components/Hotkeys.vue index c259ba62..1f1cdb63 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Hotkeys.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Hotkeys.vue @@ -56,22 +56,25 @@ export default { this.getHotkeys() }, methods: { - getHotkeys(isReset = false) { + async getHotkeys(isReset = false) { this.loading = true this.hotKeyList = [] - getDoctorShortcutKey({ imageToolType: this.readingTool }).then(res => { - res.Result.map(item => { - this.hotKeyList.push({ id: item.Id, keys: { controlKey: { altKey: item.AltKey, ctrlKey: item.CtrlKey, shiftKey: item.ShiftKey, metaKey: item.MetaKey, key: item.Keyboardkey, code: item.Code }, text: item.Text }, label: item.ShortcutKeyEnum }) - }) - if (isReset) { - this.$emit('reset', this.hotKeyList) + try { + const res = await getDoctorShortcutKey({ imageToolType: this.readingTool }) + if (res.IsSuccess) { + res.Result.map(item => { + this.hotKeyList.push({ id: item.Id, keys: { controlKey: { altKey: item.AltKey, ctrlKey: item.CtrlKey, shiftKey: item.ShiftKey, metaKey: item.MetaKey, key: item.Keyboardkey, code: item.Code }, text: item.Text }, label: item.ShortcutKeyEnum }) + }) + if (isReset) { + this.$emit('reset', this.hotKeyList) + } } this.loading = false - }).catch(() => { + } catch (e) { this.loading = false - }) + } }, - handleSave() { + async handleSave() { var params = { imageToolType: this.readingTool, shortcutKeyList: [] @@ -86,17 +89,15 @@ export default { emptyLabel = item.label break } else { - shortcutKeyList.push( - { - shortcutKeyEnum: item.label, - keyboardkey: item.keys.controlKey.key, - code: item.keys.controlKey.code, - text: item.keys.text, - altKey: item.keys.controlKey.altKey, - ctrlKey: item.keys.controlKey.ctrlKey, - shiftKey: item.keys.controlKey.shiftKey, - metaKey: item.keys.controlKey.metaKey } - ) + shortcutKeyList.push({ + shortcutKeyEnum: item.label, + keyboardkey: item.keys.controlKey.key, + code: item.keys.controlKey.code, + text: item.keys.text, + altKey: item.keys.controlKey.altKey, + ctrlKey: item.keys.controlKey.ctrlKey, + shiftKey: item.keys.controlKey.shiftKey, + metaKey: item.keys.controlKey.metaKey }) } } if (isExistEmptyText) { @@ -112,43 +113,40 @@ export default { }) } else { this.loading = true - // this.hotKeyList.map(item => { - // shortcutKeyList.push( - // { - // shortcutKeyEnum: item.label, - // keyboardkey: item.keys.controlKey.key, - // code: item.keys.controlKey.code, - // text: item.keys.text, - // altKey: item.keys.controlKey.altKey, - // ctrlKey: item.keys.controlKey.ctrlKey, - // shiftKey: item.keys.controlKey.shiftKey, - // metaKey: item.keys.controlKey.metaKey } - // ) - // }) params.shortcutKeyList = shortcutKeyList - setShortcutKey(params).then(res => { - this.$emit('reset', this.hotKeyList) - // this.$emit('close') + try { + const res = await setShortcutKey(params) + if (res.IsSuccess) { + this.$emit('reset', this.hotKeyList) + } this.loading = false - }).catch(() => { + } catch (e) { this.loading = false - }) + } } }, - handleReset() { + async handleReset() { // '是否确认重置?' - this.$confirm(this.$t('trials:hotkeys:message:confirmReset'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(() => { - this.loading = true - restoreDefaultShortcutKey({ imageToolType: this.readingTool }).then(res => { - this.$message.success(this.$t('trials:hotkeys:message:resetSuccessfully')) // '重置成功!' - this.getHotkeys(true) - }).catch(() => { this.loading = false }) - }) - .catch(action => {}) + const confirm = await this.$confirm( + this.$t('trials:hotkeys:message:confirmReset'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + + this.loading = true + try { + const res = await restoreDefaultShortcutKey({ imageToolType: this.readingTool }) + if (res.IsSuccess) { + this.$message.success(this.$t('trials:hotkeys:message:resetSuccessfully')) // '重置成功!' + this.getHotkeys(true) + } + this.loading = false + } catch (e) { + this.loading = false + } }, handleHotkeyVerify(hotkey) { for (const item of this.hotKeyList) { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionList.vue index 31bbc9d2..8ef8db80 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/IRecist/QuestionList.vue @@ -1080,17 +1080,17 @@ export default { this.$refs['ecrf'].getQuestions(obj.visitTaskId) }, async resetMeasuredData() { + const confirm = await this.$confirm( + this.$t('trials:dicomReading:message:confirmReset1'), + this.$t('trials:dicomReading:message:confirmReset2'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + const loading = this.$loading({ fullscreen: true }) try { - const confirm = await this.$confirm( - this.$t('trials:dicomReading:message:confirmReset1'), - this.$t('trials:dicomReading:message:confirmReset2'), - { - type: 'warning', - distinguishCancelAndClose: true - } - ) - if (confirm !== 'confirm') return - this.loading = true const res = await resetReadingTask({ visitTaskId: this.visitTaskId }) this.loading = false if (res.IsSuccess) { @@ -1099,13 +1099,16 @@ export default { this.activeItem.activeRowIndex = null this.activeItem.activeCollapseId = null await this.getReadingQuestionAndAnswer(this.visitTaskId) - this.$refs['ecrf'].resetQSForm() + const triald = this.$router.currentRoute.query.trialId + await store.dispatch('reading/refreshDicomReadingQuestionAnswer', { trialId: triald, visitTaskId: this.visitTaskId }) + this.$refs['ecrf'].getQuestions(this.visitTaskId, true) DicomEvent.$emit('getMeasureData') DicomEvent.$emit('getReportInfo', true) DicomEvent.$emit('refreshStudyListMeasureData') } + loading.close() } catch (e) { - this.loading = false + loading.close() console.log(e) } }, diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue index c123bdff..c5e7430a 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue @@ -116,34 +116,38 @@ /> @@ -368,6 +404,22 @@ export default { .container{ padding: 10px; + .basic-info{ + display: flex; + justify-content: space-between; + align-items: center; + h3{ + color: #ddd; + padding: 5px 0px; + margin: 0; + } + i{ + color: #fff; + font-size: 22px; + font-weight: bold; + cursor: pointer; + } + } } .title{ padding: 5px; diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue index 6dfe9c03..0184a1f9 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue @@ -257,7 +257,10 @@ export default { this.subjectCode = localStorage.getItem('subjectCode') var digitPlaces = Number(localStorage.getItem('digitPlaces')) this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces - + DicomEvent.$on('refreshStudyListMeasureData', () => { + var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) + this.measureData = this.visitTaskList[idx].MeasureData + }) // DicomEvent.$on('setReadingState', readingTaskState => { // var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) // if (idx > -1) { @@ -271,6 +274,7 @@ export default { window.addEventListener('beforeunload', e => { cornerstone.imageCache.purgeCache() }) + }, beforeDestroy() { cornerstone.imageCache.purgeCache() diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/Hotkeys.vue b/src/views/trials/trials-panel/reading/dicoms/customize/Hotkeys.vue index d7f6894e..6b98939a 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/Hotkeys.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/Hotkeys.vue @@ -57,10 +57,11 @@ export default { this.getHotkeys() }, methods: { - getHotkeys(isReset = false) { + async getHotkeys(isReset = false) { this.loading = true this.hotKeyList = [] - getDoctorShortcutKey({ imageToolType: this.readingTool }).then(res => { + try{ + let res = await getDoctorShortcutKey({ imageToolType: this.readingTool }) res.Result.map(item => { this.hotKeyList.push({ id: item.Id, keys: { controlKey: { altKey: item.AltKey, ctrlKey: item.CtrlKey, shiftKey: item.ShiftKey, metaKey: item.MetaKey, key: item.Keyboardkey, code: item.Code }, text: item.Text }, label: item.ShortcutKeyEnum }) }) @@ -68,11 +69,12 @@ export default { this.$emit('reset', this.hotKeyList) } this.loading = false - }).catch(() => { + }catch(e){ this.loading = false - }) + } + }, - handleSave() { + async handleSave() { this.loading = true var params = { imageToolType: this.readingTool, @@ -93,28 +95,34 @@ export default { ) }) params.shortcutKeyList = shortcutKeyList - setShortcutKey(params).then(res => { + try { + await setShortcutKey(params) this.$emit('reset', this.hotKeyList) this.$emit('close') this.loading = false - }).catch(() => { + }catch(e){ this.loading = false - }) + } }, - handleReset() { + async handleReset() { // '是否确认重置?' - this.$confirm(this.$t('trials:hotkeys:message:confirmReset'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(() => { - this.loading = true - restoreDefaultShortcutKey({ imageToolType: this.readingTool }).then(res => { - this.$message.success(this.$t('trials:hotkeys:message:resetSuccessfully')) // '重置成功!' - this.getHotkeys(true) - }).catch(() => { this.loading = false }) - }) - .catch(action => {}) + const confirm = await this.$confirm( + this.$t('trials:hotkeys:message:confirmReset'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + this.loading = true + try{ + await restoreDefaultShortcutKey({ imageToolType: this.readingTool }) + this.$message.success(this.$t('trials:hotkeys:message:resetSuccessfully')) // '重置成功!' + this.getHotkeys(true) + this.loading = false + }catch(e){ + this.loading = false + } }, handleHotkeyVerify(hotkey) { for (const item of this.hotKeyList) { diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/Manuals.vue b/src/views/trials/trials-panel/reading/dicoms/customize/Manuals.vue index 3cd5b590..bab4f6e9 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/Manuals.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/Manuals.vue @@ -51,19 +51,22 @@ export default { this.getList() }, methods: { - getList() { + async getList() { this.loading = true var param = { trialId: this.trialId } - getManualList(param).then(res => { + try{ + let res = await getManualList(param) this.fileList = res.Result if (this.fileList.length > 0) { this.preview(this.fileList[0]) } this.loading = false - }).catch(() => { this.loading = false }) + }catch(e){ + this.loading = false + } }, preview(file) { this.$set(this.selected, 'filePath', file.Path) diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/Others.vue b/src/views/trials/trials-panel/reading/dicoms/customize/Others.vue index f0d62385..36e408e9 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/Others.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/Others.vue @@ -3,7 +3,7 @@
+ + + @@ -77,16 +83,19 @@ export default { this.getWL() }, methods: { - getWL() { + async getWL() { this.loading = true - getUserWLTemplateList().then(res => { + try { + const res = await getUserWLTemplateList() this.tableData = res.Result this.loading = false this.$emit('getWwcTpl') - }).catch(() => { this.loading = false }) + } catch (e) { + this.loading = false + } }, handleAdd() { - this.customWwc.title = this.$t('common:button:add') + this.customWwc.title = this.$t('common:button:new') this.row = {} this.customWwc.visible = true }, @@ -95,20 +104,27 @@ export default { this.row = Object.assign({}, row) this.customWwc.visible = true }, - handleDelete(row) { - var msg = this.$t('trials:staffResearch:message:confirmDel') - this.$confirm(msg, { - type: 'warning', - distinguishCancelAndClose: true - }).then(() => { - this.loading = true - deleteUserWLTemplate(row.Id).then(res => { - this.loading = false - // 删除成功 - this.$message.success(this.$t('common:message:deletedSuccessfully')) - this.getWL() - }).catch(() => { this.loading = false }) - }) + async handleDelete(row) { + // '是否确认删除?' + var msg = this.$t('trials:reading:wlTemplate:delete') + const confirm = await this.$confirm( + msg, + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + this.loading = true + try { + await deleteUserWLTemplate(row.Id) + this.loading = false + // 删除成功 + this.$message.success(this.$t('common:message:deletedSuccessfully')) + this.getWL() + } catch (e) { + this.loading = false + } } } } diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/WLForm.vue b/src/views/trials/trials-panel/reading/dicoms/customize/WLForm.vue index 98aa912b..90344f17 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/WLForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/WLForm.vue @@ -8,14 +8,16 @@ size="small" > - + - - + + + - - + + + @@ -81,24 +83,23 @@ export default { } }, methods: { - handleSave() { - this.$refs.wlForm.validate((valid) => { - if (valid) { - this.loading = true - addOrUpdateUserWLTemplate(this.form).then((res) => { - this.loading = false - this.$emit('getWL') - this.$emit('close') - if (this.form.Id) { - this.$message.success(this.$t('common:message:savedSuccessfully')) - } else { - this.$message.success(this.$t('common:message:addedSuccessfully')) - } - }).catch(() => { - this.loading = false - }) + async handleSave() { + const valid = await this.$refs.wlForm.validate() + if (!valid) return + this.loading = true + try { + await addOrUpdateUserWLTemplate(this.form) + this.loading = false + this.$emit('getWL') + this.$emit('close') + if (this.form.Id) { + this.$message.success(this.$t('common:message:savedSuccessfully')) + } else { + this.$message.success(this.$t('common:message:addedSuccessfully')) } - }) + } catch (e) { + this.loading = false + } }, handleCancel() { this.$emit('close') diff --git a/src/views/trials/trials-panel/reading/dicoms/index.vue b/src/views/trials/trials-panel/reading/dicoms/index.vue index 1c4cd72c..e353be3f 100644 --- a/src/views/trials/trials-panel/reading/dicoms/index.vue +++ b/src/views/trials/trials-panel/reading/dicoms/index.vue @@ -475,14 +475,17 @@ export default { }) }) }, - handleConfirmCD() { + async handleConfirmCD() { this.loading = true var visitTaskId = this.visitTaskId - readClinicalData({ visitTaskId }).then(res => { + try { + await readClinicalData({ visitTaskId }) this.loading = false this.dialogVisible = false this.isReadClinicalData = true - }).catch(() => { this.loading = false }) + } catch (e) { + this.loading = false + } }, previewCD() { this.closeCDVisible = true diff --git a/src/views/trials/trials-panel/reading/global-review/components/IRecistTable.vue b/src/views/trials/trials-panel/reading/global-review/components/IRecistTable.vue index 93e6589a..8398ff07 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/IRecistTable.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/IRecistTable.vue @@ -372,9 +372,10 @@ export default { return lesion ? lesion.Count : 0 }, handleSave(isPrompt = true) { - return new Promise((resolve, reject) => { - this.$refs['globalRuleForm'].validate(valid => { - if (valid) { + return new Promise(async (resolve, reject) => { + let valid = await this.$refs['globalRuleForm'].validate() + + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -403,7 +404,8 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - batchSubmitGlobalReadingInfo(params).then(res => { + try { + await batchSubmitGlobalReadingInfo(params) this.loading = false if (isPrompt) { console.log(isPrompt) @@ -411,14 +413,13 @@ export default { } this.$emit('getGlInfo') resolve() - }).catch(() => { + } catch (e) { this.loading = false reject() - }) + } } else { reject() } - }) }) }, getBeforeAnswer(qsId, row) { diff --git a/src/views/trials/trials-panel/reading/global-review/components/LuganoTable.vue b/src/views/trials/trials-panel/reading/global-review/components/LuganoTable.vue index cc1e6d96..5f6d0e95 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/LuganoTable.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/LuganoTable.vue @@ -376,9 +376,9 @@ export default { return lesion ? lesion.Count : 0 }, handleSave(isPrompt = true) { - return new Promise((resolve, reject) => { - this.$refs['globalRuleForm'].validate(valid => { - if (valid) { + return new Promise(async (resolve, reject) => { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -407,7 +407,8 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - batchSubmitGlobalReadingInfo(params).then(res => { + try { + await batchSubmitGlobalReadingInfo(params) this.loading = false if (isPrompt) { console.log(isPrompt) @@ -415,14 +416,14 @@ export default { } this.$emit('getGlInfo') resolve() - }).catch(() => { + } catch (e) { this.loading = false reject() - }) + } } else { reject() } - }) + }) }, getBeforeAnswer(qsId, row) { diff --git a/src/views/trials/trials-panel/reading/global-review/components/PCWG3Table.vue b/src/views/trials/trials-panel/reading/global-review/components/PCWG3Table.vue index 52392390..fe2ae121 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/PCWG3Table.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/PCWG3Table.vue @@ -219,9 +219,9 @@ export default { this.$emit('handleView', row) }, handleSave(isPrompt = true) { - return new Promise((resolve, reject) => { - this.$refs['globalRuleForm'].validate(valid => { - if (valid) { + return new Promise(async (resolve, reject) => { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -247,21 +247,21 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - batchSubmitGlobalReadingInfo(params).then(res => { + try { + await batchSubmitGlobalReadingInfo(params) this.loading = false if (isPrompt) { this.$message.success(this.$t('common:message:savedSuccessfully')) } this.$emit('getGlInfo') resolve() - }).catch(() => { + } catch (e) { this.loading = false reject() - }) + } } else { reject() } - }) }) } } diff --git a/src/views/trials/trials-panel/reading/global-review/components/RecistBMTable.vue b/src/views/trials/trials-panel/reading/global-review/components/RecistBMTable.vue index ff94183a..ed74baf9 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/RecistBMTable.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/RecistBMTable.vue @@ -369,9 +369,9 @@ export default { return lesion ? lesion.Count : 0 }, handleSave(isPrompt = true) { - return new Promise((resolve, reject) => { - this.$refs['globalRuleForm'].validate(valid => { - if (valid) { + return new Promise(async(resolve, reject) => { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -400,7 +400,8 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - batchSubmitGlobalReadingInfo(params).then(res => { + try { + await batchSubmitGlobalReadingInfo(params) this.loading = false if (isPrompt) { console.log(isPrompt) @@ -408,14 +409,13 @@ export default { } this.$emit('getGlInfo') resolve() - }).catch(() => { + } catch (e) { this.loading = false reject() - }) + } } else { reject() } - }) }) }, getBeforeAnswer(qsId, row) { diff --git a/src/views/trials/trials-panel/reading/global-review/components/RecistTable.vue b/src/views/trials/trials-panel/reading/global-review/components/RecistTable.vue index d5bf2b1a..3bf48212 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/RecistTable.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/RecistTable.vue @@ -363,9 +363,9 @@ export default { return lesion ? lesion.Count : 0 }, handleSave(isPrompt = true) { - return new Promise((resolve, reject) => { - this.$refs['globalRuleForm'].validate(valid => { - if (valid) { + return new Promise(async (resolve, reject) => { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -394,7 +394,8 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - batchSubmitGlobalReadingInfo(params).then(res => { + try { + await batchSubmitGlobalReadingInfo(params) this.loading = false if (isPrompt) { console.log(isPrompt) @@ -402,14 +403,14 @@ export default { } this.$emit('getGlInfo') resolve() - }).catch(() => { + } catch (e) { this.loading = false reject() - }) + } } else { reject() } - }) + }) }, getBeforeAnswer(qsId, row) { diff --git a/src/views/trials/trials-panel/reading/global-review/index.vue b/src/views/trials/trials-panel/reading/global-review/index.vue index a6e3b2f1..96f8c387 100644 --- a/src/views/trials/trials-panel/reading/global-review/index.vue +++ b/src/views/trials/trials-panel/reading/global-review/index.vue @@ -256,10 +256,10 @@ export default { } }, methods: { - getGlInfo() { + async getGlInfo() { this.loading = true - getGlobalReadingInfo({ visitTaskId: this.visitTaskId }).then(res => { - console.log('getGlobalReadingInfo') + try { + let res = await getGlobalReadingInfo({ visitTaskId: this.visitTaskId }) var evaluationQsList = [] var adjustedQsList = [] var agreeOrNotList = [] @@ -322,66 +322,20 @@ export default { trialId: this.trialId, subjectId: this.subjectId, subjectCode: this.subjectCode, visitTaskId: res.Result.GlobalTaskId, globalForm, globalUpdateType, evaluationQsList, adjustedQsList, agreeOrNotList, readingTaskState: this.readingTaskState, assessTypeList: res.Result.AssessTypeList } this.loading = false - }).catch(() => { this.loading = false }) + } catch (e) { + this.loading = false + } }, - getHistoryGlobalInfo() { + async getHistoryGlobalInfo() { this.historyLoading = true - getReadingPastResultList({ visitTaskId: this.visitTaskId }).then(res => { + try { + let res = await getReadingPastResultList({ visitTaskId: this.visitTaskId }) this.historyTaskList = res.Result this.historyLoading = false - }).catch(() => { this.historyLoading = false }) - }, - changeAgreeOrNotList(callback, row, visitTaskId) { - var message = '' - if (parseInt(callback) === 1) { - message = '是否确认更改?' - row.Answer = '0' - } else { - message = '是否确认更改?' - row.Answer = '1' + } catch (e) { + this.historyLoading = false } - this.$confirm(message, { - distinguishCancelAndClose: true, - type: 'warning' - }).then(() => { - this.loading = true - var params = { - globalTaskId: this.visitTaskId, - subjectId: this.subjectId, - trialId: this.trialId, - questionList: [ - { - questionId: row.QuestionId ? row.QuestionId : '', - visitTaskId: visitTaskId, - globalAnswerType: row.GlobalAnswerType, - answer: row.Answer === '1' ? '0' : '1' - } - ] - } - saveGlobalReadingInfo(params).then(res => { - this.loading = false - if (res.IsSuccess) { - this.$message.success(this.$t('common:message:savedSuccessfully')) - this.getGlInfo() - } - }).catch(() => { this.loading = false }) - }).catch(() => {}) }, - // handleEdit(row) { - // this.rowData = { ...row } - // if (this.CriterionType === 1) { - // this.rowData.AfterQuestionList.forEach(item => { - // if (item.GlobalAnswerType === 1) { - // // 全局阅片备注 - // item.QuestionName = this.$t('trials:globalReview:table:globalRemark') - // } else if (item.GlobalAnswerType === 3) { - // // 评估更新类型 - // item.QuestionName = this.$t('trials:globalReview:table:updateType') - // } - // }) - // } - // // this.editVisible = true - // }, handleSave() { this.$refs['globalTbl'].handleSave(true) }, @@ -435,53 +389,51 @@ export default { } }, // 签名并确认 - signConfirm(signInfo) { + async signConfirm(signInfo) { this.loading = true - var params = { data: { globalTaskId: this.visitTaskId }, signInfo: signInfo } - submitGlobalReadingInfo(params).then(async res => { + try{ + let res = await submitGlobalReadingInfo(params) if (res.IsSuccess) { this.$message.success(this.$t('common:message:savedSuccessfully')) this.$refs['signForm'].btnLoading = false this.signVisible = false // 设置当前任务阅片状态为已读 this.readingTaskState = 2 - var isAutoTask = await this.getAutoTaskVal() + const res = await getAutoCutNextTask() + var isAutoTask = res.Result.AutoCutNextTask if (isAutoTask) { - DicomEvent.$emit('getNextTask') + // DicomEvent.$emit('getNextTask') + window.location.reload() } else { - // 当前阅片任务已完成,是否进入下一个阅片任务 - this.$confirm(this.$t('trials:globalReview:message:msg2'), { - type: 'warning', - distinguishCancelAndClose: true - }) - .then(() => { - store.dispatch('reading/resetVisitTasks') - DicomEvent.$emit('getNextTask') - }) - .catch(action => { - changeURLStatic('visitTaskId', this.visitTaskId) - }) + // 当前阅片任务已完成,是否进入下一个阅片任务 + const confirm = await this.$confirm( + this.$t('trials:globalReview:message:msg2'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm === 'confirm') { + // store.dispatch('reading/resetVisitTasks') + // DicomEvent.$emit('getNextTask') + window.location.reload() + } else { + changeURLStatic('visitTaskId', this.visitTaskId) + } } window.opener.postMessage('refreshTaskList', window.location) } this.loading = false - }).catch(_ => { + } catch (e) { this.loading = false this.$refs['signForm'].btnLoading = false - }) - }, - getAutoTaskVal() { - return new Promise((resolve, reject) => { - getAutoCutNextTask().then(res => { - resolve(res.Result.AutoCutNextTask) - }).catch(() => { reject() }) - }) + } }, handleView(row) { if (this.openWindow) { diff --git a/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue b/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue index c34c8289..2fcdbf54 100644 --- a/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue +++ b/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue @@ -92,7 +92,7 @@ >
- + -
- -
- 历史评判结果 -
-
- - - -
-
- - -
- 裁判结果 -
- - - - {{ t.armEnum }} - - - - - - -
- 保存 - 提交 -
- -
-
-
- - -
- {{ $t('common:dialogTitle:sign') }} - {{ `(${$t('common:label:sign')}${ currentUser })` }} -
- -
-
- - - - - diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/AdReview.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/AdReview.vue deleted file mode 100644 index 72f97ffb..00000000 --- a/src/views/trials/trials-panel/reading/none-dicoms/components/AdReview.vue +++ /dev/null @@ -1,543 +0,0 @@ - - - diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/ECRF.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/ECRF.vue index 07e56751..95a11518 100644 --- a/src/views/trials/trials-panel/reading/none-dicoms/components/ECRF.vue +++ b/src/views/trials/trials-panel/reading/none-dicoms/components/ECRF.vue @@ -77,8 +77,15 @@
- {{ $t('common:button:save') }} - {{ $t('common:button:submit') }} + + {{ $t('trials:readingReport:button:skip') }} + + + {{ $t('common:button:save') }} + + + {{ $t('common:button:submit') }} +
@@ -104,11 +111,12 @@ diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue index 32fbab6f..bc9b032e 100644 --- a/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue +++ b/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue @@ -39,27 +39,27 @@ :disabled="readingTaskState >= 2" /> - - - - - - - - - - - - - - + + + + + + + + + + + + + + - diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/OncologyReview.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/OncologyReview.vue deleted file mode 100644 index 7e9e5420..00000000 --- a/src/views/trials/trials-panel/reading/none-dicoms/components/OncologyReview.vue +++ /dev/null @@ -1,427 +0,0 @@ - - - diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue index 21282d84..d6c92fc4 100644 --- a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue +++ b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue @@ -2,7 +2,7 @@
- {{$t('trials:auditRecord:table:subject')}}:{{ otherInfo.SubjectCode }} + {{ $t('trials:auditRecord:table:subject') }}:{{ otherInfo.SubjectCode }} ({{ otherInfo.TaskBlindName }})
@@ -41,7 +41,7 @@
- {{$t('trials:audit:message:noData')}} + {{ $t('trials:audit:message:noData') }}
- - {{ $t('trials:crcUpload:label:clinicalData') }} - +
+ + {{ $t('trials:crcUpload:label:clinicalData') }} + +
-1) { @@ -281,7 +282,7 @@ export default { } var arr = bodyPart.split(separator) var newArr = arr.map(i => { - return this.$fd('Bodypart', i.trim(),'Code',{Bodypart:this.bp},'Name') + return this.$fd('Bodypart', i.trim(), 'Code', { Bodypart: this.bp }, 'Name') }) return newArr.join(' | ') } diff --git a/src/views/trials/trials-panel/reading/none-dicoms/index.vue b/src/views/trials/trials-panel/reading/none-dicoms/index.vue index 442dc086..dfc43b00 100644 --- a/src/views/trials/trials-panel/reading/none-dicoms/index.vue +++ b/src/views/trials/trials-panel/reading/none-dicoms/index.vue @@ -70,7 +70,7 @@
- {{$t("common:button:confirm")}} + {{ $t("common:button:confirm") }} @@ -87,7 +87,7 @@ import VisitReview from './components/VisitReview' import GlobalReview from '@/views/trials/trials-panel/reading/global-review' import AdReview from '@/views/trials/trials-panel/reading/ad-review' import ClinicalData from '@/views/trials/trials-panel/reading/clinical-data' -import { getToken } from '@/utils/auth' +// import { getToken } from '@/utils/auth' import OncologyReview from '@/views/trials/trials-panel/reading/oncology-review' export default { name: 'NoneDicomReading', @@ -136,7 +136,7 @@ export default { this.readingTool = this.$router.currentRoute.query.readingTool this.isNewSubject = this.$router.currentRoute.query.isNewSubject if (this.isNewSubject && this.isReadingTaskViewInOrder) { - let message = this.$t('trials:reading:noneDicom:message:startRead').replace("xxx",this.subjectCode); + const message = this.$t('trials:reading:noneDicom:message:startRead').replace('xxx', this.subjectCode) this.$message.success(message) changeURLStatic('isNewSubject', '') } @@ -164,11 +164,11 @@ export default { this.isShow = false getNextTask(param).then(res => { this.readingCategory = res.Result.ReadingCategory - if (this.subjectId !== res.Result.SubjectId && this.isReadingTaskViewInOrder) { - store.dispatch('reading/resetVisitTasks') - var token = getToken() - window.location.href = `/noneDicomReading?trialId=${this.trialId}&subjectCode=${res.Result.SubjectCode}&subjectId=${res.Result.SubjectId}&isReadingShowPreviousResults=${this.isReadingShowPreviousResults}&isReadingShowSubjectInfo=${this.isReadingShowSubjectInfo}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&isNewSubject=1&isReadingTaskViewInOrder=${res.Result.IsReadingTaskViewInOrder}&TokenKey=${token}` - } + // if (this.subjectId !== res.Result.SubjectId && this.isReadingTaskViewInOrder) { + // store.dispatch('reading/resetVisitTasks') + // var token = getToken() + // window.location.href = `/noneDicomReading?trialId=${this.trialId}&subjectCode=${res.Result.SubjectCode}&subjectId=${res.Result.SubjectId}&isReadingShowPreviousResults=${this.isReadingShowPreviousResults}&isReadingShowSubjectInfo=${this.isReadingShowSubjectInfo}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&isNewSubject=1&isReadingTaskViewInOrder=${res.Result.IsReadingTaskViewInOrder}&TokenKey=${token}` + // } this.subjectId = res.Result.SubjectId this.visitTaskId = res.Result.VisitTaskId this.subjectCode = res.Result.SubjectCode @@ -190,14 +190,17 @@ export default { this.loading = false }).catch(() => { this.loading = false }) }, - handleConfirmCD() { + async handleConfirmCD() { this.loading = true var visitTaskId = this.visitTaskId - readClinicalData({ visitTaskId }).then(res => { + try { + await readClinicalData({ visitTaskId }) this.loading = false this.dialogVisible = false this.isReadClinicalData = true - }).catch(() => { this.loading = false }) + } catch (e) { + this.loading = false + } } } } diff --git a/src/views/trials/trials-panel/reading/oncology-review/index.vue b/src/views/trials/trials-panel/reading/oncology-review/index.vue index 954e1f12..07cf129b 100644 --- a/src/views/trials/trials-panel/reading/oncology-review/index.vue +++ b/src/views/trials/trials-panel/reading/oncology-review/index.vue @@ -262,8 +262,11 @@