新增自动计算规则绝对值
continuous-integration/drone/push Build encountered an error Details

uat
wangxiaoshuang 2025-12-11 11:02:10 +08:00
parent d7a8112441
commit 365791624e
5 changed files with 50 additions and 24 deletions

View File

@ -486,8 +486,8 @@ export default {
}
})
DicomEvent.$on('operateImageMarker', (data) => {
let { operateStateEnum, QuestionId, picturePath } = data
if (this.question.Id === QuestionId) {
let { operateStateEnum, QuestionId, picturePath, visitTaskId } = data
if (this.question.Id === QuestionId && visitTaskId === this.visitTaskId) {
this.operateImageMarker({ operateStateEnum, question: this.question, picturePath })
}
})
@ -842,17 +842,33 @@ export default {
break;
}
} else {
if (this.questionForm[o.TableQuestionId] === 'NE') {
isNE = true
}
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = parseFloat(this.questionForm[o.TableQuestionId])
} else {
isNAN = true
}
if (!isNaN(num)) {
dataArr.push(num)
switch (rules.CustomCalculateMark) {
case 15:
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = Math.abs(this.questionForm[o.TableQuestionId])
}
else {
isNAN = true
}
if (this.questionForm[o.TableQuestionId] === 'NE') {
isNE = true
}
break;
default:
if (this.questionForm[o.TableQuestionId] === 'NE') {
isNE = true
}
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = parseFloat(this.questionForm[o.TableQuestionId])
} else {
isNAN = true
}
if (!isNaN(num)) {
dataArr.push(num)
}
break;
}
}
} else {
if (this.questionForm[o.TableQuestionId] === 'NE') {
@ -939,7 +955,7 @@ export default {
break;
case 15:
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = Math.abs(num)
num = Math.abs(this.questionForm[o.TableQuestionId])
}
else {
isNAN = true

View File

@ -643,7 +643,7 @@ export default {
if (!item.MeasureData || item.MeasureData.annotationUID !== annotation.annotationUID) continue
const isTableMode = item.TableQuestionId
if (!isTableMode && this.questionsMarkStatus[item.QuestionId] && !this.questionsMarkStatus[item.QuestionId].isSaved && this.questionsMarkStatus[item.QuestionId].isMarked) {
DicomEvent.$emit('operateImageMarker', { QuestionId: item.QuestionId, operateStateEnum: 5, picturePath })
DicomEvent.$emit('operateImageMarker', { QuestionId: item.QuestionId, operateStateEnum: 5, picturePath, visitTaskId: this.visitTaskId })
break
}
}

View File

@ -535,7 +535,15 @@ export default {
}
})
num = arr1.length === 0 ? 0 : Math.min(...arr1)
break
break;
case 15:
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = Math.abs(this.questionForm[o.TableQuestionId])
}
else {
isNAN = true
}
break;
}
} else {
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
@ -624,7 +632,7 @@ export default {
break;
case 15:
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = Math.abs(num)
num = Math.abs(this.questionForm[o.TableQuestionId])
}
break;
}
@ -637,7 +645,7 @@ export default {
return 'NE'
}
if (isNAN) {
return null
return false
}
if (rules.ValueType === 2) {
num = num * 100

View File

@ -389,7 +389,7 @@
@change="(v) => CustomCalculateMarkChange(v)">
<div>
<el-radio v-for="item of $d.CustomCalculateMark"
v-show="item.value <= 4 || item.value === 10 || item.value === 11 || item.value === 12 || item.value === 13 || item.value === 14"
v-show="item.value <= 4 || item.value === 10 || item.value === 11 || item.value === 12 || item.value === 13 || item.value === 14 || item.value === 15"
:key="`CustomCalculateMark${item.value}`" :label="item.value">
{{ item.label }}
</el-radio>
@ -451,9 +451,10 @@
<template slot-scope="scope">
<!-- 添加 -->
<el-button icon="el-icon-plus" size="mini" circle :title="$t('trials:readingUnit:qsList:title:add')"
@click="addCustomCalculateMark(scope.$index)" />
@click="addCustomCalculateMark(scope.$index)" :disabled="form.CustomCalculateMark === 15" />
<!-- 删除 -->
<el-button icon="el-icon-minus" size="mini" circle :disabled="form.CalculateQuestions.length <= 2"
<el-button icon="el-icon-minus" size="mini" circle
:disabled="(form.CustomCalculateMark !== 15 && form.CalculateQuestions.length <= 2) || (form.CustomCalculateMark === 15 && form.CalculateQuestions.length <= 1)"
:title="$t('trials:readingUnit:qsList:title:delete')"
@click="deleteCustomCalculateMark(scope.$index)" />
</template>
@ -894,7 +895,7 @@ export default {
},
CustomCalculateMarkChange() {
this.isShow = false
if (this.form.CustomCalculateMark <= 4 || this.form.CustomCalculateMark >= 10) {
if ((this.form.CustomCalculateMark <= 4 || this.form.CustomCalculateMark >= 10) && this.form.CustomCalculateMark < 15) {
this.form.CalculateQuestions = [
{
IsTable: false,

View File

@ -221,7 +221,7 @@
<el-radio-group v-model="form.CustomCalculateMark" style="line-height: 40px;"
@change="(v) => CustomCalculateMarkChange(v)">
<div>
<el-radio v-for="item of $d.CustomCalculateMark" v-show="item.value <= 4"
<el-radio v-for="item of $d.CustomCalculateMark" v-show="item.value <= 4 || item.value >= 15"
:key="`CustomCalculateMark${item.value}`" :label="item.value">
{{ item.label }}
</el-radio>
@ -259,8 +259,9 @@
<el-table-column :label="$t('common:action:action')" prop="TableQuestionId" show-overflow-tooltip>
<template slot-scope="scope">
<el-button icon="el-icon-plus" size="mini" circle :title="$t('common:button:add')"
@click="addCustomCalculateMark(scope.$index)" />
<el-button icon="el-icon-minus" size="mini" circle :disabled="form.CalculateQuestions.length <= 2"
@click="addCustomCalculateMark(scope.$index)" :disabled="form.CustomCalculateMark === 15" />
<el-button icon="el-icon-minus" size="mini" circle
::disabled="(form.CustomCalculateMark !== 15 && form.CalculateQuestions.length <= 2) || (form.CustomCalculateMark === 15 && form.CalculateQuestions.length <= 1)"
:title="$t('common:button:delete')" @click="deleteCustomCalculateMark(scope.$index)" />
</template>
</el-table-column>