Compare commits

..

2 Commits

Author SHA1 Message Date
caiyiling 6c50257972 Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details
2024-12-30 15:58:55 +08:00
caiyiling 58b8cf1391 系统标准配置及MRI-PDFF交互更改 2024-12-30 15:58:23 +08:00
4 changed files with 61 additions and 40 deletions

View File

@ -327,6 +327,26 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.TableQuestionType === 3" label="默认值">
<el-select v-model="form.DefaultValue" clearable>
<el-option
v-for="item of form.DictionaryCode ? $d[form.DictionaryCode] : []"
:key="item.id"
:label="item.label"
:value="item.value.toString()"
/>
</el-select>
</el-form-item>
<el-form-item v-if="form.TableQuestionType === 0" label="默认值">
<el-select v-model="form.DefaultValue" clearable>
<el-option
v-for="item of form.TypeValue ? form.TypeValue.split('|') : []"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item v-if="form.Type === 'select' || form.Type === 'radio'" label="高亮标记值" prop="HighlightAnswerList"> <el-form-item v-if="form.Type === 'select' || form.Type === 'radio'" label="高亮标记值" prop="HighlightAnswerList">
<el-select v-model="form.HighlightAnswerList" clearable multiple> <el-select v-model="form.HighlightAnswerList" clearable multiple>
<template v-if="form.TypeValue"> <template v-if="form.TypeValue">
@ -608,7 +628,8 @@ export default {
ClassifyTableQuestionId: null, ClassifyTableQuestionId: null,
ClassifyAlgorithms: null, ClassifyAlgorithms: null,
ExportIdentification: 0, ExportIdentification: 0,
ExportResult: [] ExportResult: [],
DefaultValue:null
// IsEnable: true // IsEnable: true
}, },
rules: { rules: {
@ -912,6 +933,7 @@ export default {
form.ClassifyAlgorithms = null form.ClassifyAlgorithms = null
form.ExportIdentification = 0 form.ExportIdentification = 0
form.ExportResult = [] form.ExportResult = []
form.DefaultValue = null
}, },
close() { close() {
this.$emit('close') this.$emit('close')

View File

@ -1195,7 +1195,7 @@ export default {
}) })
DicomEvent.$on('addAnnotation', async obj => { DicomEvent.$on('addAnnotation', async obj => {
this.tmpData = Object.assign({}, obj.question) this.tmpData = Object.assign({}, obj.question)
await this.imageLocation(obj.locateInfo) // await this.imageLocation(obj.locateInfo)
this.setToolActive('Probe', true, null, 'tableQuestion') this.setToolActive('Probe', true, null, 'tableQuestion')
}) })
window.addEventListener('beforeunload', () => { window.addEventListener('beforeunload', () => {

View File

@ -149,7 +149,7 @@
<el-radio-group <el-radio-group
v-else-if="qs.Type==='radio'" v-else-if="qs.Type==='radio'"
v-model="questionForm[qs.Id]" v-model="questionForm[qs.Id]"
:disabled="!isCurrentTask || readingTaskState>=2" :disabled="!isCurrentTask || readingTaskState>=2 || (qs.QuestionMark === 1105 && isDisabledMeasurableRadio)"
@change="((val)=>{formItemChange(val, qs)})" @change="((val)=>{formItemChange(val, qs)})"
> >
<template v-if="qs.DictionaryCode.length > 0"> <template v-if="qs.DictionaryCode.length > 0">
@ -272,7 +272,8 @@ export default {
markList: [], markList: [],
digitPlaces: 2, digitPlaces: 2,
isMeasurableId: '', isMeasurableId: '',
isExitsMarks: false isExitsMarks: false,
isDisabledMeasurableRadio: false
} }
}, },
mounted() { mounted() {
@ -318,11 +319,13 @@ export default {
this.originalQuestionForm = { ...this.questionForm } this.originalQuestionForm = { ...this.questionForm }
this.markList = [] this.markList = []
this.isExitsMarks = false this.isExitsMarks = false
this.isDisabledMeasurableRadio = false
if (this.answers.TableQuestionMarkList) { if (this.answers.TableQuestionMarkList) {
let arr = JSON.parse(this.answers.TableQuestionMarkList) let arr = JSON.parse(this.answers.TableQuestionMarkList)
arr.map(i=>{ arr.map(i=>{
if (i.MeasureData) { if (i.MeasureData) {
this.isExitsMarks = true this.isExitsMarks = true
this.isDisabledMeasurableRadio = true
} }
this.markList.push({tableQuestionId: i.TableQuestionId, measureData: i, saveEnum: 1}) this.markList.push({tableQuestionId: i.TableQuestionId, measureData: i, saveEnum: 1})
}) })
@ -371,38 +374,6 @@ export default {
return '' return ''
} }
}, },
getOrganInfoList(isLymphNodes = null) {
return new Promise(async resolve => {
// var param = {
// trialId: this.trialId,
// visitTaskId: this.visitTaskId,
// lesionType: this.lesionType,
// isEnable: true
// }
// if (isLymphNodes !== undefined && isLymphNodes !== null) {
// param.isLymphNodes = isLymphNodes
// }
// getTrialOrganList(param).then(res => {
// this.organList = res.Result
// resolve()
// })
if (!sessionStorage.getItem('organList')) {
await store.dispatch('reading/getOrganInfo', this.visitTaskId)
}
var organList = sessionStorage.getItem('organList') ? JSON.parse(sessionStorage.getItem('organList')) : []
var idx = organList.findIndex(i => i.LesionType === this.lesionType)
if (idx > -1) {
organList = organList[idx].OrganList
if (!isNaN(parseInt(isLymphNodes))) {
this.organList = organList.filter((item) => item.IsLymphNodes === parseInt(isLymphNodes))
} else {
this.organList = organList
}
}
resolve()
})
},
async formItemChange(v, qs) { async formItemChange(v, qs) {
// //
this.$set(this.questionForm, 'saveTypeEnum', 1) this.$set(this.questionForm, 'saveTypeEnum', 1)
@ -413,6 +384,11 @@ export default {
let meanId = this.getQuestionId(1104) let meanId = this.getQuestionId(1104)
this.$set(this.questionForm, meanId, newMean ? newMean : '') this.$set(this.questionForm, meanId, newMean ? newMean : '')
} }
} else if (qs.QuestionMark === 1105) {
if (!v) {
let meanId = this.getQuestionId(1104)
this.$set(this.questionForm, meanId, 'NA')
}
} }
const isMeasurable = this.getQuestionVal(1105) const isMeasurable = this.getQuestionVal(1105)
this.$emit('resetQuestions', { mean, isMeasurable, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) this.$emit('resetQuestions', { mean, isMeasurable, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
@ -427,7 +403,7 @@ export default {
mean = sum / 3 mean = sum / 3
} }
return mean ? mean.toFixed(this.digitPlaces) : null; return mean ? mean.toFixed(this.digitPlaces) : '';
}, },
setMeasureData(measureData, isInit = false) { setMeasureData(measureData, isInit = false) {
return new Promise(resolve => { return new Promise(resolve => {
@ -475,11 +451,17 @@ export default {
this.markList[i].saveEnum = 0 this.markList[i].saveEnum = 0
this.markList[i].measureData = data this.markList[i].measureData = data
} }
this.isDisabledMeasurableRadio = true
resolve() resolve()
}) })
}, },
addAnnotation(qs) { addAnnotation(qs) {
//
let i = this.markList.findIndex(i=>i.saveEnum === 0)
if (i > -1 && this.markList[i].measureData && this.markList[i].measureData.MeasureData) {
this.$message.warning(this.$t('trials:MRIPDFF:message:message3'))
return
}
let orderMarkName = this.getLesionName(this.orderMark, qs.QuestionMark) let orderMarkName = this.getLesionName(this.orderMark, qs.QuestionMark)
this.activeQuestionId = qs.Id this.activeQuestionId = qs.Id
this.activeQuestionMark= qs.QuestionMark this.activeQuestionMark= qs.QuestionMark
@ -501,6 +483,9 @@ export default {
return false return false
} }
}, },
getIsExitsMarks() {
return this.markList.findIndex(i=>i.measureData && i.measureData.MeasureData) > -1 ? true : false
},
async removeAnnotation(qs) { async removeAnnotation(qs) {
let i = this.markList.findIndex(i=>i.tableQuestionId === qs.Id) let i = this.markList.findIndex(i=>i.tableQuestionId === qs.Id)
DicomEvent.$emit('imageLocation', { questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex, visitTaskId: this.visitTaskId, lesionName: this.markList[i].measureData.OrderMarkName, lesionType: null, markTool: 'Probe', readingTaskState: this.readingTaskState, isMarked: true }) DicomEvent.$emit('imageLocation', { questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex, visitTaskId: this.visitTaskId, lesionName: this.markList[i].measureData.OrderMarkName, lesionType: null, markTool: 'Probe', readingTaskState: this.readingTaskState, isMarked: true })
@ -524,6 +509,7 @@ export default {
this.$set(this.questionForm, this.markList[i].tableQuestionId, '') this.$set(this.questionForm, this.markList[i].tableQuestionId, '')
let meanId = this.getQuestionId(1104) let meanId = this.getQuestionId(1104)
this.$set(this.questionForm, meanId, '') this.$set(this.questionForm, meanId, '')
this.isDisabledMeasurableRadio = this.getIsExitsMarks()
}, },
locateAnnotation(qs) { locateAnnotation(qs) {
let i = this.markList.findIndex(i=>i.tableQuestionId === qs.Id) let i = this.markList.findIndex(i=>i.tableQuestionId === qs.Id)
@ -698,7 +684,7 @@ export default {
let l3Id = this.getQuestionId(1103) let l3Id = this.getQuestionId(1103)
this.$set(this.questionForm, l3Id, '') this.$set(this.questionForm, l3Id, '')
let meanId = this.getQuestionId(1104) let meanId = this.getQuestionId(1104)
this.$set(this.questionForm, meanId, '') this.$set(this.questionForm, meanId, 'NA')
} }
const loading = this.$loading({ fullscreen: true }) const loading = this.$loading({ fullscreen: true })
@ -744,7 +730,7 @@ export default {
const isMeasurable = this.getQuestionVal(1105) const isMeasurable = this.getQuestionVal(1105)
const mean = this.getQuestionVal(1104) const mean = this.getQuestionVal(1104)
this.$emit('resetQuestions', { isMeasurable, mean, saveTypeEnum: this.questionForm.saveTypeEnum,rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) this.$emit('resetQuestions', { isMeasurable, mean, saveTypeEnum: this.questionForm.saveTypeEnum,rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
// this.$emit('close') this.$emit('close')
DicomEvent.$emit('getReportInfo', true) DicomEvent.$emit('getReportInfo', true)
DicomEvent.$emit('setMeasuredToolsPassive') DicomEvent.$emit('setMeasuredToolsPassive')
if (parseInt(this.questionForm[this.isMeasurableId]) === 0 && isResetMarks) { if (parseInt(this.questionForm[this.isMeasurableId]) === 0 && isResetMarks) {

View File

@ -548,6 +548,19 @@ export default {
if (item.Childrens[liverSegmentIdx].Answer.length > 0) { if (item.Childrens[liverSegmentIdx].Answer.length > 0) {
let v = item.Childrens[liverSegmentIdx].Answer[0].Answer let v = item.Childrens[liverSegmentIdx].Answer[0].Answer
obj.QuestionName = this.$fd(item.Childrens[liverSegmentIdx].DictionaryCode, parseInt(v)) obj.QuestionName = this.$fd(item.Childrens[liverSegmentIdx].DictionaryCode, parseInt(v))
let Answers = {}
let mean = item.Childrens.findIndex(i => i.QuestionMark === 1104)
if (mean > -1) {
this.visitTaskList.forEach(v => {
const o = item.Childrens[mean].Answer.find(v1 => {
return v1.VisitTaskId === v.VisitTaskId
})
if (o) {
Answers[o.VisitTaskId] = o.Answer
}
})
}
this.$set(obj, 'Answers', Answers)
} }
} }
} }