style:数据采集-采集设备点位-新增/编辑,当数据类型为数值才能填倍率

main
黄伟杰 3 weeks ago
parent e722e0339a
commit c605c4ac82

@ -44,7 +44,7 @@
<el-input v-model="formData.dataUnit" placeholder="请输入单位" />
</el-form-item>
<el-form-item label="倍率" prop="ratio">
<el-input v-model="formData.ratio" placeholder="请输入倍率" />
<el-input v-model="formData.ratio" placeholder="请输入倍率" :disabled="!ratioEnabled" />
</el-form-item>
<el-form-item label="顺序" prop="sort">
<el-input v-model="formData.sort" placeholder="请输入顺序" @input="handleSortInput" />
@ -104,6 +104,33 @@ const formData = ref({
deviceId: undefined as number | undefined
})
const ratioEnabledTypes = new Set([
'uint8',
'uint16',
'uint32',
'uint64',
'int8',
'int16',
'int32',
'float32',
'float64'
])
const ratioEnabled = computed(() => {
const v = formData.value.dataType
if (!v) return false
return ratioEnabledTypes.has(v)
})
watch(
() => formData.value.dataType,
() => {
if (!ratioEnabled.value) {
formData.value.ratio = undefined
}
}
)
const handleAttributeCodeInput = (val: string) => {
formData.value.attributeCode = val?.replace(/[\u4e00-\u9fa5]/g, '')
}
@ -190,7 +217,7 @@ const buildSubmitData = () => {
dataType,
address,
dataUnit,
ratio,
ratio: ratioEnabled.value ? ratio : undefined,
sort: parsedSort,
remark,
deviceId

Loading…
Cancel
Save