Compare commits
No commits in common. "6714d2a3c2199c20015bb24103cddf8eb4dc4d95" and "1d35efd4aa47680b9adccd714d665feb7ed7551e" have entirely different histories.
6714d2a3c2
...
1d35efd4aa
|
@ -491,7 +491,7 @@ export default {
|
||||||
deleteReadingRowAnswer(param)
|
deleteReadingRowAnswer(param)
|
||||||
.then(async res => {
|
.then(async res => {
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
this.$message.success('删除成功')
|
||||||
DicomEvent.$emit('reGetQuestionAnswer')
|
DicomEvent.$emit('reGetQuestionAnswer')
|
||||||
}
|
}
|
||||||
loading.close()
|
loading.close()
|
||||||
|
|
|
@ -1,432 +0,0 @@
|
||||||
<template>
|
|
||||||
<el-form v-if="globalForm.taskList.length > 0" ref="globalRuleForm" :model="globalForm" class="global-form">
|
|
||||||
<el-table
|
|
||||||
v-loading="loading"
|
|
||||||
:data="globalForm.taskList"
|
|
||||||
>
|
|
||||||
<!-- 访视名称 -->
|
|
||||||
<el-table-column
|
|
||||||
prop="BlindName"
|
|
||||||
:label="$t('trials:globalReview:table:visitName')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
width="150"
|
|
||||||
/>
|
|
||||||
<!-- 评估结果 -->
|
|
||||||
<el-table-column
|
|
||||||
:label="$t('trials:globalReview:table:evaluationRes')"
|
|
||||||
align="center"
|
|
||||||
prop=""
|
|
||||||
>
|
|
||||||
<template>
|
|
||||||
<el-table-column
|
|
||||||
v-for="(qs,index) in globalInfo.evaluationQsList"
|
|
||||||
:key="index"
|
|
||||||
prop=""
|
|
||||||
:label="qs"
|
|
||||||
show-overflow-tooltip
|
|
||||||
width="150"
|
|
||||||
>
|
|
||||||
<!-- <template slot-scope="scope">
|
|
||||||
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer" :style="{color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null}">
|
|
||||||
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
|
|
||||||
{{ $fd(scope.row.BeforeQuestionList[index].DictionaryCode,parseInt(scope.row.BeforeQuestionList[index].Answer)) }}
|
|
||||||
</span>
|
|
||||||
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
|
|
||||||
</div>
|
|
||||||
</template> -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<template v-if="(scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===1 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===5)) || (!scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===2 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===6)) || (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===0 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===4)">
|
|
||||||
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer" :style="{color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null}">
|
|
||||||
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
|
|
||||||
{{ $fd(scope.row.BeforeQuestionList[index].DictionaryCode,parseInt(scope.row.BeforeQuestionList[index].Answer)) }}
|
|
||||||
</span>
|
|
||||||
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<!-- 是否同意访视结果 -->
|
|
||||||
<el-table-column
|
|
||||||
prop=""
|
|
||||||
:label="$t('trials:globalReview:table:isAgreeEvaluationRes')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
width="170"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-form-item
|
|
||||||
v-if="readingTaskState<2"
|
|
||||||
:prop="`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`"
|
|
||||||
label=""
|
|
||||||
:rules="[
|
|
||||||
{ required: true,message: $t('common:ruleMessage:select'), trigger: ['change','blur']},
|
|
||||||
]"
|
|
||||||
class="form-item"
|
|
||||||
>
|
|
||||||
<el-radio-group
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]"
|
|
||||||
@change="handleAgreeOrNotChange(scope.$index,scope.row.AgreeOrNot[0].GlobalAnswerType)"
|
|
||||||
>
|
|
||||||
<el-radio
|
|
||||||
v-for="item of $d.ReadingYesOrNo"
|
|
||||||
:key="'AgreeOrNot' + item.value"
|
|
||||||
:label="String(item.value)"
|
|
||||||
>
|
|
||||||
{{ item.label }}
|
|
||||||
</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary">
|
|
||||||
{{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}
|
|
||||||
</el-tag>
|
|
||||||
<el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
|
|
||||||
<span v-else />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<!-- 调整后结果 -->
|
|
||||||
<el-table-column
|
|
||||||
:label="$t('trials:globalReview:table:adjustedRes')"
|
|
||||||
align="center"
|
|
||||||
prop=""
|
|
||||||
>
|
|
||||||
<template v-for="(qs,index) in globalInfo.adjustedQsList">
|
|
||||||
<el-table-column
|
|
||||||
v-if="qs.isShow"
|
|
||||||
:key="index"
|
|
||||||
prop=""
|
|
||||||
:label="qs.questionName"
|
|
||||||
show-overflow-tooltip
|
|
||||||
:min-width="index === 3 ? '200' : '200'"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<div v-if="readingTaskState<2 && (scope.row.AfterQuestionList[index].GlobalReadingShowType === 0 || (scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 1) || (!scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 2))">
|
|
||||||
<el-form-item
|
|
||||||
style="margin-bottom: 0;"
|
|
||||||
:prop="`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:scope.row.AfterQuestionList[index].GlobalAnswerType}`"
|
|
||||||
label=""
|
|
||||||
:rules="[
|
|
||||||
{ required:parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0,message: $t('common:ruleMessage:specify'), trigger: ['change','blur']},
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<label v-if="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0" />
|
|
||||||
<!-- 裁判问题 -->
|
|
||||||
<template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 0 ">
|
|
||||||
<el-select
|
|
||||||
v-if="scope.row.AfterQuestionList[index].Type === 'select'"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
style="width:90%;"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
>
|
|
||||||
<template v-if="scope.row.AfterQuestionList[index].TypeValue">
|
|
||||||
<el-option
|
|
||||||
v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')"
|
|
||||||
:key="val"
|
|
||||||
:label="val"
|
|
||||||
:value="val"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-select>
|
|
||||||
<el-input
|
|
||||||
v-if="scope.row.AfterQuestionList[index].Type ==='textarea'"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
type="textarea"
|
|
||||||
:autosize="{ minRows: 2, maxRows: 4}"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
/>
|
|
||||||
<!-- 输入框 -->
|
|
||||||
<el-input
|
|
||||||
v-if="scope.row.AfterQuestionList[index].Type ==='input'"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
/>
|
|
||||||
<!-- 单选 -->
|
|
||||||
<el-radio-group
|
|
||||||
v-if="scope.row.AfterQuestionList[index].Type ==='radio'"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
>
|
|
||||||
<el-radio
|
|
||||||
v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')"
|
|
||||||
:key="val.trim()"
|
|
||||||
:label="val.trim()"
|
|
||||||
>
|
|
||||||
{{ val.trim() }}
|
|
||||||
</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
<!-- 数值 -->
|
|
||||||
<el-input
|
|
||||||
type="number"
|
|
||||||
v-if="scope.row.AfterQuestionList[index].Type === 'number'"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
>
|
|
||||||
</el-input>
|
|
||||||
</template>
|
|
||||||
<!-- 评估更新类型 GlobalAnswerType:3 -->
|
|
||||||
<template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3">
|
|
||||||
<el-tooltip v-if="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)" class="item" effect="dark" :content="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)" placement="top-start">
|
|
||||||
<el-select
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]"
|
|
||||||
style="width:90%;"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="val in globalInfo.assessTypeList"
|
|
||||||
v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)"
|
|
||||||
:key="val.Code"
|
|
||||||
:label="language === 'en'?val.Value:val.ValueCN"
|
|
||||||
:value="val.Code"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-tooltip>
|
|
||||||
<el-select
|
|
||||||
v-else
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]"
|
|
||||||
style="width:90%;"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="val in globalInfo.assessTypeList"
|
|
||||||
v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)"
|
|
||||||
:key="val.Code"
|
|
||||||
:label="language === 'en'?val.Value:val.ValueCN"
|
|
||||||
:value="val.Code"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</template>
|
|
||||||
<el-input
|
|
||||||
v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 1"
|
|
||||||
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
|
|
||||||
type="textarea"
|
|
||||||
maxlength="100"
|
|
||||||
show-word-limit
|
|
||||||
style="width:90%;"
|
|
||||||
:autosize="{ minRows: 2 }"
|
|
||||||
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
|
|
||||||
<span v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3">
|
|
||||||
{{ getAssessType(scope.row.AfterQuestionList[index].Answer) }}
|
|
||||||
</span>
|
|
||||||
<span v-else-if="scope.row.AfterQuestionList[index].DictionaryCode">
|
|
||||||
{{ $fd(scope.row.AfterQuestionList[index].DictionaryCode,parseInt(scope.row.AfterQuestionList[index].Answer)) }}
|
|
||||||
</span>
|
|
||||||
<span v-else>{{ scope.row.AfterQuestionList[index].Answer }}</span>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
:label="$t('common:action:action')"
|
|
||||||
width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
circle
|
|
||||||
:title="$t('trials:globalReview:table:view')"
|
|
||||||
icon="el-icon-view"
|
|
||||||
@click="handleView(scope.row)"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</el-form>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { getToken } from '@/utils/auth'
|
|
||||||
import { batchSubmitGlobalReadingInfo } from '@/api/trials'
|
|
||||||
import { mapGetters } from 'vuex'
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
globalInfo: {
|
|
||||||
type: Object,
|
|
||||||
default() {
|
|
||||||
return {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
globalForm: {
|
|
||||||
type: Object,
|
|
||||||
default() {
|
|
||||||
return {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
readingTaskState: {
|
|
||||||
type: Number,
|
|
||||||
required: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
loading: false,
|
|
||||||
assessTypes: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
...mapGetters(['language'])
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.assessTypes = this.globalInfo.assessTypeList.filter(i => i.IsBaseLineUse === this.isBaseline)
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getText(val, row, type) {
|
|
||||||
if (type === 3) {
|
|
||||||
var o = this.globalInfo.assessTypeList.find(v => {
|
|
||||||
return parseInt(v.Code) === parseInt(val)
|
|
||||||
})
|
|
||||||
if (!o) {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
return this.language === 'en' ? o.Value : o.ValueCN
|
|
||||||
} else if (row.TypeValue) {
|
|
||||||
return val
|
|
||||||
} else if (row.DictionaryCode) {
|
|
||||||
return this.$fd(row.DictionaryCode, parseInt(val))
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
handleView(row) {
|
|
||||||
var token = getToken()
|
|
||||||
var visitTaskId = row.VisitTaskId
|
|
||||||
var criterionType = this.$router.currentRoute.query.criterionType
|
|
||||||
var readingTool = this.$router.currentRoute.query.readingTool
|
|
||||||
readingTool = isNaN(parseInt(readingTool)) ? null : parseInt(readingTool)
|
|
||||||
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
|
|
||||||
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
|
|
||||||
var path = ''
|
|
||||||
if (readingTool === 0) {
|
|
||||||
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
|
|
||||||
} else {
|
|
||||||
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
|
|
||||||
}
|
|
||||||
const routeData = this.$router.resolve({ path })
|
|
||||||
var newWindow = window.open(routeData.href, '_blank')
|
|
||||||
this.$emit('setOpenWindow', newWindow)
|
|
||||||
},
|
|
||||||
getLesionCount(lesionList, lesionType) {
|
|
||||||
const lesion = lesionList.find(i => i.LesionType === lesionType)
|
|
||||||
return lesion ? lesion.Count : 0
|
|
||||||
},
|
|
||||||
handleSave(isPrompt = true) {
|
|
||||||
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) => {
|
|
||||||
var answerList = []
|
|
||||||
item.AfterQuestionList.map(i => {
|
|
||||||
var obj = {}
|
|
||||||
if (i.QuestionId) {
|
|
||||||
obj.questionId = i.QuestionId
|
|
||||||
obj.globalAnswerType = i.GlobalAnswerType
|
|
||||||
obj.answer = this.globalForm[ `${index}${i.QuestionId}`]
|
|
||||||
} else {
|
|
||||||
obj.questionId = ''
|
|
||||||
obj.globalAnswerType = i.GlobalAnswerType
|
|
||||||
obj.answer = this.globalForm[ `${index}${i.GlobalAnswerType}`]
|
|
||||||
}
|
|
||||||
answerList.push(obj)
|
|
||||||
})
|
|
||||||
answerList.push({ questionId: '', globalAnswerType: item.AgreeOrNot[0].GlobalAnswerType,
|
|
||||||
answer: this.globalForm[ `${index}${item.AgreeOrNot[0].GlobalAnswerType}`] })
|
|
||||||
|
|
||||||
visitTaskAnswerList.push({ visitTaskId: item.VisitTaskId, answerList: answerList })
|
|
||||||
})
|
|
||||||
var params = {
|
|
||||||
globalTaskId: this.globalInfo.visitTaskId,
|
|
||||||
subjectId: this.globalInfo.subjectId,
|
|
||||||
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()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
reject()
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getBeforeAnswer(qsId, row) {
|
|
||||||
var i = row.BeforeQuestionList.findIndex(item => item.QuestionName === qsId)
|
|
||||||
|
|
||||||
if (i > -1 && row.BeforeQuestionList[i].Answer) {
|
|
||||||
var answer = ''
|
|
||||||
if (row.BeforeQuestionList[i].DictionaryCode) {
|
|
||||||
answer = row.BeforeQuestionList[i].Answer
|
|
||||||
} else {
|
|
||||||
answer = row.BeforeQuestionList[i].Answer
|
|
||||||
}
|
|
||||||
return answer
|
|
||||||
} else {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleAgreeOrNotChange(index, globalAnswerType) {
|
|
||||||
var agreeOrNot = parseInt(this.globalForm[`${index}${globalAnswerType}`])
|
|
||||||
if (agreeOrNot === 1) {
|
|
||||||
var qsList = this.globalForm.taskList[index].AfterQuestionList
|
|
||||||
qsList.map(v => {
|
|
||||||
if (v.QuestionId) {
|
|
||||||
this.globalForm[`${index}${v.QuestionId}`] = ''
|
|
||||||
} else if (v.GlobalAnswerType !== globalAnswerType) {
|
|
||||||
this.globalForm[`${index}${v.GlobalAnswerType}`] = ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
console.log(this.globalForm)
|
|
||||||
},
|
|
||||||
getAssessType(v) {
|
|
||||||
console.log(this.language)
|
|
||||||
var i = this.globalInfo.assessTypeList.findIndex(i => String(i.Code) === String(v))
|
|
||||||
if (i > -1) {
|
|
||||||
return this.language === 'en' ? this.globalInfo.assessTypeList[i].Value : this.globalInfo.assessTypeList[i].ValueCN
|
|
||||||
} else {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
/deep/ .el-form-item label:before {
|
|
||||||
content: '*';
|
|
||||||
color: #F56C6C;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
/deep/ .el-textarea .el-input__count{
|
|
||||||
background: rgba(0,0,0,0);
|
|
||||||
line-height: normal;
|
|
||||||
}
|
|
||||||
/deep/ .el-form-item{
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
.global-form{
|
|
||||||
/deep/ .el-form-item__content{
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
/deep/ .form-item .el-form-item__error{
|
|
||||||
top: 60%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -41,17 +41,8 @@
|
||||||
{{ $t('trials:globalReview:button:submit') }}
|
{{ $t('trials:globalReview:button:submit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<CustomizeTable
|
|
||||||
v-if="CriterionType === 0 && Object.keys(globalInfo).length !== 0"
|
|
||||||
ref="globalTbl"
|
|
||||||
:global-info="globalInfo"
|
|
||||||
:global-form="globalInfo.globalForm"
|
|
||||||
:reading-task-state="readingTaskState"
|
|
||||||
@getGlInfo="getGlInfo"
|
|
||||||
@setOpenWindow="setOpenWindow"
|
|
||||||
/>
|
|
||||||
<RecistTable
|
<RecistTable
|
||||||
v-if="CriterionType === 1 && Object.keys(globalInfo).length !== 0"
|
v-if="(CriterionType === 1 || CriterionType === 0 ) && Object.keys(globalInfo).length !== 0"
|
||||||
ref="globalTbl"
|
ref="globalTbl"
|
||||||
:global-info="globalInfo"
|
:global-info="globalInfo"
|
||||||
:global-form="globalInfo.globalForm"
|
:global-form="globalInfo.globalForm"
|
||||||
|
@ -162,7 +153,6 @@ import { setSkipReadingCache } from '@/api/reading'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
import const_ from '@/const/sign-code'
|
import const_ from '@/const/sign-code'
|
||||||
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
|
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
|
||||||
import CustomizeTable from './components/CustomizeTable'
|
|
||||||
import RecistTable from './components/RecistTable'
|
import RecistTable from './components/RecistTable'
|
||||||
import PCWG3Table from './components/PCWG3Table'
|
import PCWG3Table from './components/PCWG3Table'
|
||||||
import IRecistTable from './components/IRecistTable'
|
import IRecistTable from './components/IRecistTable'
|
||||||
|
@ -173,7 +163,7 @@ import { changeURLStatic } from '@/utils/history.js'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalReview',
|
name: 'GlobalReview',
|
||||||
components: { CustomizeTable, RecistTable, PCWG3Table, IRecistTable, RecistBMTable,LuganoTable, SignForm },
|
components: { RecistTable, PCWG3Table, IRecistTable, RecistBMTable,LuganoTable, SignForm },
|
||||||
props: {
|
props: {
|
||||||
trialId: {
|
trialId: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
Loading…
Reference in New Issue