系统标准更改

uat_us
caiyiling 2024-09-06 11:19:06 +08:00
parent 9bb856b50a
commit 842e959e2d
8 changed files with 234 additions and 128 deletions

View File

@ -35,26 +35,31 @@ const getDefaultState = () => {
} }
} }
function getQuestions(questions) { function getQuestions(questions) {
const criterionType = parseInt(localStorage.getItem('CriterionType'))
questions.forEach(item => { questions.forEach(item => {
if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) { if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) {
item.TableQuestions.Answers.forEach(answerObj => { 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' 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) { if (answerObj.RowId) {
var idx = item.TableQuestions.Questions.findIndex(i => i.QuestionMark === 11) if (criterionType === 10) {
if (idx > -1) {
// pcwg // pcwg
var lesionNum = getQuestionAnswer(item.TableQuestions.Questions, 11, answerObj)
answerObj.lesionNum = lesionNum
answerObj.saveTypeEnum = isNaN(parseInt(answerObj.lesionNum)) ? 1 : 2 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 { } 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 answerObj.saveTypeEnum = isNaN(parseInt(answerObj.lesionState)) ? 1 : 2
} }
} else { } else {

View File

@ -433,7 +433,7 @@
/> />
<RecistQuestionList <RecistQuestionList
v-else-if="CriterionType === 13" v-else-if="CriterionType === 1"
ref="measurementList" ref="measurementList"
:question-form-change-state="questionFormChangeState" :question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum" :question-form-change-num="questionFormChangeNum"
@ -458,7 +458,7 @@
:is-reading-show-subject-info="isReadingShowSubjectInfo" :is-reading-show-subject-info="isReadingShowSubjectInfo"
/> />
<h2 v-else style="color:#ddd"> <h2 v-else style="color:#ddd">
Developing... Developing...
</h2> </h2>
</div> </div>

View File

@ -56,18 +56,38 @@
> >
<!-- 输入框 --> <!-- 输入框 -->
<template v-if="qs.Type==='input' || qs.Type==='number'"> <template v-if="qs.Type==='input'">
<el-input <el-input
v-if="qs.Type==='input' || qs.Type==='number'"
v-model="questionForm[qs.Id]" v-model="questionForm[qs.Id]"
:disabled="!isCurrentTask || readingTaskState>=2 " :disabled="!isCurrentTask || readingTaskState>=2 "
@change="((val)=>{formItemChange(val, qs)})" @change="((val)=>{formItemChange(val, qs)})"
/>
</template>
<!-- 数值类型 -->
<template v-if="qs.Type==='number'">
<el-input
v-model="questionForm[qs.Id]"
:disabled="!isCurrentTask || readingTaskState>=2 "
@change="((val)=>{formItemChange(val, qs)})"
@blur="limitBlur(qs.Id, qs.ValueType)"
> >
<template v-if="(qs.QuestionMark===0 || qs.QuestionMark===1) && qs.Unit" slot="append"> <template v-if="(qs.QuestionMark===0 || qs.QuestionMark===1) && qs.Unit" slot="append">
{{ $fd('ValueUnit', parseInt(qs.Unit)) }} {{ $fd('ValueUnit', parseInt(qs.Unit)) }}
</template> </template>
</el-input> </el-input>
</template> </template>
<!-- 自动计算 -->
<template v-if="qs.Type==='calculation'">
<el-input
v-model="questionForm[qs.Id]"
disabled
@change="((val)=>{formItemChange(val, qs)})"
>
<template v-if="qs.Unit" slot="append">
{{ $fd('ValueUnit', parseInt(qs.Unit)) }}
</template>
</el-input>
</template>
<!-- 多行文本输入框 --> <!-- 多行文本输入框 -->
<el-input <el-input
v-if="qs.Type==='textarea'" v-if="qs.Type==='textarea'"
@ -213,11 +233,14 @@ export default {
isCurrentTaskAdd: 'False', isCurrentTaskAdd: 'False',
lesionMark: '', lesionMark: '',
deleteInfo: null, deleteInfo: null,
pictureBaseStr: '' pictureBaseStr: '',
digitPlaces: 2
} }
}, },
mounted() { mounted() {
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
var digitPlaces = Number(localStorage.getItem('digitPlaces'))
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
this.initForm() this.initForm()
DicomEvent.$on('handleImageQualityAbnormal', () => { DicomEvent.$on('handleImageQualityAbnormal', () => {
@ -353,14 +376,44 @@ export default {
}) })
}, },
async formItemChange(v, question) { async formItemChange(v, question) {
console.log('formItemChange')
if (this.questionForm.RowId) { if (this.questionForm.RowId) {
this.$set(this.questionForm, 'saveTypeEnum', 1) this.$set(this.questionForm, 'saveTypeEnum', 1)
} else { } else {
this.$set(this.questionForm, 'saveTypeEnum', 0) this.$set(this.questionForm, 'saveTypeEnum', 0)
} }
if (question.QuestionMark === 1001 || question.QuestionMark === 1002) {
this.questionForm[this.getQuestionId(1003)] = this.calculate([1001, 1002], '-')
}
this.$emit('resetQuestions', { saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) this.$emit('resetQuestions', { saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
}, },
calculate(qsMarkArr, type) {
var num = 0
qsMarkArr.map((qsmark, i) => {
if (i === 0) {
const v = this.questionForm[this.getQuestionId(qsmark)]
num = isNaN(parseFloat(v)) ? 0 : parseFloat(v)
} else {
const v = this.questionForm[this.getQuestionId(qsmark)]
switch (type) {
case '-':
num -= isNaN(parseFloat(v)) ? 0 : parseFloat(v)
break
}
}
})
return parseFloat(num).toFixed(this.digitPlaces)
},
limitBlur(qId, valueType) {
const value = this.questionForm[qId]
if (valueType === 0) {
this.$set(this.questionForm, qId, parseInt(value))
} else if (valueType === 3) {
this.$set(this.questionForm, qId, parseFloat(value))
} else {
this.$set(this.questionForm, qId, parseFloat(value).toFixed(this.digitPlaces))
}
},
returnFloat(num) { returnFloat(num) {
if (num) return if (num) return
var value = Math.round(parseFloat(num) * 100) / 100 var value = Math.round(parseFloat(num) * 100) / 100
@ -508,6 +561,7 @@ export default {
.measurement-form{ .measurement-form{
/deep/ .el-form-item__label{ /deep/ .el-form-item__label{
color: #c3c3c3; color: #c3c3c3;
text-align: left;
} }
/deep/ .el-input .el-input__inner{ /deep/ .el-input .el-input__inner{
background-color: transparent; background-color: transparent;

View File

@ -17,10 +17,17 @@
</div> </div>
</div> </div>
<!-- 非测量问题 --> <!-- 影像质量问题 -->
<div class="lesions"> <div class="lesions">
<Questions ref="ecrf" :question-form-change-state="questionFormChangeState" :question-form-change-num="questionFormChangeNum" /> <Questions
ref="ecrf"
:question-form-change-state="true"
:question-form-change-num="0"
:is-qulity-issues="false"
:group-classify="1"
/>
</div> </div>
<!-- 测量问题 --> <!-- 测量问题 -->
<template v-if="questions.length > 0 && CriterionType !== 10"> <template v-if="questions.length > 0 && CriterionType !== 10">
<div v-for="(qs,index) in questions" :key="index" v-loading="loading" class="lesions lesions_wrapper"> <div v-for="(qs,index) in questions" :key="index" v-loading="loading" class="lesions lesions_wrapper">
@ -51,13 +58,13 @@
{{ getLesionName(item.OrderMark,q.RowIndex) }} {{ getLesionName(item.OrderMark,q.RowIndex) }}
<!-- 未保存 --> <!-- 未保存 -->
<!-- <el-tooltip v-if="readingTaskState<2 && parseInt(item.TableQuestions.Answers[i].saveTypeEnum) === 0" class="item" effect="dark" :content="$t('trials:reading:button:unsaved')" placement="bottom"> <el-tooltip v-if="readingTaskState<2 && parseInt(item.TableQuestions.Answers[i].saveTypeEnum) === 0" class="item" effect="dark" :content="$t('trials:reading:button:unsaved')" placement="bottom">
<i class="el-icon-warning" style="color:red" /> <i class="el-icon-warning" style="color:red" />
</el-tooltip> --> </el-tooltip>
<!-- 信息不完整 --> <!-- 信息不完整 -->
<!-- <el-tooltip v-if="readingTaskState<2 && parseInt(item.TableQuestions.Answers[i].saveTypeEnum) ===1" class="item" effect="dark" :content="$t('trials:reading:button:incompleteInfor')" placement="bottom"> <el-tooltip v-if="readingTaskState<2 && parseInt(item.TableQuestions.Answers[i].saveTypeEnum) ===1" class="item" effect="dark" :content="$t('trials:reading:button:incompleteInfor')" placement="bottom">
<i class="el-icon-warning" style="color:#ff9800" /> <i class="el-icon-warning" style="color:#ff9800" />
</el-tooltip> --> </el-tooltip>
</div> </div>
</template> </template>
@ -87,6 +94,25 @@
</div> </div>
</div> </div>
</template> </template>
<!-- 计算值 -->
<Questions
ref="ecrf2"
:question-form-change-state="true"
:question-form-change-num="0"
:is-qulity-issues="false"
:group-classify="4"
style="margin-top:20px"
/>
<!-- 评估结果 -->
<Questions
ref="ecrf3"
:question-form-change-state="true"
:question-form-change-num="0"
:is-qulity-issues="false"
:group-classify="5"
/>
</div> </div>
</div> </div>
</template> </template>
@ -225,6 +251,8 @@ export default {
this.questions = this.visitTaskList[i].ReadingQuestions this.questions = this.visitTaskList[i].ReadingQuestions
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['ecrf'].getQuestions(this.visitTaskId) this.$refs['ecrf'].getQuestions(this.visitTaskId)
this.$refs['ecrf2'].getQuestions(this.visitTaskId)
this.$refs['ecrf3'].getQuestions(this.visitTaskId)
this.getTableQuestions() this.getTableQuestions()
this.tableQuestions.forEach(item => { this.tableQuestions.forEach(item => {
item.TableQuestions.Answers.forEach(i => { item.TableQuestions.Answers.forEach(i => {
@ -245,12 +273,6 @@ export default {
questions.forEach(item => { questions.forEach(item => {
if (item.Type === 'table' && item.Id === obj.questionId) { if (item.Type === 'table' && item.Id === obj.questionId) {
var idx = item.TableQuestions.Answers.findIndex(i => i.RowIndex === obj.rowIndex) 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 item.TableQuestions.Answers[idx].saveTypeEnum = obj.saveTypeEnum
for (const i in obj.anwsers) { for (const i in obj.anwsers) {
@ -267,7 +289,8 @@ export default {
if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) { if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) {
item.TableQuestions.Answers.forEach(answerObj => { item.TableQuestions.Answers.forEach(answerObj => {
if (answerObj.RowId) { 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 { } else {
this.$set(answerObj, 'saveTypeEnum', 0) this.$set(answerObj, 'saveTypeEnum', 0)
} }
@ -493,6 +516,8 @@ export default {
}, },
getECRFQuestions(obj) { getECRFQuestions(obj) {
this.$refs['ecrf'].getQuestions(obj.visitTaskId) this.$refs['ecrf'].getQuestions(obj.visitTaskId)
this.$refs['ecrf2'].getQuestions(obj.visitTaskId)
this.$refs['ecrf3'].getQuestions(obj.visitTaskId)
}, },
async resetMeasuredData() { async resetMeasuredData() {
const confirm = await this.$confirm( const confirm = await this.$confirm(
@ -517,6 +542,8 @@ export default {
const triald = this.$router.currentRoute.query.trialId const triald = this.$router.currentRoute.query.trialId
await store.dispatch('reading/refreshDicomReadingQuestionAnswer', { trialId: triald, visitTaskId: this.visitTaskId }) await store.dispatch('reading/refreshDicomReadingQuestionAnswer', { trialId: triald, visitTaskId: this.visitTaskId })
this.$refs['ecrf'].getQuestions(this.visitTaskId, true) 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) DicomEvent.$emit('getReportInfo', true)
} }
loading.close() loading.close()

View File

@ -856,6 +856,7 @@ export default {
.ecrf-wrapper{ .ecrf-wrapper{
/deep/ .el-form-item__label{ /deep/ .el-form-item__label{
color: #c3c3c3; color: #c3c3c3;
text-align: left;
} }
/deep/ .el-input__inner{ /deep/ .el-input__inner{
background-color: transparent; background-color: transparent;

View File

@ -279,7 +279,14 @@ export default {
store.dispatch('reading/setImageloadedInfo', item) 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) { if (i > -1) {
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
if (idx > -1) { if (idx > -1) {
@ -356,7 +363,22 @@ export default {
var isReadingTaskViewInOrder = JSON.parse(this.$router.currentRoute.query.isReadingTaskViewInOrder) var isReadingTaskViewInOrder = JSON.parse(this.$router.currentRoute.query.isReadingTaskViewInOrder)
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId) var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
this.studyList = this.visitTaskList[idx].StudyList 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]) const obj = this.getFirstMarkedSeries(this.visitTaskList[idx].MeasureData, [...this.visitTaskList[idx].StudyList])
if (Object.keys(obj).length !== 0) { if (Object.keys(obj).length !== 0) {

View File

@ -124,7 +124,7 @@
<el-input-number <el-input-number
v-if="question.ValueType === 0" v-if="question.ValueType === 0"
v-model="questionForm[question.Id]" v-model="questionForm[question.Id]"
precision="0" precision="0"
:disabled="readingTaskState >= 2" :disabled="readingTaskState >= 2"
/> />
<el-input-number <el-input-number
@ -132,15 +132,14 @@
v-model="questionForm[question.Id]" v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2" :disabled="readingTaskState >= 2"
/> />
<el-input-number <el-input-number
v-else-if="question.ValueType === 1 || question.ValueType === 2" v-else-if="question.ValueType === 1 || question.ValueType === 2"
v-model="questionForm[question.Id]" v-model="questionForm[question.Id]"
:precision="digitPlaces" :precision="digitPlaces"
:disabled="readingTaskState >= 2" :disabled="readingTaskState >= 2"
> />
</el-input-number>
</template> </template>
<!-- 上传图像 --> <!-- 上传图像 -->
<el-upload <el-upload
v-if="question.Type==='upload'" v-if="question.Type==='upload'"

View File

@ -20,17 +20,17 @@
<!-- 跳过 --> <!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }} {{ $t('trials:readingReport:button:skip') }}
</el-button> </el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="getReportInfo">{{$t('trials:readingReport:button:refresh')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="getReportInfo">{{ $t('trials:readingReport:button:refresh') }}</el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleSave(true)">{{$t('common:button:save')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleSave(true)">{{ $t('common:button:save') }}</el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleConfirm">{{$t('common:button:submit')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleConfirm">{{ $t('common:button:submit') }}</el-button>
</div> </div>
</div> </div>
<div style="flex: 1"> <div style="flex: 1">
<el-table <el-table
v-if="taskQuestions.length > 0"
ref="reportList" ref="reportList"
v-adaptive="{bottomOffset:0}" v-adaptive="{bottomOffset:0}"
:data="taskQuestions" :data="taskQuestions"
v-if="taskQuestions.length > 0"
row-key="Id" row-key="Id"
border border
default-expand-all default-expand-all
@ -69,30 +69,29 @@
<div> <div>
{{ task.BlindName }} {{ task.BlindName }}
<el-button type="text" size="small" @click="previewDicoms(task)"> <el-button type="text" size="small" @click="previewDicoms(task)">
<span class="el-icon-view"></span> <span class="el-icon-view" />
</el-button> </el-button>
</div> </div>
<!-- <div v-if="task.LatestScanDate">--> <!-- <div v-if="task.LatestScanDate">-->
<!-- {{ task.LatestScanDate.split(' ')[0] }}--> <!-- {{ task.LatestScanDate.split(' ')[0] }}-->
<!-- </div>--> <!-- </div>-->
<!-- {{ `(影像点击跳转)` }} --> <!-- {{ `(影像点击跳转)` }} -->
<!-- {{ $t('trials:readingReport:button:jump') }}--> <!-- {{ $t('trials:readingReport:button:jump') }}-->
</div> </div>
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="readingTaskState<2 && task.VisitTaskId === visitTaskId && (scope.row.Type==='input' || scope.row.Type==='number' || scope.row.Type==='select' || scope.row.Type==='textarea' || scope.row.Type==='radio')"> <template v-if="readingTaskState<2 && task.VisitTaskId === visitTaskId && (scope.row.Type==='input' || scope.row.Type==='number' || scope.row.Type==='select' || scope.row.Type==='textarea' || scope.row.Type==='radio')">
<template> <template>
<!-- 输入框 --> <!-- 输入框 -->
<div> <div>
<template v-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"> <template v-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" />
</template>
<el-input <el-input
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='input' || scope.row.Type==='textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='input' || scope.row.Type==='textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]" v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
size="mini" size="mini"
/> />
<span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='input' || scope.row.Type==='textarea')"> <span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='input' || scope.row.Type==='textarea')">
{{questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]}} {{ questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId] }}
</span> </span>
<el-input <el-input
v-else-if="(scope.row.Type==='input' || scope.row.Type==='textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="(scope.row.Type==='input' || scope.row.Type==='textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
@ -100,10 +99,10 @@
size="mini" size="mini"
/> />
<span v-else-if="scope.row.Type==='input' || scope.row.Type==='textarea'"> <span v-else-if="scope.row.Type==='input' || scope.row.Type==='textarea'">
{{questionForm[scope.row.QuestionId]}} {{ questionForm[scope.row.QuestionId] }}
</span> </span>
<el-select <el-select
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='select' || scope.row.Type==='radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type==='select' || scope.row.Type==='radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]" v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
size="mini" size="mini"
clearable clearable
@ -118,7 +117,7 @@
</template> </template>
</el-select> </el-select>
<span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='select'"> <span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='select'">
{{questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]}} {{ questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId] }}
</span> </span>
<el-select <el-select
v-else-if="(scope.row.Type==='select' || scope.row.Type==='radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="(scope.row.Type==='select' || scope.row.Type==='radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
@ -136,18 +135,18 @@
</template> </template>
</el-select> </el-select>
<span v-else-if="scope.row.Type==='select' || scope.row.Type==='radio'"> <span v-else-if="scope.row.Type==='select' || scope.row.Type==='radio'">
{{questionForm[scope.row.QuestionId]}} {{ questionForm[scope.row.QuestionId] }}
</span> </span>
<el-input <el-input
v-else-if="scope.row.DataSource !== 1 && questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='number' && (scope.row.xfIndex || scope.row.xfIndex === 0) && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="scope.row.DataSource !== 1 && questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='number' && (scope.row.xfIndex || scope.row.xfIndex === 0) && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]" v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
:disabled="scope.row.DataSource === 1" :disabled="scope.row.DataSource === 1"
@blur="limitBlur(questionForm[scope.row.QuestionId][scope.row.xfIndex], scope.row.TableQuestionId, scope.row.ValueType)"
size="mini" size="mini"
@blur="limitBlur(questionForm[scope.row.QuestionId][scope.row.xfIndex], scope.row.TableQuestionId, scope.row.ValueType)"
@focus="() => {questionId = scope.row.QuestionId}" @focus="() => {questionId = scope.row.QuestionId}"
> >
<template slot="append" v-if="scope.row.Unit !== 0">{{scope.row.Unit !== 4 ? $fd('ValueUnit', scope.row.Unit) : scope.row.CustomUnit}}</template> <template v-if="scope.row.Unit !== 0" slot="append">{{ scope.row.Unit !== 4 ? $fd('ValueUnit', scope.row.Unit) : scope.row.CustomUnit }}</template>
<template slot="append" v-else-if="scope.row.ValueType === 2">%</template> <template v-else-if="scope.row.ValueType === 2" slot="append">%</template>
</el-input> </el-input>
<span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='number' && (scope.row.xfIndex || scope.row.xfIndex === 0)"> <span v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type==='number' && (scope.row.xfIndex || scope.row.xfIndex === 0)">
<template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"> <template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
@ -164,12 +163,12 @@
v-else-if="scope.row.DataSource !== 1 && scope.row.Type==='number' && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" v-else-if="scope.row.DataSource !== 1 && scope.row.Type==='number' && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
v-model="questionForm[scope.row.QuestionId]" v-model="questionForm[scope.row.QuestionId]"
:disabled="scope.row.DataSource === 1" :disabled="scope.row.DataSource === 1"
@blur="limitBlur(questionForm, scope.row.QuestionId, scope.row.ValueType)"
size="mini" size="mini"
@blur="limitBlur(questionForm, scope.row.QuestionId, scope.row.ValueType)"
@focus="() => {questionId = scope.row.QuestionId}" @focus="() => {questionId = scope.row.QuestionId}"
> >
<template slot="append" v-if="scope.row.Unit !== 0">{{scope.row.Unit !== 4 ? $fd('ValueUnit', scope.row.Unit) : scope.row.CustomUnit}}</template> <template v-if="scope.row.Unit !== 0" slot="append">{{ scope.row.Unit !== 4 ? $fd('ValueUnit', scope.row.Unit) : scope.row.CustomUnit }}</template>
<template slot="append" v-else-if="scope.row.ValueType === 2">%</template> <template v-else-if="scope.row.ValueType === 2" slot="append">%</template>
</el-input> </el-input>
<span v-else-if="scope.row.Type==='number'"> <span v-else-if="scope.row.Type==='number'">
<template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"> <template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
@ -179,49 +178,49 @@
{{ isNaN(parseInt(questionForm[scope.row.QuestionId])) ? questionForm[scope.row.QuestionId]:`${questionForm[scope.row.QuestionId]} %` }} {{ isNaN(parseInt(questionForm[scope.row.QuestionId])) ? questionForm[scope.row.QuestionId]:`${questionForm[scope.row.QuestionId]} %` }}
</template> </template>
<template v-else> <template v-else>
{{ isNaN(parseInt(questionForm[scope.row.QuestionId])) ? questionForm[scope.row.QuestionId] : questionForm[scope.row.QuestionId]}} {{ isNaN(parseInt(questionForm[scope.row.QuestionId])) ? questionForm[scope.row.QuestionId] : questionForm[scope.row.QuestionId] }}
</template> </template>
</span> </span>
</div> </div>
</template> </template>
</template> </template>
<template v-else-if="task.VisitTaskId === visitTaskId && scope.row.Type === 'upload'"> <template v-else-if="task.VisitTaskId === visitTaskId && scope.row.Type === 'upload'">
<UploadFile <UploadFile
v-if="scope.row.Type==='upload' && (scope.row.xfIndex || scope.row.xfIndex === 0)" v-if="scope.row.Type==='upload' && (scope.row.xfIndex || scope.row.xfIndex === 0)"
:visitTaskId="visitTaskId" :visit-task-id="visitTaskId"
:question="scope.row" :question="scope.row"
:task="task" :task="task"
:readingTaskState="readingTaskState" :reading-task-state="readingTaskState"
:initUrl="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]" :init-url="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
@setImageUrl="(url) => {setImageUrl(scope.row.QuestionId, scope.row.xfIndex, scope.row.TableQuestionId, url, scope.row.RowId)}" @setImageUrl="(url) => {setImageUrl(scope.row.QuestionId, scope.row.xfIndex, scope.row.TableQuestionId, url, scope.row.RowId)}"
></UploadFile> />
<UploadFile <UploadFile
v-else-if="scope.row.Type==='upload'" v-else-if="scope.row.Type==='upload'"
:visitTaskId="visitTaskId" :visit-task-id="visitTaskId"
:question="scope.row" :question="scope.row"
:task="task" :task="task"
:readingTaskState="readingTaskState" :reading-task-state="readingTaskState"
:initUrl="questionForm[scope.row.QuestionId]" :init-url="questionForm[scope.row.QuestionId]"
@setImageUrl="(url) => {setImageUrl(scope.row.QuestionId, scope.row.xfIndex, scope.row.TableQuestionId, url)}" @setImageUrl="(url) => {setImageUrl(scope.row.QuestionId, scope.row.xfIndex, scope.row.TableQuestionId, url)}"
></UploadFile> />
</template> </template>
<template v-else-if="scope.row.Type === 'upload'"> <template v-else-if="scope.row.Type === 'upload'">
<UploadFile <UploadFile
v-if="scope.row.Type==='upload' && (scope.row.xfIndex || scope.row.xfIndex === 0)" v-if="scope.row.Type==='upload' && (scope.row.xfIndex || scope.row.xfIndex === 0)"
:visitTaskId="visitTaskId" :visit-task-id="visitTaskId"
:question="scope.row" :question="scope.row"
:task="task" :task="task"
:readingTaskState="readingTaskState" :reading-task-state="readingTaskState"
:initUrl="scope.row.Answers[task.VisitTaskId]" :init-url="scope.row.Answers[task.VisitTaskId]"
></UploadFile> />
<UploadFile <UploadFile
v-else-if="scope.row.Type==='upload'" v-else-if="scope.row.Type==='upload'"
:visitTaskId="visitTaskId" :visit-task-id="visitTaskId"
:question="scope.row" :question="scope.row"
:task="task" :task="task"
:readingTaskState="readingTaskState" :reading-task-state="readingTaskState"
:initUrl="scope.row.Answers[task.VisitTaskId]" :init-url="scope.row.Answers[task.VisitTaskId]"
></UploadFile> />
</template> </template>
<template v-else-if="scope.row.QuestionType=== 22"> <template v-else-if="scope.row.QuestionType=== 22">
{{ scope.row.Answers[task.VisitTaskId] === '-1' ? '未知' : scope.row.Answers[task.VisitTaskId] }} {{ scope.row.Answers[task.VisitTaskId] === '-1' ? '未知' : scope.row.Answers[task.VisitTaskId] }}
@ -232,8 +231,7 @@
<template v-else-if="CriterionType === 10"> <template v-else-if="CriterionType === 10">
{{ isNaN(parseInt(scope.row.Answers[task.VisitTaskId]))?scope.row.Answers[task.VisitTaskId]:`${scope.row.Answers[task.VisitTaskId]}` }} {{ isNaN(parseInt(scope.row.Answers[task.VisitTaskId]))?scope.row.Answers[task.VisitTaskId]:`${scope.row.Answers[task.VisitTaskId]}` }}
</template> </template>
<template v-else-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"> <template v-else-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" />
</template>
<template v-else-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"> <template v-else-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
{{ isNaN(parseInt(scope.row.Answers[task.VisitTaskId]))?scope.row.Answers[task.VisitTaskId]:`${scope.row.Answers[task.VisitTaskId]} ${scope.row.Unit !== 4 ? $fd('ValueUnit',scope.row.Unit) : scope.row.CustomUnit}` }} {{ isNaN(parseInt(scope.row.Answers[task.VisitTaskId]))?scope.row.Answers[task.VisitTaskId]:`${scope.row.Answers[task.VisitTaskId]} ${scope.row.Unit !== 4 ? $fd('ValueUnit',scope.row.Unit) : scope.row.CustomUnit}` }}
</template> </template>
@ -266,7 +264,7 @@
</div> </div>
</template> </template>
<script> <script>
import { changeCalculationAnswer, getReadingReportEvaluation, changeDicomReadingQuestionAnswer, submitDicomVisitTask, verifyVisitTaskQuestions, getQuestionCalculateRelation } from '@/api/trials' import { changeCalculationAnswer, getReadingReportEvaluation, submitDicomVisitTask, verifyVisitTaskQuestions, getQuestionCalculateRelation } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading' import { setSkipReadingCache } from '@/api/reading'
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent' import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
import UploadFile from './UploadFile' import UploadFile from './UploadFile'
@ -366,15 +364,15 @@ export default {
DicomEvent.$off('getReportInfo') DicomEvent.$off('getReportInfo')
}, },
methods: { methods: {
limitBlur(questionForm,id,valueType) { limitBlur(questionForm, id, valueType) {
let value = questionForm[id] const value = questionForm[id]
if (valueType === 0) { if (valueType === 0) {
this.$set(questionForm, id, parseInt(value)) this.$set(questionForm, id, parseInt(value))
} else if (valueType === 3) { } else if (valueType === 3) {
this.$set(questionForm, id, parseFloat(value)) this.$set(questionForm, id, parseFloat(value))
}else { } else {
this.$set(questionForm, id, parseFloat(value).toFixed(this.digitPlaces)) this.$set(questionForm, id, parseFloat(value).toFixed(this.digitPlaces))
} }
}, },
setImageUrl(qid, index, tqid, url, RowId) { setImageUrl(qid, index, tqid, url, RowId) {
if (index || index === 0) { if (index || index === 0) {
@ -388,11 +386,10 @@ export default {
} }
}, },
getTagterAnswers(list, questionId) { getTagterAnswers(list, questionId) {
let Answers
list.forEach(v => { list.forEach(v => {
if (v.QuestionId === questionId) { if (v.QuestionId === questionId) {
return Object.assign({}, v.Answers) return Object.assign({}, v.Answers)
} else if (v.Childrens.length > 0){ } else if (v.Childrens.length > 0) {
return this.getTagterAnswers(v.Childrens, questionId) return this.getTagterAnswers(v.Childrens, questionId)
} }
}) })
@ -456,12 +453,12 @@ export default {
} }
if (v.Type === 'number') { if (v.Type === 'number') {
let val = null let val = null
if (v.ValueType === 0){ if (v.ValueType === 0) {
val = parseInt(v.Answers[this.visitTaskId]) val = parseInt(v.Answers[this.visitTaskId])
} else if (v.ValueType === 3) { } else if (v.ValueType === 3) {
val = v.Answers[this.visitTaskId] val = v.Answers[this.visitTaskId]
} else { } else {
val = v.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : v.Answers[this.visitTaskId] val = v.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : v.Answers[this.visitTaskId]
} }
this.$set(this.questionForm, v.QuestionId, val) this.$set(this.questionForm, v.QuestionId, val)
} }
@ -482,12 +479,12 @@ export default {
} }
if (i.Type === 'number') { if (i.Type === 'number') {
let val = null let val = null
if (i.ValueType === 0){ if (i.ValueType === 0) {
val = parseInt(i.Answers[this.visitTaskId]) val = parseInt(i.Answers[this.visitTaskId])
} else if (i.ValueType === 3) { } else if (i.ValueType === 3) {
val = i.Answers[this.visitTaskId] val = i.Answers[this.visitTaskId]
} else { } else {
val = i.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : i.Answers[this.visitTaskId] val = i.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : i.Answers[this.visitTaskId]
} }
this.$set(this.questionForm, i.QuestionId, val) this.$set(this.questionForm, i.QuestionId, val)
} }
@ -523,7 +520,7 @@ export default {
num *= parseFloat(q[o.TableQuestionId]) num *= parseFloat(q[o.TableQuestionId])
} }
}) })
break; break
case 6: case 6:
this.questionForm[o.QuestionId].forEach((q, qi) => { this.questionForm[o.QuestionId].forEach((q, qi) => {
if (qi === 0) { if (qi === 0) {
@ -532,7 +529,7 @@ export default {
num += isNaN(parseFloat(q[o.TableQuestionId])) ? null : parseFloat(q[o.TableQuestionId]) num += isNaN(parseFloat(q[o.TableQuestionId])) ? null : parseFloat(q[o.TableQuestionId])
} }
}) })
break; break
case 7: case 7:
this.questionForm[o.QuestionId].forEach((q, qi) => { this.questionForm[o.QuestionId].forEach((q, qi) => {
if (qi === 0) { if (qi === 0) {
@ -542,21 +539,22 @@ export default {
} }
}) })
num = this.questionForm[o.QuestionId].length === 0 ? 0 : num / this.questionForm[o.QuestionId].length num = this.questionForm[o.QuestionId].length === 0 ? 0 : num / this.questionForm[o.QuestionId].length
break; break
case 8: case 8:
var arr = [] var arr = []
this.questionForm[o.QuestionId].forEach(q => { this.questionForm[o.QuestionId].forEach(q => {
arr.push(q[o.TableQuestionId]) arr.push(q[o.TableQuestionId])
}) })
num = arr.length === 0 ? 0 : Math.max(...arr) num = arr.length === 0 ? 0 : Math.max(...arr)
break; break
case 9: case 9:
// eslint-disable-next-line no-redeclare
var arr = [] var arr = []
this.questionForm[o.QuestionId].forEach(q => { this.questionForm[o.QuestionId].forEach(q => {
arr.push(q[o.TableQuestionId]) arr.push(q[o.TableQuestionId])
}) })
num = arr.length === 0 ? 0 : Math.min(...arr) num = arr.length === 0 ? 0 : Math.min(...arr)
break; break
} }
} else { } else {
num = parseFloat(this.questionForm[o.TableQuestionId]) num = parseFloat(this.questionForm[o.TableQuestionId])
@ -565,17 +563,17 @@ export default {
switch (rules.CustomCalculateMark) { switch (rules.CustomCalculateMark) {
case 1: case 1:
num += parseFloat(this.questionForm[o.TableQuestionId]) num += parseFloat(this.questionForm[o.TableQuestionId])
break; break
case 2: case 2:
num -= parseFloat(this.questionForm[o.TableQuestionId]) num -= parseFloat(this.questionForm[o.TableQuestionId])
break; break
case 3: case 3:
num *= parseFloat(this.questionForm[o.TableQuestionId]) num *= parseFloat(this.questionForm[o.TableQuestionId])
break; break
case 4: case 4:
num /= parseFloat(this.questionForm[o.TableQuestionId]) num /= parseFloat(this.questionForm[o.TableQuestionId])
// num /= parseFloat(this.questionForm[o.TableQuestionId]) // num /= parseFloat(this.questionForm[o.TableQuestionId])
break; break
} }
} }
}) })
@ -615,12 +613,12 @@ export default {
setScrollTop(a) { setScrollTop(a) {
setTimeout(() => { setTimeout(() => {
this.$nextTick(() => { this.$nextTick(() => {
if(this.$refs.reportList){ if (this.$refs.reportList) {
this.$refs.reportList.bodyWrapper.scrollTop = this.$refs.reportList.bodyWrapper.scrollHeight this.$refs.reportList.bodyWrapper.scrollTop = this.$refs.reportList.bodyWrapper.scrollHeight
this.$refs.reportList.bodyWrapper.scrollTop = this.$refs.reportList.bodyWrapper.scrollHeight this.$refs.reportList.bodyWrapper.scrollTop = this.$refs.reportList.bodyWrapper.scrollHeight
} }
}) })
},50) }, 50)
}, },
getQuestions(questions, isNTFilterLength, lesionType, isLymphNodes) { getQuestions(questions, isNTFilterLength, lesionType, isLymphNodes) {
const arr = [] const arr = []
@ -685,12 +683,12 @@ export default {
} else { } else {
if (item.Type === 'number') { if (item.Type === 'number') {
let val = null let val = null
if (item.ValueType === 0){ if (item.ValueType === 0) {
val = parseInt(i.Answer) val = parseInt(i.Answer)
} else if (item.ValueType === 3) { } else if (item.ValueType === 3) {
val = i.Answer val = i.Answer
}else { } else {
val = isNaN(parseFloat(i.Answer)) ? i.Answer : parseFloat(i.Answer).toFixed(digitPlaces) val = isNaN(parseFloat(i.Answer)) ? i.Answer : parseFloat(i.Answer).toFixed(digitPlaces)
} }
this.$set(obj.Answers, i.VisitTaskId, val) this.$set(obj.Answers, i.VisitTaskId, val)
} else { } else {
@ -835,7 +833,7 @@ export default {
var trialId = this.trialId var trialId = this.trialId
var isReadingTaskViewInOrder = this.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.isReadingTaskViewInOrder
var criterionType = this.criterionType var criterionType = this.criterionType
var readingTool = this.readingTool var readingTool = this.readingTool
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` var path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
const routeData = this.$router.resolve({ path }) const routeData = this.$router.resolve({ path })
@ -855,7 +853,7 @@ export default {
questionId: k, questionId: k,
answer: v[o], answer: v[o],
tableQuestionId: o, tableQuestionId: o,
rowId: v[o+'_RowId'] rowId: v[o + '_RowId']
}) })
} }
}) })