新增自动计算规则绝对值
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) => { DicomEvent.$on('operateImageMarker', (data) => {
let { operateStateEnum, QuestionId, picturePath } = data let { operateStateEnum, QuestionId, picturePath, visitTaskId } = data
if (this.question.Id === QuestionId) { if (this.question.Id === QuestionId && visitTaskId === this.visitTaskId) {
this.operateImageMarker({ operateStateEnum, question: this.question, picturePath }) this.operateImageMarker({ operateStateEnum, question: this.question, picturePath })
} }
}) })
@ -842,17 +842,33 @@ export default {
break; break;
} }
} else { } else {
if (this.questionForm[o.TableQuestionId] === 'NE') { switch (rules.CustomCalculateMark) {
isNE = true case 15:
} if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { num = Math.abs(this.questionForm[o.TableQuestionId])
num = parseFloat(this.questionForm[o.TableQuestionId]) }
} else { else {
isNAN = true isNAN = true
} }
if (!isNaN(num)) { if (this.questionForm[o.TableQuestionId] === 'NE') {
dataArr.push(num) 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 { } else {
if (this.questionForm[o.TableQuestionId] === 'NE') { if (this.questionForm[o.TableQuestionId] === 'NE') {
@ -939,7 +955,7 @@ export default {
break; break;
case 15: case 15:
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
num = Math.abs(num) num = Math.abs(this.questionForm[o.TableQuestionId])
} }
else { else {
isNAN = true isNAN = true

View File

@ -643,7 +643,7 @@ export default {
if (!item.MeasureData || item.MeasureData.annotationUID !== annotation.annotationUID) continue if (!item.MeasureData || item.MeasureData.annotationUID !== annotation.annotationUID) continue
const isTableMode = item.TableQuestionId const isTableMode = item.TableQuestionId
if (!isTableMode && this.questionsMarkStatus[item.QuestionId] && !this.questionsMarkStatus[item.QuestionId].isSaved && this.questionsMarkStatus[item.QuestionId].isMarked) { 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 break
} }
} }

View File

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

View File

@ -389,7 +389,7 @@
@change="(v) => CustomCalculateMarkChange(v)"> @change="(v) => CustomCalculateMarkChange(v)">
<div> <div>
<el-radio v-for="item of $d.CustomCalculateMark" <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"> :key="`CustomCalculateMark${item.value}`" :label="item.value">
{{ item.label }} {{ item.label }}
</el-radio> </el-radio>
@ -451,9 +451,10 @@
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 添加 --> <!-- 添加 -->
<el-button icon="el-icon-plus" size="mini" circle :title="$t('trials:readingUnit:qsList:title:add')" <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')" :title="$t('trials:readingUnit:qsList:title:delete')"
@click="deleteCustomCalculateMark(scope.$index)" /> @click="deleteCustomCalculateMark(scope.$index)" />
</template> </template>
@ -894,7 +895,7 @@ export default {
}, },
CustomCalculateMarkChange() { CustomCalculateMarkChange() {
this.isShow = false 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 = [ this.form.CalculateQuestions = [
{ {
IsTable: false, IsTable: false,

View File

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