Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
commit
31d3a17b80
|
@ -203,7 +203,7 @@
|
||||||
>
|
>
|
||||||
<i slot="default" class="el-icon-plus" />
|
<i slot="default" class="el-icon-plus" />
|
||||||
<div slot="file" slot-scope="{file}">
|
<div slot="file" slot-scope="{file}">
|
||||||
<viewer :images="images" :ref="file.url">
|
<viewer :ref="file.url" :images="images">
|
||||||
<img
|
<img
|
||||||
class="el-upload-list__item-thumbnail"
|
class="el-upload-list__item-thumbnail"
|
||||||
:src="OSSclientConfig.basePath + file.url"
|
:src="OSSclientConfig.basePath + file.url"
|
||||||
|
|
|
@ -1021,6 +1021,10 @@ export default {
|
||||||
if (!this.petctWindow) return
|
if (!this.petctWindow) return
|
||||||
this.petctWindow.postMessage({ type: 'readingPageUpdate', data: data }, window.location)
|
this.petctWindow.postMessage({ type: 'readingPageUpdate', data: data }, window.location)
|
||||||
})
|
})
|
||||||
|
DicomEvent.$on('resetPage', () => {
|
||||||
|
if (!this.petctWindow) return
|
||||||
|
this.petctWindow.postMessage({ type: 'resetPage' }, window.location)
|
||||||
|
})
|
||||||
DicomEvent.$on('setReadingState', (data) => {
|
DicomEvent.$on('setReadingState', (data) => {
|
||||||
if (!this.petctWindow) return
|
if (!this.petctWindow) return
|
||||||
this.petctWindow.postMessage({ type: 'setReadingState', data: data }, window.location)
|
this.petctWindow.postMessage({ type: 'setReadingState', data: data }, window.location)
|
||||||
|
|
|
@ -2149,7 +2149,49 @@ export default {
|
||||||
this.screenshotWindow.close()
|
this.screenshotWindow.close()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
async clearAnnotations() {
|
||||||
|
const viewportIds = ['PT_AXIAL', 'CT_AXIAL', 'FUSION_AXIAL']
|
||||||
|
viewportIds.map(v => {
|
||||||
|
const viewport = renderingEngine.getViewport(v)
|
||||||
|
if (viewport) {
|
||||||
|
var annotations = annotation.state.getAnnotations('CircleROI', viewport.element)
|
||||||
|
|
||||||
|
if (annotations && annotations.length > 0) {
|
||||||
|
annotations.map(i => {
|
||||||
|
if (i.metadata.toolName === 'CircleROI') {
|
||||||
|
annotation.state.removeAnnotation(i.annotationUID)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
viewport.render()
|
||||||
|
})
|
||||||
|
try {
|
||||||
|
const visitTaskId = this.$route.query.visitTaskId
|
||||||
|
const res = await getTableAnswerRowInfoList(visitTaskId)
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
var arr = []
|
||||||
|
res.Result.forEach(el => {
|
||||||
|
if (el.OtherMeasureData) {
|
||||||
|
el.OtherMeasureData = JSON.parse(el.OtherMeasureData)
|
||||||
|
el.OtherMeasureData.invalidated = false
|
||||||
|
if (this.readingTaskState === 2) {
|
||||||
|
el.OtherMeasureData.isLocked = true
|
||||||
|
}
|
||||||
|
el.OtherMeasureData.data.remark = el.OrderMarkName
|
||||||
|
const viewport = renderingEngine.getViewport('PT_AXIAL')
|
||||||
|
annotation.state.addAnnotation(el.OtherMeasureData, viewport.element)
|
||||||
|
}
|
||||||
|
arr.push(el)
|
||||||
|
})
|
||||||
|
this.measureDatas = arr
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
async receiveMsg(event) {
|
async receiveMsg(event) {
|
||||||
|
console.log(event.data.type)
|
||||||
if (event.data.type === 'readingPageUpdate') {
|
if (event.data.type === 'readingPageUpdate') {
|
||||||
// this.$refs['questions'].initList()
|
// this.$refs['questions'].initList()
|
||||||
this.$refs['tableQuestions'].initList(true)
|
this.$refs['tableQuestions'].initList(true)
|
||||||
|
@ -2171,6 +2213,14 @@ export default {
|
||||||
FusionEvent.$emit('closeHistoryScreenshot')
|
FusionEvent.$emit('closeHistoryScreenshot')
|
||||||
window.close()
|
window.close()
|
||||||
}
|
}
|
||||||
|
} else if (event.data.type === 'resetPage') {
|
||||||
|
if (this.screenshotWindow) {
|
||||||
|
this.screenshotWindow.close()
|
||||||
|
}
|
||||||
|
this.$refs['tableQuestions'].initList(true)
|
||||||
|
this.$refs['questions'].initList(true)
|
||||||
|
this.isLocate = true
|
||||||
|
this.clearAnnotations()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
startTimer() {
|
startTimer() {
|
||||||
|
|
|
@ -66,12 +66,36 @@
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else-if="question.QuestionType === 55">
|
||||||
|
<el-select
|
||||||
|
v-model="questionForm[question.Id]"
|
||||||
|
:disabled="readingTaskState >= 2 "
|
||||||
|
clearable
|
||||||
|
@change="((val)=>{formItemChange(val, question)})"
|
||||||
|
>
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(question.LastTaskAnswer)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${$fd(question.DictionaryCode,parseFloat(question.LastTaskAnswer))}` : ''"
|
||||||
|
>
|
||||||
|
<template>
|
||||||
|
<el-option
|
||||||
|
v-for="item of $d[question.DictionaryCode]"
|
||||||
|
:key="item.id"
|
||||||
|
:value="String(item.value)"
|
||||||
|
:label="item.label"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-option-group>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
<template v-else-if="question.QuestionType === 56">
|
<template v-else-if="question.QuestionType === 56">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="questionForm[question.Id]"
|
v-model="questionForm[question.Id]"
|
||||||
:disabled="readingTaskState >= 2 "
|
:disabled="readingTaskState >= 2 "
|
||||||
clearable
|
clearable
|
||||||
@change="((val)=>{formItemChange(val, question)})"
|
@change="((val)=>{formItemChange(val, question)})"
|
||||||
|
>
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(question.LastTaskAnswer)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${parseFloat(question.LastTaskAnswer) === 5 ? 'NA' : $fd(question.DictionaryCode,parseFloat(question.LastTaskAnswer))}` : ''"
|
||||||
>
|
>
|
||||||
<template v-if="pet5PS*1=== -1">
|
<template v-if="pet5PS*1=== -1">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -90,6 +114,7 @@
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
</el-option-group>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="question.QuestionType === 57">
|
<template v-else-if="question.QuestionType === 57">
|
||||||
|
@ -98,6 +123,9 @@
|
||||||
:disabled="readingTaskState >= 2 "
|
:disabled="readingTaskState >= 2 "
|
||||||
clearable
|
clearable
|
||||||
@change="((val)=>{formItemChange(val, question)})"
|
@change="((val)=>{formItemChange(val, question)})"
|
||||||
|
>
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(question.LastTaskAnswer)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${$fd(question.DictionaryCode,parseFloat(question.LastTaskAnswer))}` : ''"
|
||||||
>
|
>
|
||||||
<template v-if="pet5PS*1=== -1">
|
<template v-if="pet5PS*1=== -1">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -116,6 +144,7 @@
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
</el-option-group>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
<!-- 输入框 -->
|
<!-- 输入框 -->
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
:question-form="questionForm"
|
:question-form="questionForm"
|
||||||
:reading-task-state="readingTaskState"
|
:reading-task-state="readingTaskState"
|
||||||
:visit-task-id="visitTaskId"
|
:visit-task-id="visitTaskId"
|
||||||
:pet5PS="questionForm[pet5PSId]"
|
:pet5p-s="questionForm[pet5PSId]"
|
||||||
:lung-is-inside-volume="lungIsInsideVolume"
|
:lung-is-inside-volume="lungIsInsideVolume"
|
||||||
:liver-is-inside-volume="liverIsInsideVolume"
|
:liver-is-inside-volume="liverIsInsideVolume"
|
||||||
@setFormItemData="setFormItemData"
|
@setFormItemData="setFormItemData"
|
||||||
|
@ -163,15 +163,17 @@ export default {
|
||||||
}
|
}
|
||||||
this.initList(true)
|
this.initList(true)
|
||||||
},
|
},
|
||||||
initList(isInit) {
|
async initList(isInit) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
var params = {
|
try {
|
||||||
|
const params = {
|
||||||
trialId: this.trialId,
|
trialId: this.trialId,
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionClassify: 0
|
questionClassify: 0
|
||||||
}
|
}
|
||||||
getDicomReadingQuestionAnswer(params).then(res => {
|
const res = await getDicomReadingQuestionAnswer(params)
|
||||||
var questions = res.Result
|
if (res.IsSuccess) {
|
||||||
|
const questions = res.Result
|
||||||
|
|
||||||
questions.map((v) => {
|
questions.map((v) => {
|
||||||
v.IsBaseLineTask = this.isBaseLineTask
|
v.IsBaseLineTask = this.isBaseLineTask
|
||||||
|
@ -197,8 +199,12 @@ export default {
|
||||||
}
|
}
|
||||||
this.measurements.push(i)
|
this.measurements.push(i)
|
||||||
})
|
})
|
||||||
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => { this.loading = false })
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setChild(obj) {
|
setChild(obj) {
|
||||||
obj.forEach(i => {
|
obj.forEach(i => {
|
||||||
|
@ -263,37 +269,28 @@ export default {
|
||||||
// }
|
// }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
saveQuestionsForm() {
|
async saveQuestionsForm() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
try {
|
||||||
var answers = []
|
var answers = []
|
||||||
for (const k in this.questionForm) {
|
for (const k in this.questionForm) {
|
||||||
answers.push({ id: k, answer: this.questionForm[k] })
|
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 = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
answers: answers
|
answers: answers
|
||||||
// questionMarkInfoList
|
|
||||||
}
|
}
|
||||||
saveTaskQuestion(1, params).then(async res => {
|
const res = await saveTaskQuestion(1, params)
|
||||||
|
if (res.IsSuccess) {
|
||||||
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.questionFormChangeState = false
|
this.questionFormChangeState = false
|
||||||
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
||||||
}).catch(() => {
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
}
|
||||||
},
|
},
|
||||||
checkAnnotationStatus(obj) {
|
checkAnnotationStatus(obj) {
|
||||||
for (let i = 0; i < obj.length; i++) {
|
for (let i = 0; i < obj.length; i++) {
|
||||||
|
@ -422,21 +419,27 @@ export default {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
answers,
|
answers,
|
||||||
questionMarkInfoList
|
questionMarkInfoList
|
||||||
}
|
}
|
||||||
const qsType = question.QuestionType === 51 ? 2 : question.QuestionType === 52 ? 3 : null
|
const qsType = question.QuestionType === 51 ? 2 : question.QuestionType === 52 ? 3 : null
|
||||||
saveTaskQuestion(qsType, params).then(async res => {
|
|
||||||
|
const res = await saveTaskQuestion(qsType, params)
|
||||||
|
if (res.IsSuccess) {
|
||||||
this.$set(question, 'SaveEnum', 0)
|
this.$set(question, 'SaveEnum', 0)
|
||||||
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
||||||
loading.close()
|
loading.close()
|
||||||
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
||||||
this.resetSuvQuestions(1)
|
this.resetSuvQuestions(1)
|
||||||
}).catch(() => {
|
}
|
||||||
loading.close()
|
loading.close()
|
||||||
})
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
loading.close()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
viewAnnotations(question) {
|
viewAnnotations(question) {
|
||||||
|
@ -654,28 +657,22 @@ export default {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetSuvQuestions(type = 0) {
|
async resetSuvQuestions(type = 0) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
var params = {
|
try {
|
||||||
|
const params = {
|
||||||
trialId: this.trialId,
|
trialId: this.trialId,
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionClassify: 0
|
questionClassify: 0
|
||||||
}
|
}
|
||||||
getDicomReadingQuestionAnswer(params).then(res => {
|
const res = await getDicomReadingQuestionAnswer(params)
|
||||||
var questions = res.Result
|
if (res.IsSuccess) {
|
||||||
|
const questions = res.Result
|
||||||
questions.map((v) => {
|
questions.map((v) => {
|
||||||
if (v.Type === 'group' && v.Childrens.length === 0) return
|
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) {
|
if (v.Childrens.length > 0) {
|
||||||
this.setSuvChild(v.Childrens, type)
|
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++) {
|
for (let i = 0; i < this.questions[0].Childrens[0].Childrens.length; i++) {
|
||||||
if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) {
|
if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) {
|
||||||
|
@ -686,8 +683,12 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.questionFormChangeState = true
|
this.questionFormChangeState = true
|
||||||
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => { this.loading = false })
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setSuvChild(obj, type) {
|
setSuvChild(obj, type) {
|
||||||
obj.forEach(i => {
|
obj.forEach(i => {
|
||||||
|
|
|
@ -316,7 +316,7 @@ export default {
|
||||||
this.$set(this.questionForm, 'OrganInfoId', this.answers.OrganInfoId ? this.answers.OrganInfoId : '')
|
this.$set(this.questionForm, 'OrganInfoId', this.answers.OrganInfoId ? this.answers.OrganInfoId : '')
|
||||||
|
|
||||||
// saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整
|
// saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整
|
||||||
var lesionState = this.getQuestionVal(7)
|
// var lesionState = this.getQuestionVal(7)
|
||||||
if (!isRerender) {
|
if (!isRerender) {
|
||||||
if (this.questionForm.RowId) {
|
if (this.questionForm.RowId) {
|
||||||
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
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) {
|
if (this.firstRenderAnnotation) {
|
||||||
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
||||||
} else {
|
} else {
|
||||||
|
@ -871,13 +871,12 @@ export default {
|
||||||
this.deleteInfo = null
|
this.deleteInfo = null
|
||||||
params.rowId = ''
|
params.rowId = ''
|
||||||
}
|
}
|
||||||
submitTableQuestion(params).then(async res => {
|
try {
|
||||||
|
const res = await submitTableQuestion(params)
|
||||||
|
if (res.IsSuccess) {
|
||||||
this.currentMarkTool = otherMeasureData ? otherMeasureData.type : ''
|
this.currentMarkTool = otherMeasureData ? otherMeasureData.type : ''
|
||||||
// saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整
|
|
||||||
|
|
||||||
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
||||||
this.originalQuestionForm = { ...this.questionForm }
|
this.originalQuestionForm = { ...this.questionForm }
|
||||||
loading.close()
|
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
var isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null
|
isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null
|
||||||
var lesionOrgan = this.getQuestionVal(6)
|
var lesionOrgan = this.getQuestionVal(6)
|
||||||
|
@ -886,23 +885,30 @@ export default {
|
||||||
const suvMax = this.getQuestionVal(20)
|
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.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
||||||
|
|
||||||
// FusionEvent.$emit('getAnnotations')
|
|
||||||
FusionEvent.$emit('resetSuvQuestions')
|
FusionEvent.$emit('resetSuvQuestions')
|
||||||
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
loading.close()
|
|
||||||
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
this.$message({ message: this.$t('common:message:savedSuccessfully'), type: 'success', duration: 2000 })
|
||||||
}).catch(() => { loading.close() })
|
}
|
||||||
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
loading.close()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDeleteMeasureData() {
|
async handleDeleteMeasureData() {
|
||||||
// 是否确认清除标记?
|
// 是否确认清除标记?
|
||||||
this.$confirm(this.$t('trials:reading:warnning:msg47'), {
|
const confirm = await this.$confirm(
|
||||||
|
this.$t('trials:reading:warnning:msg47'),
|
||||||
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
|
if (confirm !== 'confirm') return
|
||||||
this.organList = []
|
this.organList = []
|
||||||
await this.getOrganInfoList()
|
await this.getOrganInfoList()
|
||||||
// 重置SUV
|
// 重置SUV
|
||||||
|
@ -938,8 +944,6 @@ export default {
|
||||||
var suvMax = this.getQuestionVal(20)
|
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.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: anwsers })
|
||||||
this.isInsideVolume = true
|
this.isInsideVolume = true
|
||||||
})
|
|
||||||
.catch(() => {})
|
|
||||||
},
|
},
|
||||||
async clearMeasurement() {
|
async clearMeasurement() {
|
||||||
this.organList = []
|
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.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, suvMax, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: anwsers })
|
||||||
this.isInsideVolume = true
|
this.isInsideVolume = true
|
||||||
},
|
},
|
||||||
handleDelete() {
|
async handleDelete() {
|
||||||
// 是否确认删除?
|
const confirm = await this.$confirm(
|
||||||
this.$confirm(this.$t('trials:reading:warnning:msg48'), {
|
this.$t('trials:reading:warnning:msg48'),
|
||||||
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
|
if (confirm !== 'confirm') return
|
||||||
if (this.questionForm.RowId) {
|
if (this.questionForm.RowId) {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
var param = {
|
var param = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionId: this.parentQsId,
|
questionId: this.parentQsId,
|
||||||
rowId: this.questionForm.RowId
|
rowId: this.questionForm.RowId
|
||||||
}
|
}
|
||||||
deleteReadingRowAnswer(param)
|
const res = await deleteReadingRowAnswer(param)
|
||||||
.then(async res => {
|
|
||||||
loading.close()
|
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
// this.$emit('getReadingQuestionAndAnswer')
|
|
||||||
if (this.questionForm.IsDicomReading && this.questionForm.OtherMeasureData) {
|
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' })
|
FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData, type: 'delete' })
|
||||||
}
|
}
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
|
|
||||||
// '删除成功!'
|
// '删除成功!'
|
||||||
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
||||||
loading.close()
|
loading.close()
|
||||||
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
window.opener.postMessage({ type: 'petctLesionUpdate' }, window.location)
|
||||||
}
|
}
|
||||||
}).catch(() => { loading.close() })
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
loading.close()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// const loading = this.$loading({ fullscreen: true })
|
|
||||||
// 移除新建病灶并关闭窗口
|
// 移除新建病灶并关闭窗口
|
||||||
if (this.questionForm.OtherMeasureData && this.questionForm.IsDicomReading) {
|
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 })
|
FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.questionForm.OtherMeasureData })
|
||||||
}
|
}
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
// loading.close()
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleClose() {
|
async handleClose() {
|
||||||
if (!this.questionForm.RowId) {
|
if (!this.questionForm.RowId) {
|
||||||
// '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?'
|
// '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?'
|
||||||
this.$confirm(this.$t('trials:reading:warnning:msg49'), {
|
const confirm = await this.$confirm(
|
||||||
|
this.$t('trials:reading:warnning:msg49'),
|
||||||
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
|
if (confirm !== 'confirm') return
|
||||||
// 移除新建病灶并关闭窗口
|
// 移除新建病灶并关闭窗口
|
||||||
if (this.questionForm.OtherMeasureData) {
|
if (this.questionForm.OtherMeasureData) {
|
||||||
FusionEvent.$emit('removeAnnotation', { otherMeasureData: 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 })
|
|
||||||
}
|
}
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
})
|
|
||||||
.catch(() => {})
|
|
||||||
} else {
|
} else {
|
||||||
if (this.questionForm.saveTypeEnum === 1) {
|
if (this.questionForm.saveTypeEnum === 1) {
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
|
|
@ -1080,7 +1080,6 @@ export default {
|
||||||
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
||||||
},
|
},
|
||||||
async resetMeasuredData() {
|
async resetMeasuredData() {
|
||||||
try {
|
|
||||||
const confirm = await this.$confirm(
|
const confirm = await this.$confirm(
|
||||||
this.$t('trials:dicomReading:message:confirmReset1'),
|
this.$t('trials:dicomReading:message:confirmReset1'),
|
||||||
this.$t('trials:dicomReading:message:confirmReset2'),
|
this.$t('trials:dicomReading:message:confirmReset2'),
|
||||||
|
@ -1090,7 +1089,8 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (confirm !== 'confirm') return
|
if (confirm !== 'confirm') return
|
||||||
this.loading = true
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
|
@ -1099,13 +1099,16 @@ export default {
|
||||||
this.activeItem.activeRowIndex = null
|
this.activeItem.activeRowIndex = null
|
||||||
this.activeItem.activeCollapseId = null
|
this.activeItem.activeCollapseId = null
|
||||||
await this.getReadingQuestionAndAnswer(this.visitTaskId)
|
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('getMeasureData')
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
}
|
}
|
||||||
|
loading.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.loading = false
|
loading.close()
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -116,6 +116,9 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="qs.DictionaryCode && qs.QuestionMark === 7 && !isBaseLineTask">
|
<template v-else-if="qs.DictionaryCode && qs.QuestionMark === 7 && !isBaseLineTask">
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(answers.LastTaskState)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${$fd(qs.DictionaryCode,parseFloat(answers.LastTaskState))}` : ''"
|
||||||
|
>
|
||||||
<!-- 首次分裂的病灶只能选择存在 -->
|
<!-- 首次分裂的病灶只能选择存在 -->
|
||||||
<template v-if="answers.IsFristAdd=== 'True' && answers.SplitOrMergeType === '0'">
|
<template v-if="answers.IsFristAdd=== 'True' && answers.SplitOrMergeType === '0'">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -144,6 +147,7 @@
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
</el-option-group>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="qs.DictionaryCode && qs.QuestionMark !== 7">
|
<template v-else-if="qs.DictionaryCode && qs.QuestionMark !== 7">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -436,34 +440,20 @@ export default {
|
||||||
if (this.answers.measureObj) {
|
if (this.answers.measureObj) {
|
||||||
await this.setMeasureData(this.answers.measureObj, true)
|
await this.setMeasureData(this.answers.measureObj, true)
|
||||||
} else {
|
} else {
|
||||||
// let isLymphLesion = this.getQuestionVal(2)
|
|
||||||
// isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
// if (isLymphLesion === 1) {
|
|
||||||
// // 淋巴结类型
|
|
||||||
// this.organList = []
|
|
||||||
// await this.getOrganInfoList(1)
|
|
||||||
// } else if (isLymphLesion === 0) {
|
|
||||||
// this.organList = []
|
|
||||||
// await this.getOrganInfoList(0)
|
|
||||||
// } else {
|
|
||||||
// this.organList = []
|
|
||||||
// await this.getOrganInfoList()
|
|
||||||
// }
|
|
||||||
this.organList = []
|
this.organList = []
|
||||||
await this.getOrganInfoList()
|
await this.getOrganInfoList()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 首次分裂的病灶默认状态为空时,设置默认值为存在
|
// 首次分裂的病灶默认状态为空时,设置默认值为存在
|
||||||
if (this.answers.IsFristAdd === 'True' && this.answers.SplitOrMergeType === '0' && isNaN(parseInt(this.getQuestionVal(7)))) {
|
if (this.answers.IsFristAdd === 'True' && this.answers.SplitOrMergeType === '0' && lesionState === '') {
|
||||||
const stateId = this.getQuestionId(7)
|
const stateId = this.getQuestionId(7)
|
||||||
this.$set(this.questionForm, stateId, 0)
|
this.$set(this.questionForm, stateId, 0)
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
var isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionOrgan = this.getQuestionVal(6)
|
const lesionOrgan = this.getQuestionVal(6)
|
||||||
const lesionLength = !isNaN(parseInt(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
const lesionLength = this.getQuestionVal(0)
|
||||||
const lesionShort = !isNaN(parseInt(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
const lesionShort = this.getQuestionVal(1)
|
||||||
const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
const lesionState = this.getQuestionVal(7)
|
||||||
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
||||||
}
|
}
|
||||||
if (this.lesionType === 0 && params) {
|
if (this.lesionType === 0 && params) {
|
||||||
|
@ -479,7 +469,6 @@ export default {
|
||||||
|
|
||||||
// 如果当前病灶状态为“疾病进展”,且满足疾病进展的条件,则状态不允许更改
|
// 如果当前病灶状态为“疾病进展”,且满足疾病进展的条件,则状态不允许更改
|
||||||
var state = this.getQuestionVal(7)// 长径
|
var state = this.getQuestionVal(7)// 长径
|
||||||
state = isNaN(parseInt(state)) ? 0 : parseInt(state)
|
|
||||||
var ldi = this.getQuestionVal(0)// 长径
|
var ldi = this.getQuestionVal(0)// 长径
|
||||||
ldi = isNaN(parseFloat(ldi)) ? 0 : ldi
|
ldi = isNaN(parseFloat(ldi)) ? 0 : ldi
|
||||||
var pddIncrease = this.getQuestionVal(17) // 相比最低点PPD增加百分比
|
var pddIncrease = this.getQuestionVal(17) // 相比最低点PPD增加百分比
|
||||||
|
@ -671,24 +660,24 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
deleteLesionInfo() {
|
deleteLesionInfo() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise(async(resolve, reject) => {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
var param = {
|
var param = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionId: this.parentQsId,
|
questionId: this.parentQsId,
|
||||||
rowId: this.questionForm.RowId
|
rowId: this.questionForm.RowId
|
||||||
}
|
}
|
||||||
deleteReadingRowAnswer(param)
|
try {
|
||||||
.then(async res => {
|
const res = await deleteReadingRowAnswer(param)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
}
|
}
|
||||||
loading.close()
|
loading.close()
|
||||||
resolve()
|
resolve()
|
||||||
}).catch(() => {
|
} catch (e) {
|
||||||
loading.close()
|
loading.close()
|
||||||
reject()
|
reject()
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async formItemChange(v, question) {
|
async formItemChange(v, question) {
|
||||||
|
@ -717,12 +706,11 @@ export default {
|
||||||
this.$set(this.questionForm, 'saveTypeEnum', 0)
|
this.$set(this.questionForm, 'saveTypeEnum', 0)
|
||||||
}
|
}
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
var isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionOrgan = this.getQuestionVal(6)
|
const lesionOrgan = this.getQuestionVal(6)
|
||||||
const lesionLength = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
const lesionLength = this.getQuestionVal(0)
|
||||||
const lesionShort = !isNaN(parseFloat(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
const lesionShort = this.getQuestionVal(1)
|
||||||
const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
const lesionState = this.getQuestionVal(7)
|
||||||
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
||||||
|
|
||||||
if (question.QuestionMark === 7) {
|
if (question.QuestionMark === 7) {
|
||||||
|
@ -772,46 +760,10 @@ export default {
|
||||||
this.$set(this.questionForm, lengthObj.Id, '')
|
this.$set(this.questionForm, lengthObj.Id, '')
|
||||||
this.$set(this.questionForm, shortObj.Id, '')
|
this.$set(this.questionForm, shortObj.Id, '')
|
||||||
}
|
}
|
||||||
// if (this.toolType !== measureData.type) {
|
|
||||||
// 获取器官问题
|
|
||||||
// var organ = this.getQuestionVal(5)
|
|
||||||
|
|
||||||
// 十字线工具 器官只能是淋巴结类型
|
|
||||||
|
|
||||||
// if (measureData.type === 'Bidirectional') {
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList(1)
|
|
||||||
// } else if (measureData.type === 'Length') {
|
|
||||||
// // 直径测量工具 且是靶病灶 器官只能是非淋巴结类型
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList(0)
|
|
||||||
// } else {
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList()
|
|
||||||
// }
|
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
var isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
// if (isLymphLesion === 1) {
|
|
||||||
// // 淋巴结类型
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList(1)
|
|
||||||
// } else if (isLymphLesion === 0) {
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList(0)
|
|
||||||
// } else {
|
|
||||||
// this.organList = []
|
|
||||||
// this.getOrganInfoList()
|
|
||||||
// }
|
|
||||||
this.organList = []
|
this.organList = []
|
||||||
this.getOrganInfoList()
|
this.getOrganInfoList()
|
||||||
|
|
||||||
// if (this.toolType) {
|
|
||||||
// this.questionForm[this.getQuestionId(8)] = ''
|
|
||||||
// this.questionForm[this.getQuestionId(5)] = ''
|
|
||||||
// this.questionForm[this.getQuestionId(6)] = ''
|
|
||||||
// this.questionForm[this.getQuestionId(2)] = ''
|
|
||||||
// }
|
|
||||||
|
|
||||||
var data = {}
|
var data = {}
|
||||||
if (measureData.isDicomReading === false) {
|
if (measureData.isDicomReading === false) {
|
||||||
this.$set(this.questionForm, 'IsDicomReading', false)
|
this.$set(this.questionForm, 'IsDicomReading', false)
|
||||||
|
@ -836,11 +788,7 @@ export default {
|
||||||
const stateId = this.getQuestionId(7)
|
const stateId = this.getQuestionId(7)
|
||||||
this.$set(this.questionForm, stateId, 0)
|
this.$set(this.questionForm, stateId, 0)
|
||||||
}
|
}
|
||||||
|
var lesionLength = this.getQuestionVal(0)
|
||||||
// var isLymphLesion = this.getQuestionVal(2)
|
|
||||||
// isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
var lesionLength = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
|
||||||
// var lesionShort = !isNaN(parseInt(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
|
||||||
// 当前添加的新病灶不做处理
|
// 当前添加的新病灶不做处理
|
||||||
if (!(this.isCurrentTaskAdd === 'True') && this.lesionType === 0 && !this.isBaseLineTask && measureData.type === 'Bidirectional') {
|
if (!(this.isCurrentTaskAdd === 'True') && this.lesionType === 0 && !this.isBaseLineTask && measureData.type === 'Bidirectional') {
|
||||||
if (isLymphLesion) {
|
if (isLymphLesion) {
|
||||||
|
@ -869,7 +817,7 @@ export default {
|
||||||
if (this.lesionType === 0) {
|
if (this.lesionType === 0) {
|
||||||
this.calculatePPD()
|
this.calculatePPD()
|
||||||
}
|
}
|
||||||
const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
const lesionState = this.getQuestionVal(7)
|
||||||
var status = ''
|
var status = ''
|
||||||
if (lesionState) {
|
if (lesionState) {
|
||||||
if (this.lesionType === 0 && lesionState === 1) {
|
if (this.lesionType === 0 && lesionState === 1) {
|
||||||
|
@ -914,14 +862,11 @@ export default {
|
||||||
}
|
}
|
||||||
this.$set(this.questionForm, 'MeasureData', measureData)
|
this.$set(this.questionForm, 'MeasureData', measureData)
|
||||||
var isLymph = this.getQuestionVal(2)
|
var isLymph = this.getQuestionVal(2)
|
||||||
isLymph = !isNaN(parseInt(isLymph)) ? parseInt(isLymph) : null
|
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionOrgan = this.getQuestionVal(6)
|
const lesionOrgan = this.getQuestionVal(6)
|
||||||
// const lesionLength = !isNaN(parseInt(this.getQuestionVal(0))) ? Number(this.getQuestionVal(0)) : ''
|
const lesionL = this.getQuestionVal(0)
|
||||||
// const lesionShort = !isNaN(parseInt(this.getQuestionVal(1))) ? Number(this.getQuestionVal(1)) : ''
|
const lesionS = this.getQuestionVal(1)
|
||||||
const lesionL = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
var lesionState = this.getQuestionVal(7)
|
||||||
const lesionS = !isNaN(parseFloat(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
|
||||||
var lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
|
||||||
// // 状态为空时,非淋巴结靶病灶长径>0mm,自动给“存在”状态,如果淋巴结靶病灶短径>=10mm,自动给“存在”状态。淋巴结靶病灶在短径小于10mm时,用十字线标记测量时标记为消失
|
// // 状态为空时,非淋巴结靶病灶长径>0mm,自动给“存在”状态,如果淋巴结靶病灶短径>=10mm,自动给“存在”状态。淋巴结靶病灶在短径小于10mm时,用十字线标记测量时标记为消失
|
||||||
// if (!this.isBaseLineTask && this.lesionType === 0 && ((isLymphLesion === 0 && lesionLength > 0) || (isLymphLesion === 1 && lesionShort >= 10))) {
|
// if (!this.isBaseLineTask && this.lesionType === 0 && ((isLymphLesion === 0 && lesionLength > 0) || (isLymphLesion === 1 && lesionShort >= 10))) {
|
||||||
// const stateId = this.getQuestionId(7)
|
// const stateId = this.getQuestionId(7)
|
||||||
|
@ -1081,27 +1026,31 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getQuestionVal(questionMark) {
|
getQuestionVal(questionMark) {
|
||||||
var idx = this.questions.findIndex(i => i.QuestionMark === questionMark)
|
const idx = this.questions.findIndex(i => i.QuestionMark === questionMark)
|
||||||
if (idx > -1) {
|
if (idx > -1) {
|
||||||
var questionId = this.questions[idx].Id
|
const questionId = this.questions[idx].Id
|
||||||
return this.questionForm[questionId]
|
const answer = this.questionForm[questionId]
|
||||||
|
if (isNaN(parseFloat(answer))) {
|
||||||
|
return answer
|
||||||
|
} else {
|
||||||
|
return parseFloat(answer)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filterState(arr) {
|
filterState(arr) {
|
||||||
if (!this.isBaseLineTask) {
|
if (!this.isBaseLineTask) {
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
const isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
const lesionLength = this.getQuestionVal(0)
|
||||||
const lesionLength = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : 0
|
const lesionShort = this.getQuestionVal(1)
|
||||||
const lesionShort = !isNaN(parseFloat(this.getQuestionVal(1))) ? this.getQuestionVal(1) : 0
|
const bLesionL = !isNaN(parseInt(this.answers.LastTaskMajorAxis)) ? parseInt(this.answers.LastTaskMajorAxis) : 0
|
||||||
const lastLesionL = !isNaN(parseFloat(this.answers.LastTaskMajorAxis)) ? parseFloat(this.answers.LastTaskMajorAxis) : 0
|
const bLesionS = !isNaN(parseInt(this.answers.LastTaskShortAxis)) ? parseInt(this.answers.LastTaskShortAxis) : 0
|
||||||
const lastLesionS = !isNaN(parseFloat(this.answers.LastTaskShortAxis)) ? parseFloat(this.answers.LastTaskShortAxis) : 0
|
if (this.lesionType === 1 && isLymphLesion === 1 && this.questionForm.MeasureData && this.questionForm.MeasureData.type === 'Bidirectional' && lesionShort < bLesionS) {
|
||||||
if (this.lesionType === 1 && isLymphLesion === 1 && this.questionForm.MeasureData && (this.questionForm.MeasureData.type === 'Length' || this.questionForm.MeasureData.type === 'Bidirectional') && lesionShort < lastLesionS) {
|
|
||||||
arr = arr.filter(i => i.value !== 1)
|
arr = arr.filter(i => i.value !== 1)
|
||||||
} else if (this.lesionType === 1 && isLymphLesion === 1 && this.questionForm.MeasureData && (this.questionForm.MeasureData.type === 'Length' || this.questionForm.MeasureData.type === 'Bidirectional') && lesionShort >= 10 && lesionShort > lastLesionS) {
|
} else if (this.lesionType === 1 && isLymphLesion === 1 && this.questionForm.MeasureData && this.questionForm.MeasureData.type === 'Bidirectional' && lesionShort >= 10 && lesionShort > bLesionS) {
|
||||||
arr = arr.filter(i => i.value === 0 || i.value === 1)
|
arr = arr.filter(i => i.value === 0 || i.value === 1)
|
||||||
} else if (this.lesionType === 1 && isLymphLesion === 0 && this.questionForm.MeasureData && (this.questionForm.MeasureData.type === 'Length' || this.questionForm.MeasureData.type === 'Bidirectional') && lesionLength < lastLesionL) {
|
} else if (this.lesionType === 1 && isLymphLesion === 0 && this.questionForm.MeasureData && (this.questionForm.MeasureData.type === 'Length' || this.questionForm.MeasureData.type === 'Bidirectional') && lesionLength < bLesionL) {
|
||||||
arr = arr.filter(i => i.value !== 1)
|
arr = arr.filter(i => i.value !== 1)
|
||||||
}
|
}
|
||||||
return arr
|
return arr
|
||||||
|
@ -1112,20 +1061,6 @@ export default {
|
||||||
setDeleteInfo(deleteInfo) {
|
setDeleteInfo(deleteInfo) {
|
||||||
this.deleteInfo = deleteInfo
|
this.deleteInfo = deleteInfo
|
||||||
},
|
},
|
||||||
deleteOldLesion(questionId, rowId) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
var param = {
|
|
||||||
visitTaskId: this.visitTaskId,
|
|
||||||
questionId: questionId,
|
|
||||||
rowId: rowId
|
|
||||||
}
|
|
||||||
deleteReadingRowAnswer(param)
|
|
||||||
.then(async res => {
|
|
||||||
resolve()
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// async uploadScreenshots(fileName, file) {
|
// async uploadScreenshots(fileName, file) {
|
||||||
// try {
|
// try {
|
||||||
// file = this.convertBase64ToBlob(file)
|
// file = this.convertBase64ToBlob(file)
|
||||||
|
@ -1179,11 +1114,10 @@ export default {
|
||||||
// 生成Blob对象(文件对象)
|
// 生成Blob对象(文件对象)
|
||||||
return new Blob([bytesCode], { type: imgtype })
|
return new Blob([bytesCode], { type: imgtype })
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
console.log('handleSave')
|
const valid = await this.$refs.measurementForm.validate()
|
||||||
this.$refs.measurementForm.validate(async valid => {
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
if(this.lesionType === 0){
|
if (this.lesionType === 0) {
|
||||||
this.$refs['scrollPanel'].scrollTo({ top: 0, behavior: 'smooth' })
|
this.$refs['scrollPanel'].scrollTo({ top: 0, behavior: 'smooth' })
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -1191,10 +1125,8 @@ export default {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
var measureData = this.questionForm.MeasureData
|
var measureData = this.questionForm.MeasureData
|
||||||
var lesionState = this.getQuestionVal(7)
|
var lesionState = this.getQuestionVal(7)
|
||||||
// var lesionLength = !isNaN(parseInt(this.getQuestionVal(0))) ? Number(this.getQuestionVal(0)) : ''
|
var lesionLength = this.getQuestionVal(0)
|
||||||
// var lesionShort = !isNaN(parseInt(this.getQuestionVal(1))) ? Number(this.getQuestionVal(1)) : ''
|
var lesionShort = this.getQuestionVal(1)
|
||||||
var lesionLength = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
|
||||||
var lesionShort = !isNaN(parseFloat(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
|
||||||
var lymphNodes = this.getQuestionVal(2)
|
var lymphNodes = this.getQuestionVal(2)
|
||||||
lymphNodes = (lymphNodes !== null && lymphNodes !== undefined) ? parseInt(lymphNodes) : null
|
lymphNodes = (lymphNodes !== null && lymphNodes !== undefined) ? parseInt(lymphNodes) : null
|
||||||
if (this.isBaseLineTask) {
|
if (this.isBaseLineTask) {
|
||||||
|
@ -1715,48 +1647,54 @@ export default {
|
||||||
params.isDicomReading = false
|
params.isDicomReading = false
|
||||||
}
|
}
|
||||||
if (this.deleteInfo) {
|
if (this.deleteInfo) {
|
||||||
await this.deleteOldLesion(this.deleteInfo.questionId, this.deleteInfo.rowId)
|
var param = {
|
||||||
|
visitTaskId: this.visitTaskId,
|
||||||
|
questionId: this.deleteInfo.questionId,
|
||||||
|
rowId: this.deleteInfo.rowId
|
||||||
|
}
|
||||||
|
await deleteReadingRowAnswer(param)
|
||||||
this.deleteInfo = null
|
this.deleteInfo = null
|
||||||
params.rowId = ''
|
params.rowId = ''
|
||||||
}
|
}
|
||||||
submitTableQuestion(params).then(async res => {
|
try {
|
||||||
|
const res = await submitTableQuestion(params)
|
||||||
|
if (res.IsSuccess) {
|
||||||
// 保存成功!
|
// 保存成功!
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
|
|
||||||
this.currentMarkTool = measureData ? measureData.type : ''
|
this.currentMarkTool = measureData ? measureData.type : ''
|
||||||
// saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整
|
|
||||||
|
|
||||||
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
this.$set(this.questionForm, 'saveTypeEnum', 2)
|
||||||
this.originalQuestionForm = { ...this.questionForm }
|
this.originalQuestionForm = { ...this.questionForm }
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
var isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null
|
|
||||||
var lesionOrgan = this.getQuestionVal(6)
|
var lesionOrgan = this.getQuestionVal(6)
|
||||||
this.$set(this.questionForm, 'RowId', res.Result.RowId)
|
this.$set(this.questionForm, 'RowId', res.Result.RowId)
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionState = Number(this.getQuestionVal(7))
|
const lesionState = this.getQuestionVal(7)
|
||||||
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, lesionState, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, lesionState, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
||||||
|
|
||||||
// await store.dispatch('reading/refreshMeasuredData', this.visitTaskId)
|
|
||||||
// DicomEvent.$emit('getMeasureData')
|
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
DicomEvent.$emit('readingPageUpdate', {})
|
DicomEvent.$emit('readingPageUpdate', {})
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('setMeasuredToolsPassive')
|
DicomEvent.$emit('setMeasuredToolsPassive')
|
||||||
loading.close()
|
|
||||||
if (parseInt(this.answers.SplitOrMergeType) === 0) {
|
if (parseInt(this.answers.SplitOrMergeType) === 0) {
|
||||||
this.$emit('getReadingQuestionAndAnswer')
|
this.$emit('getReadingQuestionAndAnswer')
|
||||||
}
|
}
|
||||||
}).catch(() => { loading.close() })
|
}
|
||||||
})
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
loading.close()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDeleteMeasureData() {
|
async handleDeleteMeasureData() {
|
||||||
// 是否确认清除标记?
|
// 是否确认清除标记?
|
||||||
this.$confirm(this.$t('trials:reading:warnning:msg47'), {
|
const confirm = await this.$confirm(
|
||||||
|
this.$t('trials:reading:warnning:msg47'),
|
||||||
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
|
if (confirm !== 'confirm') return
|
||||||
this.stateDisabled = false
|
this.stateDisabled = false
|
||||||
this.organList = []
|
this.organList = []
|
||||||
await this.getOrganInfoList()
|
await this.getOrganInfoList()
|
||||||
|
@ -1776,13 +1714,12 @@ export default {
|
||||||
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
||||||
DicomEvent.$emit('getMeasureData')
|
DicomEvent.$emit('getMeasureData')
|
||||||
// Store.$emit('updateImage', this.questionForm.MeasureData.instanceId)
|
// Store.$emit('updateImage', this.questionForm.MeasureData.instanceId)
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
const isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionOrgan = this.getQuestionVal(6)
|
const lesionOrgan = this.getQuestionVal(6)
|
||||||
const lesionLength = ''
|
const lesionLength = ''
|
||||||
const lesionShort = ''
|
const lesionShort = ''
|
||||||
const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
const lesionState = this.getQuestionVal(7)
|
||||||
|
|
||||||
if (!this.questionForm.IsDicomReading) {
|
if (!this.questionForm.IsDicomReading) {
|
||||||
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
||||||
|
@ -1801,8 +1738,6 @@ export default {
|
||||||
this.calculatePPD()
|
this.calculatePPD()
|
||||||
}
|
}
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
})
|
|
||||||
.catch(() => {})
|
|
||||||
},
|
},
|
||||||
async handleDelete() {
|
async handleDelete() {
|
||||||
let message = this.$t('trials:reading:warnning:msg48')
|
let message = this.$t('trials:reading:warnning:msg48')
|
||||||
|
@ -1814,13 +1749,14 @@ export default {
|
||||||
message = this.$t('trials:reading:warnning:msg58')
|
message = this.$t('trials:reading:warnning:msg58')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const confirm = await this.$confirm(
|
||||||
// 是否确认删除?
|
message,
|
||||||
this.$confirm(message, {
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
|
if (confirm !== 'confirm') return
|
||||||
if (this.questionForm.RowId) {
|
if (this.questionForm.RowId) {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
var param = {
|
var param = {
|
||||||
|
@ -1828,76 +1764,56 @@ export default {
|
||||||
questionId: this.parentQsId,
|
questionId: this.parentQsId,
|
||||||
rowId: this.questionForm.RowId
|
rowId: this.questionForm.RowId
|
||||||
}
|
}
|
||||||
deleteReadingRowAnswer(param)
|
try {
|
||||||
.then(async res => {
|
const res = await deleteReadingRowAnswer(param)
|
||||||
loading.close()
|
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
// this.$emit('getReadingQuestionAndAnswer')
|
|
||||||
if (this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
if (this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
||||||
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
||||||
}
|
}
|
||||||
// await store.dispatch('reading/removeReadingQuestionAndAnswer', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
|
||||||
// DicomEvent.$emit('getMeasureData')
|
|
||||||
if (!this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
if (!this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
||||||
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
||||||
}
|
}
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('readingPageUpdate', {})
|
DicomEvent.$emit('readingPageUpdate', {})
|
||||||
// if (!this.questionForm.IsDicomReading) {
|
|
||||||
// DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
|
||||||
// }
|
|
||||||
// '删除成功!'
|
// '删除成功!'
|
||||||
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
||||||
|
}
|
||||||
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
loading.close()
|
loading.close()
|
||||||
}
|
}
|
||||||
}).catch(() => { loading.close() })
|
|
||||||
} else {
|
} else {
|
||||||
// const loading = this.$loading({ fullscreen: true })
|
|
||||||
// 移除新建病灶并关闭窗口
|
// 移除新建病灶并关闭窗口
|
||||||
if (this.questionForm.MeasureData && this.questionForm.IsDicomReading) {
|
if (this.questionForm.MeasureData && this.questionForm.IsDicomReading) {
|
||||||
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
||||||
}
|
}
|
||||||
// DicomEvent.$emit('getMeasureData')
|
|
||||||
if (!this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
if (!this.questionForm.IsDicomReading && this.questionForm.MeasureData) {
|
||||||
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
DicomEvent.$emit('removeNoneDicomMeasureData', this.questionForm.MeasureData)
|
||||||
}
|
}
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
// loading.close()
|
|
||||||
}
|
}
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleClose() {
|
async handleClose() {
|
||||||
if (!this.questionForm.RowId) {
|
if (!this.questionForm.RowId) {
|
||||||
// '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?'
|
// '当前病灶为新建病灶,未保存。如果关闭窗口,将会删除病灶信息,是否继续?'
|
||||||
this.$confirm(this.$t('trials:reading:warnning:msg49'), {
|
const confirm = await this.$confirm(
|
||||||
|
this.$t('trials:reading:warnning:msg49'),
|
||||||
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
}
|
||||||
.then(async() => {
|
)
|
||||||
// 移除新建病灶并关闭窗口
|
if (confirm !== 'confirm') return
|
||||||
if (this.questionForm.MeasureData) {
|
if (this.questionForm.MeasureData) {
|
||||||
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
await store.dispatch('reading/removeMeasuredData', { visitTaskId: this.visitTaskId, measureData: this.questionForm.MeasureData, questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex })
|
||||||
}
|
}
|
||||||
// await store.dispatch('reading/removeReadingQuestionAndAnswer', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
|
||||||
DicomEvent.$emit('getMeasureData')
|
DicomEvent.$emit('getMeasureData')
|
||||||
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
this.$emit('close', { lesionType: this.lesionType, rowIndex: this.rowIndex, visitTaskId: this.visitTaskId })
|
||||||
})
|
|
||||||
.catch(() => {})
|
|
||||||
} else {
|
} else {
|
||||||
// saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断)
|
|
||||||
|
|
||||||
if (this.questionForm.saveTypeEnum === 1) {
|
if (this.questionForm.saveTypeEnum === 1) {
|
||||||
// // 当前病灶信息有更新,未保存,是否继续?
|
|
||||||
// this.$confirm(this.$t('trials:reading:warnning:msg50'), {
|
|
||||||
// type: 'warning',
|
|
||||||
// distinguishCancelAndClose: true
|
|
||||||
// })
|
|
||||||
// .then(() => {
|
|
||||||
// this.$emit('close')
|
|
||||||
// })
|
|
||||||
// .catch(() => {})
|
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
} else {
|
} else {
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
@ -1913,13 +1829,12 @@ export default {
|
||||||
const stateId = this.getQuestionId(7)
|
const stateId = this.getQuestionId(7)
|
||||||
this.$set(this.questionForm, stateId, 2)
|
this.$set(this.questionForm, stateId, 2)
|
||||||
}
|
}
|
||||||
var isLymphLesion = this.getQuestionVal(2)
|
const isLymphLesion = this.getQuestionVal(2)
|
||||||
isLymphLesion = !isNaN(parseInt(isLymphLesion)) ? parseInt(isLymphLesion) : null
|
|
||||||
const lesionPart = this.getQuestionVal(8)
|
const lesionPart = this.getQuestionVal(8)
|
||||||
const lesionOrgan = this.getQuestionVal(6)
|
const lesionOrgan = this.getQuestionVal(6)
|
||||||
const lesionLength = !isNaN(parseFloat(this.getQuestionVal(0))) ? this.getQuestionVal(0) : ''
|
const lesionLength = this.getQuestionVal(0)
|
||||||
const lesionShort = !isNaN(parseFloat(this.getQuestionVal(1))) ? this.getQuestionVal(1) : ''
|
const lesionShort = this.getQuestionVal(1)
|
||||||
const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
|
const lesionState = this.getQuestionVal(7)
|
||||||
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,20 @@
|
||||||
<div class="measurement-wrapper" :style="{'height':height+10+'px'}">
|
<div class="measurement-wrapper" :style="{'height':height+10+'px'}">
|
||||||
|
|
||||||
<div class="container" :style="{'height':height+'px'}">
|
<div class="container" :style="{'height':height+'px'}">
|
||||||
<h3 v-if="isReadingShowSubjectInfo" style="color: #ddd;padding: 5px 0px;margin: 0;">
|
<div class="basic-info">
|
||||||
|
<h3 v-if="isReadingShowSubjectInfo">
|
||||||
<span v-if="subjectCode">{{ subjectCode }} </span>
|
<span v-if="subjectCode">{{ subjectCode }} </span>
|
||||||
<span style="margin-left:5px;">{{ taskBlindName }}</span>
|
<span style="margin-left:5px;">{{ taskBlindName }}</span>
|
||||||
</h3>
|
</h3>
|
||||||
|
<div v-if="readingTaskState < 2">
|
||||||
|
<el-tooltip class="item" effect="dark" :content="$t('trials:dicomReading:message:confirmReset')" placement="bottom">
|
||||||
|
<i
|
||||||
|
class="el-icon-refresh-left"
|
||||||
|
@click="resetMeasuredData"
|
||||||
|
/>
|
||||||
|
</el-tooltip>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!-- 非测量问题 -->
|
<!-- 非测量问题 -->
|
||||||
<div class="lesions">
|
<div class="lesions">
|
||||||
<!-- 影像质量问题 -->
|
<!-- 影像质量问题 -->
|
||||||
|
@ -216,6 +226,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { splitLesion, getSplitPPdSum, getCanMergeLesion, mergeLesion } from '@/api/trials'
|
import { splitLesion, getSplitPPdSum, getCanMergeLesion, mergeLesion } from '@/api/trials'
|
||||||
|
import { resetReadingTask } from '@/api/reading'
|
||||||
import DicomEvent from './../DicomEvent'
|
import DicomEvent from './../DicomEvent'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
@ -333,7 +344,8 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
DicomEvent.$on('refreshSplitTargetLesionPDD', async(callback) => {
|
DicomEvent.$on('refreshSplitTargetLesionPDD', async(callback) => {
|
||||||
this.splitTargetLesions = await this.getSplitTargetLesionPDD()
|
const res = await getSplitPPdSum({ visitTaskId: this.visitTaskId })
|
||||||
|
this.splitTargetLesions = res.Result
|
||||||
if (this.splitTargetLesions && this.splitTargetLesions.length > 0) {
|
if (this.splitTargetLesions && this.splitTargetLesions.length > 0) {
|
||||||
this.splitTargetLesions.map(i => {
|
this.splitTargetLesions.map(i => {
|
||||||
var refName = `${this.lesionTypeQuestionId}_${i.RowIndex}`
|
var refName = `${this.lesionTypeQuestionId}_${i.RowIndex}`
|
||||||
|
@ -388,7 +400,8 @@ export default {
|
||||||
loading.close()
|
loading.close()
|
||||||
}
|
}
|
||||||
if (!this.isBaseLineTask) {
|
if (!this.isBaseLineTask) {
|
||||||
this.splitTargetLesions = await this.getSplitTargetLesionPDD()
|
const res = await getSplitPPdSum({ visitTaskId: this.visitTaskId })
|
||||||
|
this.splitTargetLesions = res.Result
|
||||||
}
|
}
|
||||||
this.questions = this.visitTaskList[i].ReadingQuestions
|
this.questions = this.visitTaskList[i].ReadingQuestions
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
@ -530,7 +543,8 @@ export default {
|
||||||
this.isCurrentTask = this.visitTaskList[idx].IsCurrentTask
|
this.isCurrentTask = this.visitTaskList[idx].IsCurrentTask
|
||||||
}
|
}
|
||||||
if (!this.isBaseLineTask) {
|
if (!this.isBaseLineTask) {
|
||||||
this.splitTargetLesions = await this.getSplitTargetLesionPDD()
|
const res = await getSplitPPdSum({ visitTaskId: this.visitTaskId })
|
||||||
|
this.splitTargetLesions = res.Result
|
||||||
}
|
}
|
||||||
this.getTableQuestions()
|
this.getTableQuestions()
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
@ -559,13 +573,6 @@ export default {
|
||||||
} catch (e) { console.log(e) }
|
} catch (e) { console.log(e) }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getSplitTargetLesionPDD() {
|
|
||||||
return new Promise(resolve => {
|
|
||||||
getSplitPPdSum({ visitTaskId: this.visitTaskId }).then(res => {
|
|
||||||
resolve(res.Result)
|
|
||||||
}).catch(() => { resolve() })
|
|
||||||
})
|
|
||||||
},
|
|
||||||
setHeight() {
|
setHeight() {
|
||||||
this.height = window.innerHeight - 140
|
this.height = window.innerHeight - 140
|
||||||
},
|
},
|
||||||
|
@ -688,7 +695,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 融合
|
// 融合
|
||||||
handleMerge(answers, questionId, orderMark) {
|
async handleMerge(answers, questionId, orderMark) {
|
||||||
this.lesionData = []
|
this.lesionData = []
|
||||||
this.mergeList = []
|
this.mergeList = []
|
||||||
this.merge.visible = true
|
this.merge.visible = true
|
||||||
|
@ -697,10 +704,16 @@ export default {
|
||||||
this.mergeInfo.lesionName = this.getLesionName(orderMark, answers.RowIndex)
|
this.mergeInfo.lesionName = this.getLesionName(orderMark, answers.RowIndex)
|
||||||
this.mergeInfo.lesionPart = answers.lesionPart
|
this.mergeInfo.lesionPart = answers.lesionPart
|
||||||
this.merge.loading = true
|
this.merge.loading = true
|
||||||
getCanMergeLesion({ rowId: answers.RowId }).then(res => {
|
try {
|
||||||
|
const res = await getCanMergeLesion({ rowId: answers.RowId })
|
||||||
|
if (res.IsSuccess) {
|
||||||
this.lesionData = res.Result
|
this.lesionData = res.Result
|
||||||
|
}
|
||||||
this.merge.loading = false
|
this.merge.loading = false
|
||||||
}).catch(() => { this.merge.loading = false })
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
this.merge.loading = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleSelectionChange(val) {
|
handleSelectionChange(val) {
|
||||||
this.mergeList = []
|
this.mergeList = []
|
||||||
|
@ -718,23 +731,28 @@ export default {
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
lesionMerge() {
|
async lesionMerge() {
|
||||||
this.merge.loading = true
|
this.merge.loading = true
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionId: this.mergeInfo.questionId,
|
questionId: this.mergeInfo.questionId,
|
||||||
mergeMainRowId: this.mergeInfo.mergeRowId,
|
mergeMainRowId: this.mergeInfo.mergeRowId,
|
||||||
mergeRowIdList: this.mergeList
|
mergeRowIdList: this.mergeList
|
||||||
}
|
}
|
||||||
mergeLesion(params).then(res => {
|
const res = await mergeLesion(params)
|
||||||
this.merge.loading = false
|
if (res.IsSuccess) {
|
||||||
this.merge.visible = false
|
this.merge.visible = false
|
||||||
DicomEvent.$emit('readingPageUpdate', {})
|
DicomEvent.$emit('readingPageUpdate', {})
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('setMeasuredToolsPassive')
|
DicomEvent.$emit('setMeasuredToolsPassive')
|
||||||
this.getReadingQuestionAndAnswer()
|
this.getReadingQuestionAndAnswer()
|
||||||
// 刷新病灶列表及标记
|
}
|
||||||
}).catch(() => { this.merge.loading = false })
|
this.merge.loading = false
|
||||||
|
} catch (e) {
|
||||||
|
this.merge.loading = false
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isCanActiveTool(toolName) {
|
isCanActiveTool(toolName) {
|
||||||
this.isNonTargetMeasurement = false
|
this.isNonTargetMeasurement = false
|
||||||
|
@ -1284,6 +1302,41 @@ export default {
|
||||||
})
|
})
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
loading.close()
|
loading.close()
|
||||||
|
},
|
||||||
|
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 res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
// 刷新标注、表单、报告页信息、融合页表单及标注
|
||||||
|
this.activeName = ''
|
||||||
|
this.activeItem.activeRowIndex = null
|
||||||
|
this.activeItem.activeCollapseId = null
|
||||||
|
await this.getReadingQuestionAndAnswer(this.visitTaskId)
|
||||||
|
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('getMeasureData')
|
||||||
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
|
DicomEvent.$emit('resetPage', {})
|
||||||
|
}
|
||||||
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
loading.close()
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1296,6 +1349,22 @@ export default {
|
||||||
|
|
||||||
.container{
|
.container{
|
||||||
padding: 10px;
|
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{
|
.title{
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
|
@ -704,7 +704,6 @@ export default {
|
||||||
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
||||||
},
|
},
|
||||||
async resetMeasuredData() {
|
async resetMeasuredData() {
|
||||||
try {
|
|
||||||
const confirm = await this.$confirm(
|
const confirm = await this.$confirm(
|
||||||
this.$t('trials:dicomReading:message:confirmReset1'),
|
this.$t('trials:dicomReading:message:confirmReset1'),
|
||||||
this.$t('trials:dicomReading:message:confirmReset2'),
|
this.$t('trials:dicomReading:message:confirmReset2'),
|
||||||
|
@ -714,7 +713,8 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (confirm !== 'confirm') return
|
if (confirm !== 'confirm') return
|
||||||
this.loading = true
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
|
@ -723,13 +723,16 @@ export default {
|
||||||
this.activeItem.activeRowIndex = null
|
this.activeItem.activeRowIndex = null
|
||||||
this.activeItem.activeCollapseId = null
|
this.activeItem.activeCollapseId = null
|
||||||
await this.getReadingQuestionAndAnswer(this.visitTaskId)
|
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('getMeasureData')
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
}
|
}
|
||||||
|
loading.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.loading = false
|
loading.close()
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -111,6 +111,9 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 47 && !question.IsBaseLineTask">
|
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 47 && !question.IsBaseLineTask">
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(question.LastTaskAnswer)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${$fd(question.DictionaryCode,parseFloat(question.LastTaskAnswer))}` : ''"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d[question.DictionaryCode]"
|
v-for="item of $d[question.DictionaryCode]"
|
||||||
v-show="item.value === 1 ||item.value === 3|| item.value === 4 || item.value === 5"
|
v-show="item.value === 1 ||item.value === 3|| item.value === 4 || item.value === 5"
|
||||||
|
@ -118,6 +121,7 @@
|
||||||
:value="String(item.value)"
|
:value="String(item.value)"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
|
</el-option-group>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 49 && question.IsBaseLineTask">
|
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 49 && question.IsBaseLineTask">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -129,6 +133,9 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 49 && !question.IsBaseLineTask">
|
<template v-else-if="question.QuestionGenre === 3 && question.QuestionType === 49 && !question.IsBaseLineTask">
|
||||||
|
<el-option-group
|
||||||
|
:label="!isNaN(parseFloat(question.LastTaskAnswer)) ? `${$t('trials:dicomReading:tip:lastVisitStatus')} ${$fd(question.DictionaryCode,parseFloat(question.LastTaskAnswer))}` : ''"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d[question.DictionaryCode]"
|
v-for="item of $d[question.DictionaryCode]"
|
||||||
v-show="item.value === 1 ||item.value === 2 || item.value === 3 || item.value === 4 || item.value === 5"
|
v-show="item.value === 1 ||item.value === 2 || item.value === 3 || item.value === 4 || item.value === 5"
|
||||||
|
@ -136,6 +143,7 @@
|
||||||
:value="String(item.value)"
|
:value="String(item.value)"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
|
</el-option-group>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="question.TableQuestionType === 3 || question.QuestionGenre === 3">
|
<template v-else-if="question.TableQuestionType === 3 || question.QuestionGenre === 3">
|
||||||
<el-option
|
<el-option
|
||||||
|
|
|
@ -390,18 +390,6 @@ export default {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async resetQSForm() {
|
|
||||||
try {
|
|
||||||
this.loading = true
|
|
||||||
var trialId = this.$route.query.trialId
|
|
||||||
await store.dispatch('reading/refreshDicomReadingQuestionAnswer', { trialId: trialId, visitTaskId: this.visitTaskId })
|
|
||||||
this.getQuestions(this.visitTaskId, true)
|
|
||||||
this.loading = false
|
|
||||||
} catch(e) {
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
checkAnnotationStatus(obj) {
|
checkAnnotationStatus(obj) {
|
||||||
for (let i = 0; i < obj.length; i++) {
|
for (let i = 0; i < obj.length; i++) {
|
||||||
if (obj[i].SaveEnum === 1) {
|
if (obj[i].SaveEnum === 1) {
|
||||||
|
|
|
@ -956,7 +956,6 @@ export default {
|
||||||
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
||||||
},
|
},
|
||||||
async resetMeasuredData() {
|
async resetMeasuredData() {
|
||||||
try {
|
|
||||||
const confirm = await this.$confirm(
|
const confirm = await this.$confirm(
|
||||||
this.$t('trials:dicomReading:message:confirmReset1'),
|
this.$t('trials:dicomReading:message:confirmReset1'),
|
||||||
this.$t('trials:dicomReading:message:confirmReset2'),
|
this.$t('trials:dicomReading:message:confirmReset2'),
|
||||||
|
@ -966,7 +965,8 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (confirm !== 'confirm') return
|
if (confirm !== 'confirm') return
|
||||||
this.loading = true
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
|
@ -975,13 +975,16 @@ export default {
|
||||||
this.activeItem.activeRowIndex = null
|
this.activeItem.activeRowIndex = null
|
||||||
this.activeItem.activeCollapseId = null
|
this.activeItem.activeCollapseId = null
|
||||||
await this.getReadingQuestionAndAnswer(this.visitTaskId)
|
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('getMeasureData')
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
}
|
}
|
||||||
|
loading.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.loading = false
|
loading.close()
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -509,15 +509,16 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
split(rowId, questionId) {
|
async split(rowId, questionId) {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
questionId: questionId,
|
questionId: questionId,
|
||||||
rowId: rowId
|
rowId: rowId
|
||||||
}
|
}
|
||||||
splitLesion(params).then(async res => {
|
const res = await splitLesion(params)
|
||||||
loading.close()
|
if (res.IsSuccess) {
|
||||||
await this.getReadingQuestionAndAnswer()
|
await this.getReadingQuestionAndAnswer()
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.tableQuestions.forEach(item => {
|
this.tableQuestions.forEach(item => {
|
||||||
|
@ -527,7 +528,12 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
loading.close()
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isCanActiveTool(toolName) {
|
isCanActiveTool(toolName) {
|
||||||
this.getUnSaveTarget()
|
this.getUnSaveTarget()
|
||||||
|
@ -892,7 +898,6 @@ export default {
|
||||||
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
this.$refs['ecrf'].getQuestions(obj.visitTaskId)
|
||||||
},
|
},
|
||||||
async resetMeasuredData() {
|
async resetMeasuredData() {
|
||||||
try {
|
|
||||||
const confirm = await this.$confirm(
|
const confirm = await this.$confirm(
|
||||||
this.$t('trials:dicomReading:message:confirmReset1'),
|
this.$t('trials:dicomReading:message:confirmReset1'),
|
||||||
this.$t('trials:dicomReading:message:confirmReset2'),
|
this.$t('trials:dicomReading:message:confirmReset2'),
|
||||||
|
@ -902,7 +907,8 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (confirm !== 'confirm') return
|
if (confirm !== 'confirm') return
|
||||||
this.loading = true
|
const loading = this.$loading({ fullscreen: true })
|
||||||
|
try {
|
||||||
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
const res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
|
@ -911,13 +917,16 @@ export default {
|
||||||
this.activeItem.activeRowIndex = null
|
this.activeItem.activeRowIndex = null
|
||||||
this.activeItem.activeCollapseId = null
|
this.activeItem.activeCollapseId = null
|
||||||
await this.getReadingQuestionAndAnswer(this.visitTaskId)
|
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('getMeasureData')
|
||||||
DicomEvent.$emit('getReportInfo', true)
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
DicomEvent.$emit('refreshStudyListMeasureData')
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
}
|
}
|
||||||
|
loading.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.loading = false
|
loading.close()
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -411,14 +411,16 @@ export default {
|
||||||
getTableHeight() {
|
getTableHeight() {
|
||||||
this.height = window.innerHeight - 170
|
this.height = window.innerHeight - 170
|
||||||
},
|
},
|
||||||
getReportInfo(IsCalculate) {
|
async getReportInfo(IsCalculate) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
trialId: this.$router.currentRoute.query.trialId,
|
trialId: this.$router.currentRoute.query.trialId,
|
||||||
IsCalculate: IsCalculate !== false
|
IsCalculate: IsCalculate !== false
|
||||||
}
|
}
|
||||||
getReadingReportEvaluation(params).then(res => {
|
const res = await getReadingReportEvaluation(params)
|
||||||
|
if (res.IsSuccess) {
|
||||||
this.readingTaskState = res.Result.ReadingTaskState
|
this.readingTaskState = res.Result.ReadingTaskState
|
||||||
this.tumorEvaluate = res.Result.CalculateResult.TumorEvaluate ? parseInt(res.Result.CalculateResult.TumorEvaluate) : null
|
this.tumorEvaluate = res.Result.CalculateResult.TumorEvaluate ? parseInt(res.Result.CalculateResult.TumorEvaluate) : null
|
||||||
this.isExistDisease = res.Result.CalculateResult.IsExistDisease ? parseInt(res.Result.CalculateResult.IsExistDisease) : null
|
this.isExistDisease = res.Result.CalculateResult.IsExistDisease ? parseInt(res.Result.CalculateResult.IsExistDisease) : null
|
||||||
|
@ -435,8 +437,12 @@ export default {
|
||||||
const ntLesion = res.Result.LesionCountList.find(i => i.LesionType === 1)
|
const ntLesion = res.Result.LesionCountList.find(i => i.LesionType === 1)
|
||||||
this.ntLesionCount = ntLesion ? ntLesion.Count : 0
|
this.ntLesionCount = ntLesion ? ntLesion.Count : 0
|
||||||
this.setScrollTop()
|
this.setScrollTop()
|
||||||
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => { this.loading = false })
|
} catch (e) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setScrollTop(a) {
|
setScrollTop(a) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -444,7 +450,6 @@ export default {
|
||||||
if (this.$refs.reportList) {
|
if (this.$refs.reportList) {
|
||||||
this.getTableHeight()
|
this.getTableHeight()
|
||||||
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)
|
||||||
|
@ -608,12 +613,15 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async handleConfirm() {
|
async handleConfirm() {
|
||||||
|
this.loading = true
|
||||||
|
try {
|
||||||
await this.handleSave(false)
|
await this.handleSave(false)
|
||||||
await this.verifyVisitTaskQuestions()
|
await verifyVisitTaskQuestions({ visitTaskId: this.visitTaskId })
|
||||||
var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
|
var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
|
||||||
var isBaseline = this.visitTaskList[i].IsBaseLine
|
var isBaseline = this.visitTaskList[i].IsBaseLine
|
||||||
if (isBaseline) {
|
if (isBaseline) {
|
||||||
this.assessmentQuestions = await this.getAdditionalAssessments()
|
const res = await getTaskAdditionalQuestion({ visitTaskId: this.visitTaskId })
|
||||||
|
this.assessmentQuestions = res.Result
|
||||||
if (this.assessmentQuestions.length > 0) {
|
if (this.assessmentQuestions.length > 0) {
|
||||||
// 打开附加评估框
|
// 打开附加评估框
|
||||||
this.additionalAssessmentsDig.visible = true
|
this.additionalAssessmentsDig.visible = true
|
||||||
|
@ -627,6 +635,10 @@ export default {
|
||||||
this.signCode = ImageAssessmentReportConfirmation
|
this.signCode = ImageAssessmentReportConfirmation
|
||||||
this.signVisible = true
|
this.signVisible = true
|
||||||
}
|
}
|
||||||
|
this.loading = false
|
||||||
|
} catch (e) {
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
sign() {
|
sign() {
|
||||||
this.additionalAssessmentsDig.visible = false
|
this.additionalAssessmentsDig.visible = false
|
||||||
|
@ -636,31 +648,6 @@ export default {
|
||||||
this.signVisible = true
|
this.signVisible = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 附加评估
|
|
||||||
getAdditionalAssessments() {
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
this.loading = true
|
|
||||||
getTaskAdditionalQuestion({ visitTaskId: this.visitTaskId }).then(res => {
|
|
||||||
this.loading = false
|
|
||||||
resolve(res.Result)
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false
|
|
||||||
resolve()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
verifyVisitTaskQuestions() {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
this.loading = true
|
|
||||||
verifyVisitTaskQuestions({ visitTaskId: this.visitTaskId }).then(res => {
|
|
||||||
this.loading = false
|
|
||||||
resolve()
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false
|
|
||||||
reject()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleResize() {
|
handleResize() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.reportList && this.$refs.reportList.doLayout()
|
this.$refs.reportList && this.$refs.reportList.doLayout()
|
||||||
|
@ -675,15 +662,16 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 签名并确认
|
// 签名并确认
|
||||||
signConfirm(signInfo) {
|
async signConfirm(signInfo) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
data: {
|
data: {
|
||||||
visitTaskId: this.visitTaskId
|
visitTaskId: this.visitTaskId
|
||||||
},
|
},
|
||||||
signInfo: signInfo
|
signInfo: signInfo
|
||||||
}
|
}
|
||||||
submitDicomVisitTask(params).then(async res => {
|
const res = await submitDicomVisitTask(params)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
if (this.$refs['signForm']) {
|
if (this.$refs['signForm']) {
|
||||||
|
@ -699,7 +687,8 @@ export default {
|
||||||
await store.dispatch('reading/setVisitTaskReadingTaskState', { visitTaskId: this.visitTaskId, readingTaskState: 2 })
|
await store.dispatch('reading/setVisitTaskReadingTaskState', { visitTaskId: this.visitTaskId, readingTaskState: 2 })
|
||||||
// DicomEvent.$emit('setReadingState', 2)
|
// DicomEvent.$emit('setReadingState', 2)
|
||||||
await store.dispatch('reading/setCurrentReadingTaskState', 2)
|
await store.dispatch('reading/setCurrentReadingTaskState', 2)
|
||||||
var isAutoTask = await this.getAutoTaskVal()
|
const res = await getAutoCutNextTask()
|
||||||
|
var isAutoTask = res.Result.AutoCutNextTask
|
||||||
if (isAutoTask) {
|
if (isAutoTask) {
|
||||||
// DicomEvent.$emit('reload')
|
// DicomEvent.$emit('reload')
|
||||||
// DicomEvent.$emit('getNextTask')
|
// DicomEvent.$emit('getNextTask')
|
||||||
|
@ -723,19 +712,12 @@ export default {
|
||||||
// DicomEvent.$emit('readingPageStateUpdate', { readingTaskState: 2 })
|
// DicomEvent.$emit('readingPageStateUpdate', { readingTaskState: 2 })
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => {
|
} catch (e) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (this.$refs['signForm'] && this.$refs['signForm'].btnLoading) {
|
if (this.$refs['signForm'] && this.$refs['signForm'].btnLoading) {
|
||||||
this.$refs['signForm'].btnLoading = false
|
this.$refs['signForm'].btnLoading = false
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
},
|
|
||||||
getAutoTaskVal() {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
getAutoCutNextTask().then(res => {
|
|
||||||
resolve(res.Result.AutoCutNextTask)
|
|
||||||
}).catch(() => { reject() })
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
previewDicoms(task) {
|
previewDicoms(task) {
|
||||||
if (this.openWindow) {
|
if (this.openWindow) {
|
||||||
|
@ -755,7 +737,7 @@ export default {
|
||||||
this.openWindow = window.open(routeData.href, '_blank')
|
this.openWindow = window.open(routeData.href, '_blank')
|
||||||
},
|
},
|
||||||
handleSave(isPrompt) {
|
handleSave(isPrompt) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise(async(resolve, reject) => {
|
||||||
var isBeill
|
var isBeill
|
||||||
var evaluateResult = ''
|
var evaluateResult = ''
|
||||||
var evaluateAjustReason = ''
|
var evaluateAjustReason = ''
|
||||||
|
@ -805,20 +787,21 @@ export default {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
try {
|
||||||
var params = {
|
var params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
answers: this.answers
|
answers: this.answers
|
||||||
}
|
}
|
||||||
changeDicomReadingQuestionAnswer(params).then(res => {
|
const res = await changeDicomReadingQuestionAnswer(params)
|
||||||
if (isPrompt) {
|
if (res.IsSuccess && isPrompt) {
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
resolve()
|
resolve()
|
||||||
}).catch(() => {
|
} catch (e) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
reject()
|
reject()
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getWarningText() {
|
getWarningText() {
|
||||||
|
|
|
@ -993,6 +993,7 @@ export default {
|
||||||
}
|
}
|
||||||
console.log('getMeasureData')
|
console.log('getMeasureData')
|
||||||
})
|
})
|
||||||
|
|
||||||
DicomEvent.$on('getScreenshots', (callback) => {
|
DicomEvent.$on('getScreenshots', (callback) => {
|
||||||
var base64Str =
|
var base64Str =
|
||||||
this.$refs[
|
this.$refs[
|
||||||
|
|
|
@ -2,10 +2,20 @@
|
||||||
<div class="measurement-wrapper" :style="{'height':height+10+'px'}" style="position: relative">
|
<div class="measurement-wrapper" :style="{'height':height+10+'px'}" style="position: relative">
|
||||||
|
|
||||||
<div class="container" :style="{'height':height+'px'}" style="padding-bottom: 50px;overflow-y: auto;">
|
<div class="container" :style="{'height':height+'px'}" style="padding-bottom: 50px;overflow-y: auto;">
|
||||||
<h3 style="color: #ddd;padding: 5px 0px;margin: 0;" v-if="isReadingShowSubjectInfo">
|
<div class="basic-info">
|
||||||
|
<h3 v-if="isReadingShowSubjectInfo">
|
||||||
<span v-if="subjectCode">{{ subjectCode }} </span>
|
<span v-if="subjectCode">{{ subjectCode }} </span>
|
||||||
<span style="margin-left:5px;">{{ taskBlindName }}</span>
|
<span style="margin-left:5px;">{{ taskBlindName }}</span>
|
||||||
</h3>
|
</h3>
|
||||||
|
<div v-if="readingTaskState < 2">
|
||||||
|
<el-tooltip class="item" effect="dark" :content="$t('trials:dicomReading:message:confirmReset')" placement="bottom">
|
||||||
|
<i
|
||||||
|
class="el-icon-refresh-left"
|
||||||
|
@click="resetMeasuredData"
|
||||||
|
/>
|
||||||
|
</el-tooltip>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<QuestionsPreview
|
<QuestionsPreview
|
||||||
ref="QuestionsPreview"
|
ref="QuestionsPreview"
|
||||||
v-if="ecrfShow"
|
v-if="ecrfShow"
|
||||||
|
@ -77,7 +87,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { submitDicomVisitTask } from '@/api/trials'
|
import { submitDicomVisitTask } from '@/api/trials'
|
||||||
import { getCustomTag, submitCustomTag, deleteCustomTag } from '@/api/reading'
|
import { getCustomTag, submitCustomTag, resetReadingTask } from '@/api/reading'
|
||||||
import DicomEvent from './../components/DicomEvent'
|
import DicomEvent from './../components/DicomEvent'
|
||||||
import SignForm from '@/views/trials/components/newSignForm'
|
import SignForm from '@/views/trials/components/newSignForm'
|
||||||
import QuestionsPreview from './CustomizeQuestionsPreview'
|
import QuestionsPreview from './CustomizeQuestionsPreview'
|
||||||
|
@ -169,7 +179,6 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
async initList(){
|
async initList(){
|
||||||
if (this.visitTaskId !== this.lastCanvasTaskId) {
|
if (this.visitTaskId !== this.lastCanvasTaskId) {
|
||||||
this.activeName = ''
|
|
||||||
this.ecrfShow = true
|
this.ecrfShow = true
|
||||||
var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.lastCanvasTaskId)
|
var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.lastCanvasTaskId)
|
||||||
console.log(i)
|
console.log(i)
|
||||||
|
@ -320,7 +329,7 @@ export default {
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
try {DicomEvent.$emit('getNextTask')} catch (e) {console.log(e)}
|
window.location.reload()
|
||||||
})
|
})
|
||||||
.catch(action => {
|
.catch(action => {
|
||||||
})
|
})
|
||||||
|
@ -354,10 +363,37 @@ export default {
|
||||||
if (this.visitTaskId !== obj.visitTaskId) {
|
if (this.visitTaskId !== obj.visitTaskId) {
|
||||||
this.visitTaskId = obj.visitTaskId
|
this.visitTaskId = obj.visitTaskId
|
||||||
this.taskBlindName = obj.taskBlindName
|
this.taskBlindName = obj.taskBlindName
|
||||||
this.activeName = ''
|
|
||||||
this.ecrfShow = true
|
this.ecrfShow = true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
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 res = await resetReadingTask({ visitTaskId: this.visitTaskId })
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
// 刷新标注、表单、报告页信息
|
||||||
|
this.$refs['QuestionsPreview'].getCustomTableQuestionAnswer(this.visitTaskId )
|
||||||
|
await store.dispatch('reading/refreshCustomizeMeasuredData', this.visitTaskId)
|
||||||
|
DicomEvent.$emit('getMeasureData')
|
||||||
|
DicomEvent.$emit('getReportInfo', true)
|
||||||
|
DicomEvent.$emit('refreshStudyListMeasureData')
|
||||||
|
}
|
||||||
|
loading.close()
|
||||||
|
} catch (e) {
|
||||||
|
loading.close()
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -368,6 +404,22 @@ export default {
|
||||||
|
|
||||||
.container{
|
.container{
|
||||||
padding: 10px;
|
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{
|
.title{
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
|
@ -257,7 +257,10 @@ export default {
|
||||||
this.subjectCode = localStorage.getItem('subjectCode')
|
this.subjectCode = localStorage.getItem('subjectCode')
|
||||||
var digitPlaces = Number(localStorage.getItem('digitPlaces'))
|
var digitPlaces = Number(localStorage.getItem('digitPlaces'))
|
||||||
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : 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 => {
|
// DicomEvent.$on('setReadingState', readingTaskState => {
|
||||||
// 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) {
|
||||||
|
@ -271,6 +274,7 @@ export default {
|
||||||
window.addEventListener('beforeunload', e => {
|
window.addEventListener('beforeunload', e => {
|
||||||
cornerstone.imageCache.purgeCache()
|
cornerstone.imageCache.purgeCache()
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
cornerstone.imageCache.purgeCache()
|
cornerstone.imageCache.purgeCache()
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
>
|
>
|
||||||
<i slot="default" class="el-icon-plus" />
|
<i slot="default" class="el-icon-plus" />
|
||||||
<div slot="file" slot-scope="{file}">
|
<div slot="file" slot-scope="{file}">
|
||||||
<viewer :images="images" :ref="file.url">
|
<viewer :ref="file.url" :images="images">
|
||||||
<img
|
<img
|
||||||
class="el-upload-list__item-thumbnail"
|
class="el-upload-list__item-thumbnail"
|
||||||
:src="OSSclientConfig.basePath + file.url"
|
:src="OSSclientConfig.basePath + file.url"
|
||||||
|
@ -225,7 +225,7 @@ export default {
|
||||||
isClosedDialog: false,
|
isClosedDialog: false,
|
||||||
isSendMessage: false,
|
isSendMessage: false,
|
||||||
closeQuestionVisible: false,
|
closeQuestionVisible: false,
|
||||||
images:[]
|
images: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -397,7 +397,7 @@ export default {
|
||||||
},
|
},
|
||||||
initializeViewer() {
|
initializeViewer() {
|
||||||
Viewer.setDefaults({
|
Viewer.setDefaults({
|
||||||
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true}
|
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue