|
@@ -27,7 +27,7 @@
|
|
|
</a-col>
|
|
|
<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<a-form-item label="点位名称" name="name">
|
|
|
- <a-input v-model:value="formData.name" placeholder="请输入点位名称" allow-clear />
|
|
|
+ <a-input :value="formData.name" placeholder="请输入点位名称" allow-clear @input="nameInput" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
@@ -158,6 +158,7 @@
|
|
|
placeholder="请输入CO2上限"
|
|
|
allow-clear
|
|
|
:max="co2Max.upMax"
|
|
|
+ :min="co2Max.downMax"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</a-form-item>
|
|
@@ -169,7 +170,8 @@
|
|
|
v-model:value="formData.co2Down"
|
|
|
placeholder="请输入CO2下限"
|
|
|
allow-clear
|
|
|
- :max="co2Max.downMax"
|
|
|
+ :max="co2Max.upMax"
|
|
|
+ :min="co2Max.downMax"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</a-form-item>
|
|
@@ -179,13 +181,16 @@
|
|
|
</a-form>
|
|
|
|
|
|
<template #footer>
|
|
|
- <a-button class="xn-mr8" @click="onClose">退出</a-button>
|
|
|
+ <a-button class="xn-mr8" @click="onClose">取消</a-button>
|
|
|
<a-button type="primary" @click="onSubmit">保存</a-button>
|
|
|
</template>
|
|
|
</xn-form-container>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
+ import { message } from 'ant-design-vue'
|
|
|
+ import { debounce } from 'lodash-es'
|
|
|
+
|
|
|
import tool from '@/utils/tool'
|
|
|
import { required } from '@/utils/formRules'
|
|
|
import locationApi from '@/api/basicset/locationApi.js'
|
|
@@ -226,13 +231,13 @@
|
|
|
function validateTemperature(rule, value, callback) {
|
|
|
if (rule.field == 'temperatureDown') {
|
|
|
if (formData.value.temperatureUp !== null && value >= formData.value.temperatureUp) {
|
|
|
- callback(new Error('温度下限不能大于或等于温度上限'))
|
|
|
+ callback(new Error('温度下限不能大于或等于温度上限:' + formData.value.temperatureUp))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
|
} else if (rule.field == 'temperatureUp') {
|
|
|
if (formData.value.temperatureDown !== null && value <= formData.value.temperatureDown) {
|
|
|
- callback(new Error('温度上限不能小于或等于温度下限'))
|
|
|
+ callback(new Error('温度上限不能小于或等于温度下限:' + formData.value.temperatureDown))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
@@ -243,13 +248,13 @@
|
|
|
function validateHumidity(rule, value, callback) {
|
|
|
if (rule.field == 'humidityDown') {
|
|
|
if (formData.value.humidityUp !== null && value >= formData.value.humidityUp) {
|
|
|
- callback(new Error('湿度下限不能大于或等于湿度上限'))
|
|
|
+ callback(new Error('湿度下限不能大于或等于湿度上限:' + formData.value.humidityUp))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
|
} else if (rule.field == 'humidityUp') {
|
|
|
if (formData.value.humidityDown !== null && value <= formData.value.humidityDown) {
|
|
|
- callback(new Error('湿度上限不能小于或等于湿度下限'))
|
|
|
+ callback(new Error('湿度上限不能小于或等于湿度下限:' + formData.value.humidityDown))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
@@ -260,13 +265,13 @@
|
|
|
function validateCo2(rule, value, callback) {
|
|
|
if (rule.field == 'co2Down') {
|
|
|
if (formData.value.co2Up !== null && value >= formData.value.co2Up) {
|
|
|
- callback(new Error('CO2下限不能大于或等于CO2上限'))
|
|
|
+ callback(new Error('CO2下限不能大于或等于CO2上限:' + formData.value.co2Up))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
|
} else if (rule.field == 'co2Up') {
|
|
|
if (formData.value.co2Down !== null && value <= formData.value.co2Down) {
|
|
|
- callback(new Error('CO2上限不能小于或等于CO2下限'))
|
|
|
+ callback(new Error('CO2上限不能小于或等于CO2下限:' + formData.value.co2Down))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
@@ -284,6 +289,7 @@
|
|
|
if (formData.value.alarmUsers && formData.value.alarmUsers.length > 0) {
|
|
|
formData.value.alarmUsers = formData.value.alarmUsers.map((item) => item.openId)
|
|
|
}
|
|
|
+
|
|
|
sensorType.value = formData.value.sensorType
|
|
|
|
|
|
memListData(sensorType.value)
|
|
@@ -308,10 +314,25 @@
|
|
|
if (!formData.value.id) {
|
|
|
formData.value.name = list.label
|
|
|
}
|
|
|
+ formData.value._name = list.label
|
|
|
alarmUsersOptions.value = list.alarmUsers || []
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ // 名称输入
|
|
|
+ const nameInput = (e) => {
|
|
|
+ const val = e.target.value
|
|
|
+ if (!val.startsWith(formData.value._name)) {
|
|
|
+ formData.value.name = formData.value._name
|
|
|
+ message.warning({
|
|
|
+ content: '名称必须以监控对象名称:' + formData.value._name + ' 开头',
|
|
|
+ key: 'name'
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ formData.value.name = val
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
const sensorType = ref() //选中的传感器类型
|
|
|
// 监测设备通过传感器类型来获取, sensorType可为空
|
|
|
const memListData = (value) => {
|
|
@@ -363,10 +384,12 @@
|
|
|
upMax: data.temperatureUp,
|
|
|
downMax: data.temperatureDown
|
|
|
}
|
|
|
+
|
|
|
humidityMax.value = {
|
|
|
upMax: data.humidityUp,
|
|
|
downMax: data.humidityDown
|
|
|
}
|
|
|
+
|
|
|
co2Max.value = {
|
|
|
upMax: data.co2Up,
|
|
|
downMax: data.co2Down
|