数值问题更改
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2026-02-28 13:16:05 +08:00
parent 4ec0a178b4
commit c0ae4732fc
3 changed files with 27 additions and 4 deletions

View File

@ -112,7 +112,7 @@
</el-input>
<el-input
v-else
type="text"
type="number"
@change="(val) => { formItemChange(val, item) }"
@input="(val) => questionForm[item.Id] = val.replace(/[^\d.]/g, '')"
@blur="handleBlur(questionForm[item.Id], questionForm, item)"

View File

@ -120,7 +120,7 @@
</el-input>
<el-input
v-else
type="text"
type="number"
@change="(val) => { formItemChange(val, item) }"
@input="(val) => questionForm[item.Id] = val.replace(/[^\d.]/g, '')"
@blur="handleBlur(questionForm[item.Id], questionForm, item)"

View File

@ -169,7 +169,16 @@
<div style="display: flex;justify-content: space-between;"
v-else-if="question.Type === 'number' || question.Type === 'calculation'">
<template v-if="question.Type === 'number'">
<el-input-number v-if="question.ValueType === 0" v-model="questionForm[question.Id]" :precision="0"
<el-input
v-if="question.Unit"
type="number"
@input="(val) => questionForm[question.Id] = val.replace(/[^\d.]/g, '')"
@blur="handleBlur(questionForm[question.Id], questionForm, question)"
v-model.trim="questionForm[question.Id]" :disabled="readingTaskState === 2">
<template slot="append" v-if="question.Unit !== 0">{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}</template>
<template slot="append" v-else-if="question.ValueType === 2">%</template>
</el-input>
<el-input-number v-else-if="question.ValueType === 0" v-model="questionForm[question.Id]" :precision="0"
:disabled="readingTaskState >= 2 || isFirstChangeTask" />
<el-input-number v-else-if="question.ValueType === 3" v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2 || isFirstChangeTask" />
@ -387,7 +396,21 @@ export default {
this.fileList.splice(this.fileList.findIndex(f => f.url === file.url), 1)
this.urls.splice(this.fileList.findIndex(f => f === file.url), 1)
this.$emit('setFormItemData', { key: this.question.Id, val: this.urls.length > 0 ? this.urls.join('|') : '' })
}
},
handleBlur(value, a, item) {
if (!value || item.ValueType === 3) return false
const num = parseFloat(this.questionForm[item.Id])
if (!isNaN(num)) {
this.$set(this.questionForm, item.Id, parseFloat(num).toFixed(this.digitPlaces))
if (item.ValueType === 0) {
//
this.$set(this.questionForm, item.Id, parseInt(num))
} else if (item.ValueType === 1 || item.ValueType === 2){
//
this.$set(this.questionForm, item.Id, parseFloat(num).toFixed(this.digitPlaces))
}
}
},
}
}
</script>