diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js index b083731f..b79750f9 100644 --- a/src/store/modules/reading.js +++ b/src/store/modules/reading.js @@ -35,26 +35,31 @@ const getDefaultState = () => { } } function getQuestions(questions) { + const criterionType = parseInt(localStorage.getItem('CriterionType')) questions.forEach(item => { if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) { item.TableQuestions.Answers.forEach(answerObj => { - answerObj.lesionPart = getQuestionAnswer(item.TableQuestions.Questions, 8, answerObj) - answerObj.loctation = getQuestionAnswer(item.TableQuestions.Questions, 6, answerObj) - answerObj.lesionLength = getQuestionAnswer(item.TableQuestions.Questions, 0, answerObj) - answerObj.lesionShort = getQuestionAnswer(item.TableQuestions.Questions, 1, answerObj) answerObj.isDicomReading = answerObj.IsDicomReading === 'True' - var isLymphLesion = getQuestionAnswer(item.TableQuestions.Questions, 2, answerObj) - isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null - answerObj.isLymphLesion = isLymphLesion - answerObj.lesionState = getQuestionAnswer(item.TableQuestions.Questions, 7, answerObj) - var lesionNum = getQuestionAnswer(item.TableQuestions.Questions, 11, answerObj) - answerObj.lesionNum = lesionNum + if (answerObj.RowId) { - var idx = item.TableQuestions.Questions.findIndex(i => i.QuestionMark === 11) - if (idx > -1) { + if (criterionType === 10) { // pcwg + var lesionNum = getQuestionAnswer(item.TableQuestions.Questions, 11, answerObj) + answerObj.lesionNum = lesionNum answerObj.saveTypeEnum = isNaN(parseInt(answerObj.lesionNum)) ? 1 : 2 + } else if (criterionType === 19) { + // ivus + var v = getQuestionAnswer(item.TableQuestions.Questions, 1003, answerObj) + answerObj.saveTypeEnum = isNaN(parseFloat(v)) ? 1 : 2 } else { + answerObj.lesionPart = getQuestionAnswer(item.TableQuestions.Questions, 8, answerObj) + answerObj.loctation = getQuestionAnswer(item.TableQuestions.Questions, 6, answerObj) + answerObj.lesionLength = getQuestionAnswer(item.TableQuestions.Questions, 0, answerObj) + answerObj.lesionShort = getQuestionAnswer(item.TableQuestions.Questions, 1, answerObj) + var isLymphLesion = getQuestionAnswer(item.TableQuestions.Questions, 2, answerObj) + isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null + answerObj.isLymphLesion = isLymphLesion + answerObj.lesionState = getQuestionAnswer(item.TableQuestions.Questions, 7, answerObj) answerObj.saveTypeEnum = isNaN(parseInt(answerObj.lesionState)) ? 1 : 2 } } else { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue index 858a95d7..9ce0b8f3 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -433,7 +433,7 @@ />

- Developing... + Developing...

diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue index f058d8f3..3a534229 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue @@ -56,18 +56,38 @@ > - + + + + + + @@ -225,6 +251,8 @@ export default { this.questions = this.visitTaskList[i].ReadingQuestions this.$nextTick(() => { this.$refs['ecrf'].getQuestions(this.visitTaskId) + this.$refs['ecrf2'].getQuestions(this.visitTaskId) + this.$refs['ecrf3'].getQuestions(this.visitTaskId) this.getTableQuestions() this.tableQuestions.forEach(item => { item.TableQuestions.Answers.forEach(i => { @@ -245,12 +273,6 @@ export default { questions.forEach(item => { if (item.Type === 'table' && item.Id === obj.questionId) { var idx = item.TableQuestions.Answers.findIndex(i => i.RowIndex === obj.rowIndex) - item.TableQuestions.Answers[idx].isLymphLesion = obj.isLymphLesion - item.TableQuestions.Answers[idx].loctation = obj.lesionOrgan - item.TableQuestions.Answers[idx].lesionPart = obj.lesionPart - item.TableQuestions.Answers[idx].lesionLength = obj.lesionLength - item.TableQuestions.Answers[idx].lesionShort = obj.lesionShort - item.TableQuestions.Answers[idx].lesionState = obj.lesionState item.TableQuestions.Answers[idx].saveTypeEnum = obj.saveTypeEnum for (const i in obj.anwsers) { @@ -267,7 +289,8 @@ export default { if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) { item.TableQuestions.Answers.forEach(answerObj => { if (answerObj.RowId) { - this.$set(answerObj, 'saveTypeEnum', 2) + var diffVal = this.getQuestionAnswer(item.TableQuestions.Questions, 1003, answerObj) + this.$set(answerObj, 'saveTypeEnum', isNaN(parseFloat(diffVal)) ? 1 : 2) } else { this.$set(answerObj, 'saveTypeEnum', 0) } @@ -493,6 +516,8 @@ export default { }, getECRFQuestions(obj) { this.$refs['ecrf'].getQuestions(obj.visitTaskId) + this.$refs['ecrf2'].getQuestions(obj.visitTaskId) + this.$refs['ecrf3'].getQuestions(obj.visitTaskId) }, async resetMeasuredData() { const confirm = await this.$confirm( @@ -517,6 +542,8 @@ export default { const triald = this.$router.currentRoute.query.trialId await store.dispatch('reading/refreshDicomReadingQuestionAnswer', { trialId: triald, visitTaskId: this.visitTaskId }) this.$refs['ecrf'].getQuestions(this.visitTaskId, true) + this.$refs['ecrf2'].getQuestions(this.visitTaskId, true) + this.$refs['ecrf3'].getQuestions(this.visitTaskId, true) DicomEvent.$emit('getReportInfo', true) } loading.close() diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue index ea58890c..66329344 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue @@ -856,6 +856,7 @@ export default { .ecrf-wrapper{ /deep/ .el-form-item__label{ color: #c3c3c3; + text-align: left; } /deep/ .el-input__inner{ background-color: transparent; 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 ffdd0d48..f5229536 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue @@ -279,7 +279,14 @@ export default { store.dispatch('reading/setImageloadedInfo', item) } }) - var i = res.findIndex(s => s.isCurrentTask) + var i = -1 + var isReadingTaskViewInOrder = parseInt(this.$router.currentRoute.query.isReadingTaskViewInOrder) + if (isReadingTaskViewInOrder === 2) { + // 受试者内随机 + i = res.length === 2 ? 1 : -1 + } else { + i = res.findIndex(s => s.isCurrentTask) + } if (i > -1) { var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) if (idx > -1) { @@ -356,7 +363,22 @@ export default { var isReadingTaskViewInOrder = JSON.parse(this.$router.currentRoute.query.isReadingTaskViewInOrder) var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) this.studyList = this.visitTaskList[idx].StudyList - if (this.visitTaskList[idx].IsBaseLineTask || isReadingTaskViewInOrder !== 1) { + if (isReadingTaskViewInOrder === 2) { + // 受试者内随机 + const studyList = this.visitTaskList[idx].StudyList.filter(i => i.IsDicom) + const seriesArr = studyList.map(s => s.SeriesList).flat() + if (seriesArr.length === 1) { + seriesList.push(seriesArr[0], seriesArr[0]) + this.studyIndex = seriesArr[0].studyIndex + this.seriesIndex = seriesArr[0].seriesIndex + this.activeNames = [`${seriesArr[0].studyId}`] + } else if (seriesArr.length > 1) { + seriesList.push(seriesArr[0], seriesArr[1]) + this.studyIndex = seriesArr[1].studyIndex + this.seriesIndex = seriesArr[1].seriesIndex + this.activeNames = [`${seriesArr[1].studyId}`] + } + } else if (this.visitTaskList[idx].IsBaseLineTask || isReadingTaskViewInOrder === 0){ // 基线 const obj = this.getFirstMarkedSeries(this.visitTaskList[idx].MeasureData, [...this.visitTaskList[idx].StudyList]) if (Object.keys(obj).length !== 0) { 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 cb43bf14..f22de0ef 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 @@ -124,7 +124,7 @@ - - + /> - + {{ $t('trials:readingReport:button:skip') }} - {{$t('trials:readingReport:button:refresh')}} - {{$t('common:button:save')}} - {{$t('common:button:submit')}} + {{ $t('trials:readingReport:button:refresh') }} + {{ $t('common:button:save') }} + {{ $t('common:button:submit') }}
{{ task.BlindName }} - +
- - - + + +