Browse Source

fix:传感器别名

master
guoapeng 1 week ago
parent
commit
423ec0c32e
  1. 8
      src/components/common/FTInput/index.vue
  2. 45
      src/components/home/Environment.vue

8
src/components/common/FTInput/index.vue

@ -252,7 +252,7 @@ const handleClose = () => {
//
// model.value = model.value?.replace(new RegExp(`(\\d+)\\.(\\d{${props.precision}}).*$`), '$1.$2').replace(/\.$/, '')
}
popoverRef.value.hide()
popoverRef.value?.hide()
setTimeout(() => {
ignoreBlur.value = false
}, 150)
@ -300,7 +300,11 @@ onUnmounted(() => {
document.removeEventListener('click', handlePopClose)
})
defineExpose({ inputRef, visible, open, close })
const focus = () => {
inputRef.value.focus()
}
defineExpose({ inputRef, visible, open, close, focus })
</script>
<template>

45
src/components/home/Environment.vue

@ -4,7 +4,7 @@ import homeInside from 'assets/images/home/home-inside.svg'
import homeProbe1 from 'assets/images/home/home-probe1.svg'
import homeProbe2 from 'assets/images/home/home-probe2.svg'
import { roundNumber } from 'libs/utils'
import { onMounted, ref, watch } from 'vue'
import { nextTick, onMounted, ref } from 'vue'
/**
* 环境参数展示组件
@ -33,12 +33,12 @@ const props = defineProps({
const aliasName = ref(props.envParams.aliasName)
watch(
() => props.envParams,
() => {
aliasName.value = props.envParams.aliasName
},
)
// watch(
// () => props.envParams,
// () => {
// aliasName.value = props.envParams.aliasName
// },
// )
/**
* 图片资源映射对象
@ -71,12 +71,22 @@ const changeNameHandle = () => {
className: 'H2O2SensorMgr',
fnName: 'setH2O2SensorAliasName',
params: {
type: 'Internal',
id: 1,
type: props.envParams.type,
id: props.envParams.id,
aliasName: aliasName.value,
},
}
syncSendCmd(params)
inputVisible.value = false
}
const inputVisible = ref(false)
const inputRef = ref()
const showInput = () => {
inputVisible.value = true
nextTick(() => {
inputRef.value?.focus()
})
}
</script>
@ -85,7 +95,7 @@ const changeNameHandle = () => {
<div class="title">
<div style="width: 100%; display: flex; align-items: center">
<img :src="imgs[envParams.type] || homeInside" alt="" style="margin-right: 10px"> {{ titles[envParams.type]
}}{{ envParams.sensorId }}
}}{{ envParams.id }}
</div>
<el-tag v-if="!envParams.isOnline" type="danger">
@ -97,8 +107,19 @@ const changeNameHandle = () => {
<div class="env-row-label">
备注
</div>
<div class="env-row-value">
<el-input v-model="aliasName" @blur="changeNameHandle" />
<div v-if="envParams.isOnline" class="env-row-value">
<ft-input
v-if="inputVisible"
ref="inputRef"
v-model="aliasName"
size="small"
style="width: 100px"
@blur="changeNameHandle"
@focus="aliasName = envParams.aliasName"
/>
<span v-else style="color: #3b82f6; font-weight: 600" @click="showInput">{{
envParams.aliasName || '--'
}}</span>
</div>
</div>
<div class="env-row odd">

Loading…
Cancel
Save