瀏覽代碼

温度下限不能大于或等于温度上限
湿度下限不能大于或等于湿度上限
CO2下限不能大于或等于CO2上限

like 6 月之前
父節點
當前提交
c7dfd7f27b
共有 2 個文件被更改,包括 54 次插入63 次删除
  1. 1 21
      snowy-admin-web/src/views/basicset/monitor/form.vue
  2. 53 42
      snowy-admin-web/src/views/motoring/location/form.vue

+ 1 - 21
snowy-admin-web/src/views/basicset/monitor/form.vue

@@ -25,24 +25,6 @@
 			<a-form-item label="监控位置区域">
 				<a-input v-model:value="formData.monitorPoint" placeholder="请输入监控位置区域" allow-clear />
 			</a-form-item>
-			<a-form-item label="报警上限" name="limitUp">
-				<a-input-number
-					id="inputNumber"
-					v-model:value="formData.limitUp"
-					placeholder="请输入报警上限"
-					allow-clear
-					style="width: 100%"
-				/>
-			</a-form-item>
-			<a-form-item label="报警下限" name="limitDown">
-				<a-input-number
-					id="inputNumber"
-					v-model:value="formData.limitDown"
-					placeholder="请输入报警下限"
-					allow-clear
-					style="width: 100%"
-				/>
-			</a-form-item>
 		</a-form>
 
 		<template #footer>
@@ -64,9 +46,7 @@
 	// 默认要校验的
 	const formRules = {
 		name: [required('请输入对象名称')],
-		status: [required('请选择对象状态')],
-		limitUp: [required('请输入报警上限')],
-		limitDown: [required('请输入报警下限')]
+		status: [required('请选择对象状态')]
 	}
 
 	// 表单数据

+ 53 - 42
snowy-admin-web/src/views/motoring/location/form.vue

@@ -27,7 +27,6 @@
 							v-model:value="formData.monitorTargetId"
 							:options="monitorTargetOptions"
 							placeholder="请选择监控对象"
-							@change="monitorTargetIdChange"
 						/>
 					</a-form-item>
 				</a-col>
@@ -81,7 +80,7 @@
 								v-model:value="formData.temperatureUp"
 								placeholder="请输入温度上限"
 								allow-clear
-								:min="1"
+								:min="temperatureMax.downMax"
 								:max="temperatureMax.upMax"
 								style="width: 100%"
 							/>
@@ -94,7 +93,8 @@
 								v-model:value="formData.temperatureDown"
 								placeholder="请输入温度下限"
 								allow-clear
-								:max="temperatureMax.downMax"
+								:min="temperatureMax.downMax"
+								:max="temperatureMax.upMax"
 								style="width: 100%"
 							/>
 						</a-form-item>
@@ -106,6 +106,7 @@
 								v-model:value="formData.humidityUp"
 								placeholder="请输入湿度上限"
 								allow-clear
+								:min="humidityMax.downMax"
 								:max="humidityMax.upMax"
 								style="width: 100%"
 							/>
@@ -118,7 +119,8 @@
 								v-model:value="formData.humidityDown"
 								placeholder="请输入湿度下限"
 								allow-clear
-								:max="humidityMax.downMax"
+								:min="humidityMax.downMax"
+								:max="humidityMax.upMax"
 								style="width: 100%"
 							/>
 						</a-form-item>
@@ -151,29 +153,6 @@
 						</a-form-item>
 					</a-col>
 				</div>
-
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="报警上限" name="limitUp">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.limitUp"
-							placeholder="请输入报警上限"
-							allow-clear
-							style="width: 100%"
-						/>
-					</a-form-item>
-				</a-col>
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="报警下限" name="limitDown">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.limitDown"
-							placeholder="请输入报警下限"
-							allow-clear
-							style="width: 100%"
-						/>
-					</a-form-item>
-				</a-col>
 			</a-row>
 		</a-form>
 
@@ -211,8 +190,51 @@
 		monitorDeviceId: [required('请选择监控设备')],
 		sensorType: [required('请选择传感器类型')],
 		sensorRoute: [required('请输入传感器路数')],
-		limitUp: [required('请选择报警上限')],
-		limitDown: [required('请选择报警下限')]
+		temperatureUp: [{ validator: validateTemperature, trigger: ['change', 'blur'] }],
+		temperatureDown: [{ validator: validateTemperature, trigger: ['change', 'blur'] }],
+		humidityUp: [{ validator: validateHumidity, trigger: ['change', 'blur'] }],
+		humidityDown: [{ validator: validateHumidity, trigger: ['change', 'blur'] }],
+		co2Up: [{ validator: validateCo2, trigger: ['change', 'blur'] }],
+		co2Down: [{ validator: validateCo2, trigger: ['change', 'blur'] }]
+	}
+
+	// 温度上下限校验
+	function validateTemperature(rule, value, callback) {
+		if (formData.value.temperatureDown && formData.value.temperatureUp) {
+			if (formData.value.temperatureDown >= formData.value.temperatureUp) {
+				callback(new Error('温度下限不能大于或等于温度上限'))
+			} else {
+				callback()
+			}
+		} else {
+			callback()
+		}
+	}
+
+	// 湿度上下限校验
+	function validateHumidity(rule, value, callback) {
+		if (formData.value.humidityDown && formData.value.humidityUp) {
+			if (formData.value.humidityDown >= formData.value.humidityUp) {
+				callback(new Error('湿度下限不能大于或等于湿度上限'))
+			} else {
+				callback()
+			}
+		} else {
+			callback()
+		}
+	}
+
+	// CO2上下限校验
+	function validateCo2(rule, value, callback) {
+		if (formData.value.co2Down && formData.value.co2Up) {
+			if (formData.value.co2Down >= formData.value.co2Up) {
+				callback(new Error('CO2下限不能大于或等于CO2上限'))
+			} else {
+				callback()
+			}
+		} else {
+			callback()
+		}
 	}
 
 	// 打开抽屉
@@ -256,18 +278,16 @@
 	const monitorDeviceIdChange = (value) => {
 		if (value) {
 			const data = memListOptions.value.find((item) => item.value === value)
-			formData.value.sensorCode = data.deviceCode //设备编号
+			formData.value.sensorCode = data.deviceCode //传感器编号
 			formData.value.modelName = data.modelName //监控设备型号
 			formData.value.deviceCode = data.deviceCode //冷链编号
-			sensorRouteMax.value = data.sensorCount //传感器路数的最大值
-
 			formData.value.temperatureUp = data.temperatureUp //温度上限
 			formData.value.temperatureDown = data.temperatureDown //温度下限
-
 			formData.value.humidityUp = data.humidityUp //湿度上限
 			formData.value.humidityDown = data.humidityDown //湿度下限
 			formData.value.co2Up = data.co2Up //CO2上限
 			formData.value.co2Up = data.co2Up //CO2下限
+			sensorRouteMax.value = data.sensorCount //传感器路数的最大值
 
 			temperatureMax.value = {
 				upMax: data.temperatureUp,
@@ -284,15 +304,6 @@
 		}
 	}
 
-	// 选中监控对象
-	const monitorTargetIdChange = (value) => {
-		if (value) {
-			const item = monitorTargetOptions.value.find((item) => item.value === value)
-			formData.value.limitUp = item.limitUp //监控设备型号
-			formData.value.limitDown = item.limitDown //冷链编号
-		}
-	}
-
 	// 关闭抽屉
 	const onClose = () => {
 		formRef.value.resetFields()