Pārlūkot izejas kodu

feat(views): 实时监测页面支持高级设置

wangcong 2 nedēļas atpakaļ
vecāks
revīzija
6aaf8bebd7

+ 2 - 2
src/api/index.ts

@@ -5,7 +5,7 @@ import { request } from '@/utils';
 import type {
   AddInterface,
   AgreementUpdate,
-  AIAdvancedDeviceItem,
+  AIAdvancedParamItem,
   AIOptimizeDetail,
   AIStartStopDeviceItem,
   AIStartStopDeviceParams,
@@ -1152,7 +1152,7 @@ export const updateAIOptimizeSetting = async (params: AIOptimizeDetail) => {
 };
 
 export const getAIAdvancedSetting = async (groupId: number) => {
-  const data = await request<AIAdvancedDeviceItem[]>(apiBiz('/moduleInfoAi/info/advancedSetting'), {
+  const data = await request<AIAdvancedParamItem[]>(apiBiz('/moduleInfoAi/info/advancedSetting'), {
     method: 'POST',
     body: JSON.stringify({
       groupId,

+ 1 - 0
src/constants/device-params.ts

@@ -9,6 +9,7 @@ export const enum DevParamCtrlCabinet {
   冷却总管出水温度 = 'coolingWaterMainTempOut',
   冷却总管回水温度 = 'coolingWaterMainTempIn',
   系统控制模式设定 = 'systemControlModeSet',
+  减塔延时 = 'minusTowerDelaySet',
 }
 
 /**

+ 9 - 5
src/types/index.ts

@@ -2240,11 +2240,15 @@ export interface AIOptimizeDeviceItem {
   enableCopSet: boolean;
 }
 
-export interface AIAdvancedDeviceItem {
-  device: string;
-  dataMap: {
-    [key: string]: string | number | null | undefined;
-  };
+export interface AIAdvancedParamItem {
+  paramId: number;
+  deviceId: number;
+  deviceParamCode: string;
+  deviceParamName: string;
+  value: string;
+  pullWindow: boolean;
+  zeroValue: string | null;
+  oneValue: string | null;
 }
 
 export interface UploadLogo {

+ 85 - 419
src/views/real-time-monitor/device-control/AdvancedSettings.vue

@@ -1,10 +1,20 @@
 <script setup lang="ts">
-import { computed, reactive, ref } from 'vue';
+import { computed, onMounted, onUnmounted, ref, watch } from 'vue';
 
+import { useRequest } from '@/hooks/request';
 import { t } from '@/i18n';
+import { getAIAdvancedSetting, updateGroupModuleDevData } from '@/api';
+import { isNotEmptyVal } from '@/utils';
+import { DevParamCtrlCabinet } from '@/constants/device-params';
 
 import type { SegmentedBaseOption } from 'ant-design-vue/es/segmented/src/segmented';
-import type { FormRules } from '@/types';
+import type { AIAdvancedParamItem, GroupModuleInfo } from '@/types';
+
+interface Props {
+  info: GroupModuleInfo;
+}
+
+const props = defineProps<Props>();
 
 type ParamValue = 'addSubtractLoad' | 'other';
 
@@ -34,105 +44,55 @@ const modeTypes = computed<ParamTypeItem[]>(() => {
 
 const currentParamType = ref<ParamValue>('addSubtractLoad');
 
-interface DevParamsForm {
-  coolingMachineOutWaterTemp?: number;
-  addMachineTempDifference?: number;
-  reduceMachineTempDifference?: number;
-  addMachineLoadRate?: number;
-  reduceMachineLoadRate?: number;
-  addMachineDelay1?: number;
-  reduceMachineDelay?: number;
-  addMachineDelay2?: number;
-  towerOutWaterTemp?: number;
-  addTowerTempDifference?: number;
-  reduceTowerTempDifference?: number;
-  addTowerFrequency?: number;
-  reduceTowerFrequency?: number;
-  addTowerDelay?: number;
-  reduceTowerDelay?: number;
-  coolingTowerFrequencyUpper?: number;
-  coolingTowerFrequencyLower?: number;
-  chilledPumpFrequencyLower?: number;
-  chilledPumpFrequencyUpper?: number;
-  hostFaultShutdown?: string;
-  hostLoadJudgmentDelay?: number;
-  hostMaxRunningNumber?: number;
-  initialHostNumber?: number;
-  initialMultiHostInterval?: number;
-  chilledPumpShutdownDelay?: number;
-  coolingTowerLoadJudgmentDelay?: number;
-  waterPumpSwitchDelay?: number;
-  chilledPumpMinNumber?: number;
-  timingPumpChangeDelay?: number;
-  pumpTimingRotation?: number;
-  faultSound?: string;
-  butterflyValveFullStrokeTime?: number;
-  powerOffKeep?: string;
-  hostValveCloseDelay?: number;
-  startFaultDelay?: number;
-  faultAutoReset?: string;
-  faultReset?: string;
-  timeClear?: string;
-  butterflyValveAlarmMask?: number;
-  chilledMainOutTempBias?: number;
-  chilledMainReturnPressureBias?: number;
-  chilledMainOutPressureBias?: number;
-  coolingMainOutTempBias?: number;
-  coolingMainReturnTempBias?: number;
-  chilledMainReturnTempBias?: number;
-}
+watch(currentParamType, (newVal) => {
+  if (newVal === 'addSubtractLoad') {
+    const formEl = document.querySelector('.ai-advanced-param-form');
+
+    formEl?.scrollTo({
+      top: 0,
+      behavior: 'smooth',
+    });
+  } else {
+    const otherEl = document.querySelector('.ai-advanced-param-other');
+
+    otherEl?.scrollIntoView({
+      behavior: 'smooth',
+      block: 'start',
+    });
+  }
+});
+
+const { handleRequest } = useRequest();
+const paramList = ref<AIAdvancedParamItem[]>([]);
+let settingsTimer: number | undefined;
 
-const devParamsForm = reactive<DevParamsForm>({
-  coolingMachineOutWaterTemp: undefined,
-  addMachineTempDifference: undefined,
-  reduceMachineTempDifference: undefined,
-  addMachineLoadRate: undefined,
-  reduceMachineLoadRate: undefined,
-  addMachineDelay1: undefined,
-  reduceMachineDelay: undefined,
-  addMachineDelay2: undefined,
-  towerOutWaterTemp: undefined,
-  addTowerTempDifference: undefined,
-  reduceTowerTempDifference: undefined,
-  addTowerFrequency: undefined,
-  reduceTowerFrequency: undefined,
-  addTowerDelay: undefined,
-  reduceTowerDelay: undefined,
-  coolingTowerFrequencyUpper: undefined,
-  coolingTowerFrequencyLower: undefined,
-  chilledPumpFrequencyLower: undefined,
-  chilledPumpFrequencyUpper: undefined,
-  hostFaultShutdown: undefined,
-  hostLoadJudgmentDelay: undefined,
-  hostMaxRunningNumber: undefined,
-  initialHostNumber: undefined,
-  initialMultiHostInterval: undefined,
-  chilledPumpShutdownDelay: undefined,
-  coolingTowerLoadJudgmentDelay: undefined,
-  waterPumpSwitchDelay: undefined,
-  chilledPumpMinNumber: undefined,
-  timingPumpChangeDelay: undefined,
-  pumpTimingRotation: undefined,
-  faultSound: undefined,
-  butterflyValveFullStrokeTime: undefined,
-  powerOffKeep: undefined,
-  hostValveCloseDelay: undefined,
-  startFaultDelay: undefined,
-  faultAutoReset: undefined,
-  faultReset: undefined,
-  timeClear: undefined,
-  butterflyValveAlarmMask: undefined,
-  chilledMainOutTempBias: undefined,
-  chilledMainReturnPressureBias: undefined,
-  chilledMainOutPressureBias: undefined,
-  coolingMainOutTempBias: undefined,
-  coolingMainReturnTempBias: undefined,
-  chilledMainReturnTempBias: undefined,
+onMounted(() => {
+  getSettings();
 });
 
-const rules = computed<FormRules<DevParamsForm>>(() => {
-  return {};
+onUnmounted(() => {
+  paramList.value = [];
+  clearTimeout(settingsTimer);
 });
+
+const getSettings = () => {
+  clearTimeout(settingsTimer);
+
+  handleRequest(async () => {
+    const { groupId } = props.info;
+    paramList.value = await getAIAdvancedSetting(groupId);
+  });
+
+  settingsTimer = window.setTimeout(getSettings, 5000);
+};
+
+const updateDeviceData = (deviceId: number, paramCode: string, value?: string | number | null) => {
+  handleRequest(async () => {
+    if (isNotEmptyVal(value)) {
+      await updateGroupModuleDevData(deviceId, paramCode, value);
+    }
+  });
+};
 </script>
 
 <template>
@@ -142,324 +102,35 @@ const rules = computed<FormRules<DevParamsForm>>(() => {
         <span>{{ payload.title }}</span>
       </template>
     </ASegmented>
-    <AButton class="ai-advanced-submit" type="primary">{{ $t('common.submit') }}</AButton>
-    <AForm class="ctrl-panel-scroll-content" ref="formRef" :model="devParamsForm" :rules="rules" layout="vertical">
-      <template v-if="currentParamType === 'addSubtractLoad'">
-        <h4>{{ $t('realTimeMonitor.devParams.autoAddSubtractMachine') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.coolingMachineOutWaterTemp')"
-              name="coolingMachineOutWaterTemp"
-            >
-              <AInputNumber v-model:value="devParamsForm.coolingMachineOutWaterTemp" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.addMachineTempDifference')"
-              name="addMachineTempDifference"
-            >
-              <AInputNumber v-model:value="devParamsForm.addMachineTempDifference" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.reduceMachineTempDifference')"
-              name="reduceMachineTempDifference"
-            >
-              <AInputNumber v-model:value="devParamsForm.reduceMachineTempDifference" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addMachineLoadRate')" name="addMachineLoadRate">
-              <AInputNumber v-model:value="devParamsForm.addMachineLoadRate" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.reduceMachineLoadRate')" name="reduceMachineLoadRate">
-              <AInputNumber v-model:value="devParamsForm.reduceMachineLoadRate" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addMachineDelay1')" name="addMachineDelay1">
-              <AInputNumber v-model:value="devParamsForm.addMachineDelay1" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.reduceMachineDelay')" name="reduceMachineDelay">
-              <AInputNumber v-model:value="devParamsForm.reduceMachineDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addMachineDelay2')" name="addMachineDelay2">
-              <AInputNumber v-model:value="devParamsForm.addMachineDelay2" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-        <h4>{{ $t('realTimeMonitor.devParams.autoAddSubtractTower') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.towerOutWaterTemp')" name="towerOutWaterTemp">
-              <AInputNumber v-model:value="devParamsForm.towerOutWaterTemp" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addTowerTempDifference')" name="addTowerTempDifference">
-              <AInputNumber v-model:value="devParamsForm.addTowerTempDifference" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.reduceTowerTempDifference')"
-              name="reduceTowerTempDifference"
-            >
-              <AInputNumber v-model:value="devParamsForm.reduceTowerTempDifference" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addTowerFrequency')" name="addTowerFrequency">
-              <AInputNumber v-model:value="devParamsForm.addTowerFrequency" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.reduceTowerFrequency')" name="reduceTowerFrequency">
-              <AInputNumber v-model:value="devParamsForm.reduceTowerFrequency" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.addTowerDelay')" name="addTowerDelay">
-              <AInputNumber v-model:value="devParamsForm.addTowerDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.reduceTowerDelay')" name="reduceTowerDelay">
-              <AInputNumber v-model:value="devParamsForm.reduceTowerDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-      </template>
-      <template v-else-if="currentParamType === 'other'">
-        <h4>{{ $t('realTimeMonitor.devParams.frequencyAdjust') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.coolingTowerFrequencyUpper')"
-              name="coolingTowerFrequencyUpper"
-            >
-              <AInputNumber v-model:value="devParamsForm.coolingTowerFrequencyUpper" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.coolingTowerFrequencyLower')"
-              name="coolingTowerFrequencyLower"
-            >
-              <AInputNumber v-model:value="devParamsForm.coolingTowerFrequencyLower" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledPumpFrequencyLower')"
-              name="chilledPumpFrequencyLower"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledPumpFrequencyLower" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledPumpFrequencyUpper')"
-              name="chilledPumpFrequencyUpper"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledPumpFrequencyUpper" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-        <h4>{{ $t('realTimeMonitor.devParams.hostParams') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.hostFaultShutdown')" name="hostFaultShutdown">
-              <ASelect v-model:value="devParamsForm.hostFaultShutdown" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.shutDownNo') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.shutDown') }}</ASelectOption>
+    <AForm class="ai-advanced-param-form ctrl-panel-scroll-content" layout="vertical">
+      <ARow :gutter="32">
+        <template v-for="item in paramList" :key="item.paramId">
+          <ACol :span="12">
+            <AFormItem :label="item.deviceParamName">
+              <ASelect
+                v-if="item.pullWindow"
+                v-model:value="item.value"
+                popup-class-name="ai-advanced-select-popup"
+                @change="updateDeviceData(item.deviceId, item.deviceParamCode, $event as string)"
+              >
+                <ASelectOption :value="item.zeroValue" />
+                <ASelectOption :value="item.oneValue" />
               </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.hostLoadJudgmentDelay')" name="hostLoadJudgmentDelay">
-              <AInputNumber v-model:value="devParamsForm.hostLoadJudgmentDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.hostMaxRunningNumber')" name="hostMaxRunningNumber">
-              <AInputNumber v-model:value="devParamsForm.hostMaxRunningNumber" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.initialHostNumber')" name="initialHostNumber">
-              <AInputNumber v-model:value="devParamsForm.initialHostNumber" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.initialMultiHostInterval')"
-              name="initialMultiHostInterval"
-            >
-              <AInputNumber v-model:value="devParamsForm.initialMultiHostInterval" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-        <h4>{{ $t('realTimeMonitor.devParams.pumpTowerParams') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledPumpShutdownDelay')"
-              name="chilledPumpShutdownDelay"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledPumpShutdownDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.coolingTowerLoadJudgmentDelay')"
-              name="coolingTowerLoadJudgmentDelay"
-            >
-              <AInputNumber v-model:value="devParamsForm.coolingTowerLoadJudgmentDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.waterPumpSwitchDelay')" name="waterPumpSwitchDelay">
-              <AInputNumber v-model:value="devParamsForm.waterPumpSwitchDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.chilledPumpMinNumber')" name="chilledPumpMinNumber">
-              <AInputNumber v-model:value="devParamsForm.chilledPumpMinNumber" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.timingPumpChangeDelay')" name="timingPumpChangeDelay">
-              <AInputNumber v-model:value="devParamsForm.timingPumpChangeDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.pumpTimingRotation')" name="pumpTimingRotation">
-              <AInputNumber v-model:value="devParamsForm.pumpTimingRotation" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-        <h4>{{ $t('realTimeMonitor.devParams.systemParams') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.faultSound')" name="faultSound">
-              <ASelect v-model:value="devParamsForm.faultSound" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.silencingComplete') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.silencing') }}</ASelectOption>
-              </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.butterflyValveFullStrokeTime')"
-              name="butterflyValveFullStrokeTime"
-            >
-              <AInputNumber v-model:value="devParamsForm.butterflyValveFullStrokeTime" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.powerOffKeep')" name="powerOffKeep">
-              <ASelect v-model:value="devParamsForm.powerOffKeep" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.keepNo') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.keep') }}</ASelectOption>
-              </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.hostValveCloseDelay')" name="hostValveCloseDelay">
-              <AInputNumber v-model:value="devParamsForm.hostValveCloseDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.startFaultDelay')" name="startFaultDelay">
-              <AInputNumber v-model:value="devParamsForm.startFaultDelay" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.faultAutoReset')" name="faultAutoReset">
-              <ASelect v-model:value="devParamsForm.faultAutoReset" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.disable') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.enable') }}</ASelectOption>
-              </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.faultReset')" name="faultReset">
-              <ASelect v-model:value="devParamsForm.faultReset" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.resetFlagComplete') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.resetFlag') }}</ASelectOption>
-              </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.timeClear')" name="timeClear">
-              <ASelect v-model:value="devParamsForm.timeClear" popup-class-name="ai-advanced-select-popup">
-                <ASelectOption value="0">{{ $t('common.clearValueComplete') }}</ASelectOption>
-                <ASelectOption value="1">{{ $t('common.clearValue') }}</ASelectOption>
-              </ASelect>
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.butterflyValveAlarmMask')" name="butterflyValveAlarmMask">
-              <AInputNumber v-model:value="devParamsForm.butterflyValveAlarmMask" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-        <h4>{{ $t('realTimeMonitor.devParams.sensorBias') }}</h4>
-        <ARow :gutter="32">
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.chilledMainOutTempBias')" name="chilledMainOutTempBias">
-              <AInputNumber v-model:value="devParamsForm.chilledMainOutTempBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledMainReturnPressureBias')"
-              name="chilledMainReturnPressureBias"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledMainReturnPressureBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledMainOutPressureBias')"
-              name="chilledMainOutPressureBias"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledMainOutPressureBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem :label="$t('realTimeMonitor.devParams.coolingMainOutTempBias')" name="coolingMainOutTempBias">
-              <AInputNumber v-model:value="devParamsForm.coolingMainOutTempBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.coolingMainReturnTempBias')"
-              name="coolingMainReturnTempBias"
-            >
-              <AInputNumber v-model:value="devParamsForm.coolingMainReturnTempBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-          <ACol span="12">
-            <AFormItem
-              :label="$t('realTimeMonitor.devParams.chilledMainReturnTempBias')"
-              name="chilledMainReturnTempBias"
-            >
-              <AInputNumber v-model:value="devParamsForm.chilledMainReturnTempBias" :controls="false" />
-            </AFormItem>
-          </ACol>
-        </ARow>
-      </template>
+              <AInputNumber
+                v-else
+                v-model:value="item.value"
+                :controls="false"
+                @change="updateDeviceData(item.deviceId, item.deviceParamCode, $event)"
+              />
+            </AFormItem>
+          </ACol>
+          <ACol
+            class="ai-advanced-param-other"
+            v-if="item.deviceParamCode === DevParamCtrlCabinet.减塔延时"
+            :span="12"
+          />
+        </template>
+      </ARow>
     </AForm>
   </div>
 </template>
@@ -484,11 +155,6 @@ const rules = computed<FormRules<DevParamsForm>>(() => {
 </style>
 
 <style lang="scss" scoped>
-.ai-advanced-submit {
-  float: right;
-  margin-right: 24px;
-}
-
 :deep(.ant-form) {
   h4 {
     margin-bottom: 12px;