Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
b22374db9e
|
@ -916,10 +916,10 @@ export default {
|
|||
toolGroup.addTool(ArrowAnnotateTool.toolName, {
|
||||
arrowHeadStyle: 'standard',
|
||||
changeTextCallback: async(data, eventData, doneChangingTextCallback) => {
|
||||
return doneChangingTextCallback('')
|
||||
return doneChangingTextCallback(data.label)
|
||||
},
|
||||
getTextCallback: async(doneChangingTextCallback) => {
|
||||
return doneChangingTextCallback('')
|
||||
return doneChangingTextCallback('_')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -1044,10 +1044,10 @@ export default {
|
|||
}
|
||||
}
|
||||
})
|
||||
const arr = cornerstoneTools.annotation.state.getAllAnnotations()
|
||||
console.log(arr)
|
||||
|
||||
},
|
||||
addAnnotationListeners() {
|
||||
console.log(toolsEvents)
|
||||
const debouncedCallback = this.debounce((evt) => {
|
||||
this.annotationModifiedListener(evt)
|
||||
}, 100)
|
||||
|
@ -1065,10 +1065,21 @@ export default {
|
|||
toolsEvents.ANNOTATION_REMOVED,
|
||||
this.annotationRemovedListener
|
||||
)
|
||||
eventTarget.addEventListener(
|
||||
toolsEvents.ANNOTATION_ADDED,
|
||||
this.annotationAddedListener
|
||||
)
|
||||
// eventTarget.addEventListener(
|
||||
// toolsEvents.ANNOTATION_ADDED,
|
||||
// this.annotationAddedListener
|
||||
// )
|
||||
// eventTarget.addEventListener(
|
||||
// toolsEvents.TOOL_MODE_CHANGED,
|
||||
// this.toolModeChanged
|
||||
// )
|
||||
|
||||
},
|
||||
toolModeChanged(e) {
|
||||
console.log(e)
|
||||
const arr = cornerstoneTools.annotation.state.getAllAnnotations()
|
||||
// if (arr)
|
||||
console.log(arr)
|
||||
},
|
||||
annotationAddedListener(e) {
|
||||
console.log('annotationAddedListener', e)
|
||||
|
@ -1167,7 +1178,12 @@ export default {
|
|||
const annotations = cornerstoneTools.annotation.state.getAllAnnotations()
|
||||
const idx = annotations.findIndex(i => i.annotationUID === obj.annotationUID)
|
||||
if (idx === -1) return
|
||||
annotations[idx].data.label = obj.name
|
||||
if (annotations[idx].metadata.toolName === 'ArrowAnnotate') {
|
||||
annotations[idx].data.text = obj.name
|
||||
} else {
|
||||
annotations[idx].data.label = obj.name
|
||||
}
|
||||
|
||||
const renderingEngine = getRenderingEngine(renderingEngineId)
|
||||
const viewportId = `viewport-${this.activeViewportIndex}`
|
||||
const viewport = renderingEngine.getViewport(viewportId)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +1,14 @@
|
|||
<template>
|
||||
<div class="table-question-form">
|
||||
<div style="display: flex;justify-content: space-between;">
|
||||
<h3 v-if="questionForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;">
|
||||
{{ questionForm.LesionName }}
|
||||
</h3>
|
||||
<!-- 关闭 -->
|
||||
<div>
|
||||
<i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" />
|
||||
</div>
|
||||
<h3 v-if="qsForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;">
|
||||
{{ qsForm.LesionName }}
|
||||
</h3>
|
||||
<!-- 关闭 -->
|
||||
<div>
|
||||
<i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" />
|
||||
</div>
|
||||
</div>
|
||||
<el-form-item
|
||||
:label="$t('trials:reading:title:lesionType')"
|
||||
prop="LesionType"
|
||||
|
@ -18,7 +18,7 @@
|
|||
>
|
||||
<!-- 下拉框 -->
|
||||
<el-select
|
||||
v-model="questionForm.LesionType"
|
||||
v-model="qsForm.LesionType"
|
||||
filterable
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || !isBaseLineTask"
|
||||
@change="((val)=>{lesionTypeChange(val)})"
|
||||
|
@ -47,9 +47,10 @@
|
|||
>
|
||||
<!-- 输入框 -->
|
||||
<template v-if="qs.Type==='input' || qs.Type==='number'">
|
||||
|
||||
<el-input
|
||||
v-if="qs.Type==='input' || qs.Type==='number'"
|
||||
v-model="questionForm[qs.Id]"
|
||||
v-model="qsForm[qs.Id]"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName) && lesionType !== 2) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName))"
|
||||
@change="((val)=>{formItemChange(val, qs)})"
|
||||
>
|
||||
|
@ -61,7 +62,7 @@
|
|||
<!-- 多行文本输入框 -->
|
||||
<el-input
|
||||
v-if="qs.Type==='textarea'"
|
||||
v-model="questionForm[qs.Id]"
|
||||
v-model="qsForm[qs.Id]"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4}"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2"
|
||||
|
@ -70,7 +71,7 @@
|
|||
<!-- 下拉框 -->
|
||||
<el-select
|
||||
v-if="qs.Type==='select'"
|
||||
v-model="questionForm[qs.Id]"
|
||||
v-model="qsForm[qs.Id]"
|
||||
filterable
|
||||
:placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : qs.QuestionMark === 2 ? '' : $t('common:placeholder:select')"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))"
|
||||
|
@ -154,7 +155,7 @@
|
|||
<!-- 单选 -->
|
||||
<el-radio-group
|
||||
v-if="qs.Type==='radio'"
|
||||
v-model="questionForm[qs.id]"
|
||||
v-model="qsForm[qs.id]"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2"
|
||||
>
|
||||
<el-radio
|
||||
|
@ -209,13 +210,22 @@ export default {
|
|||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isCurrentTaskAdd: null,
|
||||
lesionType: null,
|
||||
questions: [],
|
||||
organList: [],
|
||||
qsForm: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
questionForm: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler(v) {
|
||||
if (v.MeasureData) {
|
||||
const {markTool} = v.MeasureData
|
||||
const { markTool } = v.MeasureData
|
||||
if (markTool === 'Bidirectional') {
|
||||
this.getOrganList(1)
|
||||
} else if (markTool === 'Length') {
|
||||
|
@ -226,6 +236,9 @@ export default {
|
|||
} else {
|
||||
this.getOrganList()
|
||||
}
|
||||
for (const key in v) {
|
||||
this.$set(this.qsForm, key, v[key])
|
||||
}
|
||||
this.isCurrentTaskAdd = v.IsCurrentTaskAdd
|
||||
}
|
||||
},
|
||||
|
@ -238,45 +251,37 @@ export default {
|
|||
this.questions = v.TableQuestions.Questions
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
isCurrentTaskAdd: null,
|
||||
lesionType: null,
|
||||
questions: [],
|
||||
organList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
lesionTypeChange(v) {
|
||||
this.$emit('lesionTypeChange', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, newLesionType: v})
|
||||
this.$emit('lesionTypeChange', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, newLesionType: v })
|
||||
},
|
||||
formItemChange(v, qs) {
|
||||
let updateArr = []
|
||||
const updateArr = []
|
||||
if (qs.QuestionMark === 8 && qs.RelationQuestions.length > 0) {
|
||||
// 当选择部位时,联动器官、位置、是否淋巴结问题答案
|
||||
let index = this.organList.findIndex(item => item[qs.DataTableColumn] === v)
|
||||
const index = this.organList.findIndex(item => item[qs.DataTableColumn] === v)
|
||||
if (index > -1) {
|
||||
let selected = this.organList[index]
|
||||
const selected = this.organList[index]
|
||||
qs.RelationQuestions.map(q => {
|
||||
let val = selected[q.DataTableColumn]
|
||||
updateArr.push({questionId: q.Id, val: val, questionMark: q.QuestionMark})
|
||||
const val = selected[q.DataTableColumn]
|
||||
updateArr.push({ questionId: q.Id, val: val, questionMark: q.QuestionMark })
|
||||
})
|
||||
updateArr.push({questionId: 'OrganInfoId', val: selected.OrganInfoId})
|
||||
updateArr.push({questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition})
|
||||
updateArr.push({ questionId: 'OrganInfoId', val: selected.OrganInfoId })
|
||||
updateArr.push({ questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition })
|
||||
} else {
|
||||
question.RelationQuestions.map(q => {
|
||||
updateArr.push({questionId: q.Id, val: '', questionMark: q.QuestionMark})
|
||||
qs.RelationQuestions.map(q => {
|
||||
updateArr.push({ questionId: q.Id, val: '', questionMark: q.QuestionMark })
|
||||
})
|
||||
}
|
||||
}
|
||||
this.$emit('update', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, questionMark: qs.QuestionMark, questionId: qs.Id, val: v, updateArr})
|
||||
this.$emit('update', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, questionMark: qs.QuestionMark, questionId: qs.Id, val: v, updateArr })
|
||||
},
|
||||
getOrganList(isLymphNodes = null) {
|
||||
let idx = this.organs.findIndex(i => i.LesionType === this.questionForm.LesionType)
|
||||
const idx = this.organs.findIndex(i => i.LesionType === this.questionForm.LesionType)
|
||||
if (idx > -1) {
|
||||
let arr = this.organs[idx].OrganList
|
||||
const arr = this.organs[idx].OrganList
|
||||
|
||||
if (!isNaN(parseInt(isLymphNodes))) {
|
||||
this.organList = arr.filter((item) => item.IsLymphNodes === parseInt(isLymphNodes))
|
||||
|
@ -305,7 +310,7 @@ export default {
|
|||
}
|
||||
},
|
||||
close() {
|
||||
this.$emit('close', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex})
|
||||
this.$emit('close', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -349,4 +354,4 @@ export default {
|
|||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
@ -362,7 +362,7 @@ export default {
|
|||
this.$set(this.innerFormData[tableKey], 'LesionState', null)
|
||||
this.$set(this.innerFormData[tableKey], 'LesionPart', null)
|
||||
this.$set(this.innerFormData[tableKey], 'LesionOrgan', null)
|
||||
this.$set(this.innerFormData[tableKey], 'IntrahepaticLesion', null)
|
||||
this.$set(this.innerFormData[tableKey], 'IntrahepaticLesion', 0)
|
||||
this.$set(this.innerFormData[tableKey], 'LesionName', null)
|
||||
this.$set(this.innerFormData[tableKey], 'MeasureData', null)
|
||||
this.$set(this.innerFormData[tableKey], 'TableId', tableKey)
|
||||
|
@ -376,6 +376,7 @@ export default {
|
|||
const stateId = this.getQuestionId(7, table.TableQuestions.Questions)
|
||||
const partId = this.getQuestionId(8, table.TableQuestions.Questions)
|
||||
const intrahepaticLesionId = this.getQuestionId(21, table.TableQuestions.Questions)
|
||||
this.$set(this.innerFormData[tableKey], intrahepaticLesionId, 0)
|
||||
table.TableQuestions.Answers.forEach((answer, index) => {
|
||||
this.$set(this.innerFormData, `${tableKey}_${answer.RowIndex}`, {})
|
||||
this.$set(this.innerFormData[`${tableKey}_${answer.RowIndex}`], 'LesionName', this.getLesionName(table.OrderMark, answer.RowIndex))
|
||||
|
@ -1342,6 +1343,15 @@ export default {
|
|||
this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'IsLymphNodes', i.val)
|
||||
} else if (i.questionMark === 5) {
|
||||
this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'LesionOrgan', i.val)
|
||||
if (i.val !== '肝脏' && i.val !== 'Liver') {
|
||||
this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'IntrahepaticLesion', 0)
|
||||
const targetTable = this.tableQuestions[0].Childrens.find(
|
||||
child => child.Id === obj.tableId
|
||||
)
|
||||
if (typeof targetTable !== 'object') return
|
||||
const intrahepaticLesionId = this.getQuestionId(21, targetTable.TableQuestions.Questions)
|
||||
this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], intrahepaticLesionId, 0)
|
||||
}
|
||||
if (innerForm.LesionType === 2) {
|
||||
this.setNewTargetState(obj.tableId, obj.rowIndex)
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
:key="qs.Id"
|
||||
:label="`${qs.QuestionName}`"
|
||||
:prop="qs.Id"
|
||||
:title="(qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1) && questionForm.IntrahepaticLesion) ? $t('trials:mRecist:warnning:msg1') : ''"
|
||||
:title="(qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2) && questionForm.IntrahepaticLesion) ? $t('trials:mRecist:warnning:msg1') : ''"
|
||||
:rules="[
|
||||
{ required: (qs.IsRequired === 0 || (qs.IsRequired ===1 && qs.RelevanceId && (questionForm[qs.RelevanceId] === qs.RelevanceValue)) || (qs.QuestionMark === 6 && questionForm.IsCanEditPosition === true) || (questionForm.IsCanEditPosition && qs.QuestionMark === 10) || (qs.QuestionMark === 21 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2)) || (qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2))) && qs.Type!=='group' && qs.Type!=='summary',
|
||||
message:['radio', 'select', 'checkbox'].includes(qs.Type) ? $t('common:ruleMessage:select') : $t('common:ruleMessage:specify'), trigger: ['blur','change']},
|
||||
|
@ -77,7 +77,7 @@
|
|||
v-model="qsForm[qs.Id]"
|
||||
filterable
|
||||
:placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : qs.QuestionMark === 2 ? '' : $t('common:placeholder:select')"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 21 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (questionForm.LesionOrgan && questionForm.LesionOrgan !== '肝脏' && questionForm.LesionOrgan !== 'Liver' && qs.QuestionMark === 21)"
|
||||
@change="((val)=>{formItemChange(val, qs)})"
|
||||
>
|
||||
<template v-if="qs.QuestionMark === 8" #prefix>
|
||||
|
|
Loading…
Reference in New Issue