From 9609768e5e6e9db06d2823507b7767d5441708b9 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Thu, 17 Apr 2025 16:02:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80=E9=98=85=E7=89=87=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/CustomizeTable.vue | 32 +- .../global-review/components/IRecistTable.vue | 34 +- .../global-review/components/LuganoTable.vue | 32 +- .../global-review/components/MRecistTable.vue | 481 ++++++++++++++++++ .../global-review/components/PCWG3Table.vue | 32 +- .../components/RecistBMTable.vue | 35 +- .../global-review/components/RecistTable.vue | 32 +- .../reading/global-review/index.vue | 45 +- 8 files changed, 616 insertions(+), 107 deletions(-) create mode 100644 src/views/trials/trials-panel/reading/global-review/components/MRecistTable.vue diff --git a/src/views/trials/trials-panel/reading/global-review/components/CustomizeTable.vue b/src/views/trials/trials-panel/reading/global-review/components/CustomizeTable.vue index 74f68e03..34ad98b5 100644 --- a/src/views/trials/trials-panel/reading/global-review/components/CustomizeTable.vue +++ b/src/views/trials/trials-panel/reading/global-review/components/CustomizeTable.vue @@ -317,8 +317,9 @@ export default { }, handleSave(isPrompt = true) { return new Promise(async (resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - if (valid) { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -347,22 +348,23 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - console.log(isPrompt) - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + console.log(isPrompt) + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + reject(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } }) }, 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 a981bff2..42c3b6e2 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 @@ -373,9 +373,9 @@ export default { }, handleSave(isPrompt = true) { return new Promise(async (resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - - if (valid) { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -404,22 +404,24 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - console.log(isPrompt) - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + resolve(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } + + }) }, 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 7aceb1c5..3810ff6c 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 @@ -377,8 +377,9 @@ export default { }, handleSave(isPrompt = true) { return new Promise(async (resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - if (valid) { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -407,22 +408,23 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - console.log(isPrompt) - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + resolve(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } + }) }, diff --git a/src/views/trials/trials-panel/reading/global-review/components/MRecistTable.vue b/src/views/trials/trials-panel/reading/global-review/components/MRecistTable.vue new file mode 100644 index 00000000..38de054a --- /dev/null +++ b/src/views/trials/trials-panel/reading/global-review/components/MRecistTable.vue @@ -0,0 +1,481 @@ + + + + + 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 91113134..ac16f696 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 @@ -220,8 +220,9 @@ export default { }, handleSave(isPrompt = true) { return new Promise(async (resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - if (valid) { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -247,21 +248,24 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + resolve(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } + + }) } } 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 a7fad9b0..d0312c6f 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,10 @@ export default { return lesion ? lesion.Count : 0 }, handleSave(isPrompt = true) { - return new Promise(async(resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - if (valid) { + return new Promise(async (resolve, reject) => { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -400,22 +401,24 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - console.log(isPrompt) - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + resolve(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } + + }) }, 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 4d58054a..38de054a 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 @@ -364,8 +364,9 @@ export default { }, handleSave(isPrompt = true) { return new Promise(async (resolve, reject) => { - let valid = await this.$refs['globalRuleForm'].validate() - if (valid) { + try { + let valid = await this.$refs['globalRuleForm'].validate() + if (valid) { this.loading = true var visitTaskAnswerList = [] this.globalForm.taskList.forEach((item, index) => { @@ -394,22 +395,23 @@ export default { trialId: this.globalInfo.trialId, visitTaskAnswerList } - try { - await batchSubmitGlobalReadingInfo(params) - this.loading = false - if (isPrompt) { - console.log(isPrompt) - this.$message.success(this.$t('common:message:savedSuccessfully')) - } - this.$emit('getGlInfo') - resolve() - } catch (e) { - this.loading = false - reject() + await batchSubmitGlobalReadingInfo(params) + this.loading = false + if (isPrompt) { + this.$message.success(this.$t('common:message:savedSuccessfully')) } + this.$emit('getGlInfo') + resolve(true) + } else { - reject() + resolve(false) } + } catch(e) { + console.log(e) + this.loading = false + resolve(false) + } + }) }, 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 cce9163e..8a9d127b 100644 --- a/src/views/trials/trials-panel/reading/global-review/index.vue +++ b/src/views/trials/trials-panel/reading/global-review/index.vue @@ -41,7 +41,7 @@ {{ $t('trials:globalReview:button:submit') }} - - - - - - - + + @@ -164,16 +173,17 @@ import const_ from '@/const/sign-code' import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent' import CustomizeTable from './components/CustomizeTable' import RecistTable from './components/RecistTable' -import PCWG3Table from './components/PCWG3Table' -import IRecistTable from './components/IRecistTable' -import RecistBMTable from './components/RecistBMTable' -import LuganoTable from './components/LuganoTable' +import pcwg3Table from './components/PCWG3Table' +import irecistTable from './components/IRecistTable' +import recistbmTable from './components/RecistBMTable' +import luganoTable from './components/LuganoTable' +import mrecistTable from './components/MRecistTable.vue' import SignForm from '@/views/trials/components/newSignForm' import { changeURLStatic } from '@/utils/history.js' import store from '@/store' export default { name: 'GlobalReview', - components: { CustomizeTable, RecistTable, PCWG3Table, IRecistTable, RecistBMTable,LuganoTable, SignForm }, + components: { CustomizeTable, RecistTable, pcwg3Table, irecistTable, recistbmTable,luganoTable,mrecistTable, SignForm }, props: { trialId: { type: String, @@ -384,10 +394,13 @@ export default { .catch(() => {}) } else { // 自动保存 - await this.$refs['globalTbl'].handleSave(false) - const { ImageAssessmentReportConfirmation } = const_.processSignature - this.signCode = ImageAssessmentReportConfirmation - this.signVisible = true + let res = await this.$refs['globalTbl'].handleSave(false) + if (res) { + const { ImageAssessmentReportConfirmation } = const_.processSignature + this.signCode = ImageAssessmentReportConfirmation + this.signVisible = true + } + } }, // 关闭签名框