Selaa lähdekoodia

监测器管理新增、编辑修改

like 6 kuukautta sitten
vanhempi
commit
1155b8eaa3

+ 0 - 1
snowy-admin-web/src/utils/request.js

@@ -136,7 +136,6 @@ service.interceptors.response.use(
 				}
 			})
 		}
-		console.log('返回数据', data)
 		return Promise.resolve(data.data)
 	},
 	(error) => {

+ 112 - 86
snowy-admin-web/src/views/basicset/mem/form.vue

@@ -11,19 +11,9 @@
 			:model="formData"
 			:rules="formRules"
 			layout="inline"
-			:label-col="{ style: { width: '100px', justifyContent: 'end' } }"
+			:label-col="{ style: { width: '105px', justifyContent: 'end' } }"
 		>
 			<a-row :gutter="10">
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="设备名称" name="deviceName">
-						<a-input v-model:value="formData.deviceName" placeholder="请输入设备名称" allow-clear />
-					</a-form-item>
-				</a-col>
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="设备编号" name="deviceCode">
-						<a-input v-model:value="formData.deviceCode" placeholder="请输入设备编号" allow-clear :maxlength="10" />
-					</a-form-item>
-				</a-col>
 				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
 					<a-form-item label="设备型号" name="modelName">
 						<a-select
@@ -36,83 +26,13 @@
 					</a-form-item>
 				</a-col>
 				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="设备状态" name="status">
-						<a-select ref="select" v-model:value="formData.status" placeholder="请选择设备状态">
-							<a-select-option value="1">正常</a-select-option>
-							<a-select-option value="2">闲置</a-select-option>
-						</a-select>
-					</a-form-item>
-				</a-col>
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="温度上限" name="temperatureUp">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.temperatureUp"
-							placeholder="请输入温度上限"
-							allow-clear
-							disabled
-							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="temperatureDown">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.temperatureDown"
-							placeholder="请输入温度下限"
-							allow-clear
-							disabled
-							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="humidityUp">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.humidityUp"
-							placeholder="请输入湿度上限"
-							allow-clear
-							disabled
-							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="humidityDown">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.humidityDown"
-							placeholder="请输入湿度下限"
-							allow-clear
-							disabled
-							style="width: 100%"
-						/>
-					</a-form-item>
-				</a-col>
-				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="CO2上限" name="co2Up">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.co2Up"
-							placeholder="请输入CO2上限"
-							allow-clear
-							disabled
-							style="width: 100%"
-						/>
+					<a-form-item label="设备名称" name="deviceName">
+						<a-input v-model:value="formData.deviceName" placeholder="请输入设备名称" allow-clear />
 					</a-form-item>
 				</a-col>
 				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-					<a-form-item label="CO2下限" name="co2Down">
-						<a-input-number
-							id="inputNumber"
-							v-model:value="formData.co2Down"
-							placeholder="请输入CO2下限"
-							allow-clear
-							disabled
-							style="width: 100%"
-						/>
+					<a-form-item label="设备编号" name="deviceCode">
+						<a-input v-model:value="formData.deviceCode" placeholder="请输入设备编号" allow-clear :maxlength="10" />
 					</a-form-item>
 				</a-col>
 				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
@@ -125,14 +45,105 @@
 							:max="sensorRouteMax"
 							style="width: 100%"
 							:precision="0"
+							disabled
 						/>
 					</a-form-item>
 				</a-col>
+				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+					<a-form-item label="设备状态" name="status">
+						<a-select ref="select" v-model:value="formData.status" placeholder="请选择设备状态">
+							<a-select-option value="1">正常</a-select-option>
+							<a-select-option value="2">闲置</a-select-option>
+						</a-select>
+					</a-form-item>
+				</a-col>
 				<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
 					<a-form-item label="排序:" name="sortCode">
 						<a-input-number class="xn-wd" v-model:value="formData.sortCode" :max="100" />
 					</a-form-item>
 				</a-col>
+
+				<div
+					class="form_item"
+					v-if="modeData.sensorType == 'W' || modeData.sensorType == 'WS' || modeData.sensorType == 'WSC'"
+				>
+					<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+						<a-form-item label="温度上限" name="temperatureUp">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.temperatureUp"
+								placeholder="请输入温度上限"
+								allow-clear
+								disabled
+								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="temperatureDown">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.temperatureDown"
+								placeholder="请输入温度下限"
+								allow-clear
+								disabled
+								style="width: 100%"
+							/>
+						</a-form-item>
+					</a-col>
+				</div>
+				<div class="form_item" v-if="modeData.sensorType == 'WS' || modeData.sensorType == 'WSC'">
+					<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+						<a-form-item label="湿度上限" name="humidityUp">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.humidityUp"
+								placeholder="请输入湿度上限"
+								allow-clear
+								disabled
+								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="humidityDown">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.humidityDown"
+								placeholder="请输入湿度下限"
+								allow-clear
+								disabled
+								style="width: 100%"
+							/>
+						</a-form-item>
+					</a-col>
+				</div>
+				<div class="form_item" v-if="modeData.sensorType == 'WSC'">
+					<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+						<a-form-item label="CO2上限" name="co2Up">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.co2Up"
+								placeholder="请输入CO2上限"
+								allow-clear
+								disabled
+								style="width: 100%"
+							/>
+						</a-form-item>
+					</a-col>
+					<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+						<a-form-item label="CO2下限" name="co2Down">
+							<a-input-number
+								id="inputNumber"
+								v-model:value="formData.co2Down"
+								placeholder="请输入CO2下限"
+								allow-clear
+								disabled
+								style="width: 100%"
+							/>
+						</a-form-item>
+					</a-col>
+				</div>
 			</a-row>
 		</a-form>
 
@@ -157,7 +168,7 @@
 	// 默认要校验的
 	const formRules = {
 		deviceName: [required('请输入设备名称')],
-		deviceCode: [required('请输入设备编号'), rules.integer],
+		deviceCode: [required('请输入设备编号'), rules.number],
 		modelName: [required('请选择设备型号')],
 		status: [required('请选择设备状态')],
 		sensorCount: [required('请输入传感器总路数')]
@@ -176,10 +187,14 @@
 		})
 	}
 
+	const modeData = ref({ sensorType: '' }) //选中的设备型号
+
 	// 选中设备型号获取上下限值
 	const modelNameChange = (value) => {
 		if (value) {
 			const data = modeOptions.value.find((item) => item.value === value)
+			modeData.value = data
+
 			formData.value.temperatureUp = data.temperatureUp
 			formData.value.temperatureDown = data.temperatureDown
 			formData.value.humidityUp = data.humidityUp
@@ -193,10 +208,14 @@
 
 	// 打开抽屉
 	const onOpen = (record) => {
+		modeData.value = { sensorType: '' }
 		loadData()
 		visible.value = true
 		if (record) {
 			formData.value = Object.assign({}, record)
+			setTimeout(() => {
+				modelNameChange(formData.value.modelName)
+			}, 300)
 		} else {
 			formData.value = { sortCode: 99 }
 		}
@@ -233,4 +252,11 @@
 		width: 100%;
 		margin-bottom: 10px;
 	}
+	.form_item {
+		width: 100%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-wrap: wrap;
+	}
 </style>