From 4fc27674a8e5898f32b3e708c3d855c4116af3db Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 7 Apr 2026 10:53:07 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E9=87=87=E9=9B=86=E8=AE=BE?= =?UTF-8?q?=E5=A4=87-=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=A2=9E=E4=BA=A7?= =?UTF-8?q?=E9=87=8F=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/device/index.vue | 161 +++++++++++++++++++++------------ 1 file changed, 102 insertions(+), 59 deletions(-) diff --git a/src/views/iot/device/index.vue b/src/views/iot/device/index.vue index 221e45c9..2aad141e 100644 --- a/src/views/iot/device/index.vue +++ b/src/views/iot/device/index.vue @@ -333,7 +333,10 @@ -
+
+ + 新增产量 + {{ t('DataCollection.DeviceModel.ruleCreateButton') }} @@ -364,7 +367,7 @@ {{ t('DataCollection.DeviceModel.ruleEditRuleButton') }}
- + - +
-
- - - - - - -
+ @@ -537,7 +545,7 @@ - + @@ -551,7 +559,7 @@ - + { const id = (ruleForm.identifier || '').toString().toUpperCase() @@ -1114,6 +1128,13 @@ const isRuleDisabled = (value: string, selfRule?: string | number) => { } const ruleOperatorOptions = computed(() => getStrDictOptions('czsb_rules_conditions')) +const isCountIdentifier = computed(() => { + return (ruleForm.identifier || '').toString().toUpperCase() === 'COUNT' +}) +const currentRuleOperatorOptions = computed(() => { + if (isCountIdentifier.value) return countOperatorOptions + return ruleOperatorOptions.value +}) const isRunningIdentifier = computed(() => { return (ruleForm.identifier || '').toString().toUpperCase() === 'RUNNING' @@ -1224,8 +1245,10 @@ const handleRuleSubmit = async () => { fieldRule: ruleForm.fieldRule, defaultValue: ruleForm.defaultValue, deviceId: ruleForm.deviceId ?? attributeDeviceId.value, - alarmLevel: ruleForm.alarmLevel, pointRulesVOList, + } as any + if (!isCountIdentifier.value) { + payload.alarmLevel = ruleForm.alarmLevel } await request.put({ url: '/iot/device-point-rules/update', data: payload }) @@ -1282,6 +1305,13 @@ const createRuleForm = reactive({ defaultValue: '报警', alarmLevel: '', }) +const isCreateCountRule = computed(() => { + return createRuleForm.identifier.toString().toUpperCase() === 'COUNT' +}) +const createRuleDialogTitle = computed(() => { + if (isCreateCountRule.value) return '新增产量' + return t('DataCollection.DeviceModel.ruleCreateButton') +}) const openCreateRuleForm = () => { if (!attributeDeviceId.value) { @@ -1294,6 +1324,17 @@ const openCreateRuleForm = () => { createRuleForm.alarmLevel = '' createRuleDialogVisible.value = true } +const openCreateCountRuleForm = () => { + if (!attributeDeviceId.value) { + message.error('请先选择设备') + return + } + createRuleForm.identifier = 'COUNT' + createRuleForm.fieldName = '产能' + createRuleForm.defaultValue = '产能' + createRuleForm.alarmLevel = '' + createRuleDialogVisible.value = true +} const handleCreateRuleSubmit = async () => { if (!attributeDeviceId.value) return @@ -1307,8 +1348,10 @@ const handleCreateRuleSubmit = async () => { identifier: createRuleForm.identifier, fieldName: createRuleForm.fieldName, defaultValue: createRuleForm.defaultValue, - alarmLevel: createRuleForm.alarmLevel, deviceId: attributeDeviceId.value, + } as any + if (!isCreateCountRule.value) { + payload.alarmLevel = createRuleForm.alarmLevel } await request.post({ url: '/iot/device-point-rules/create', data: payload }) message.success('新增成功')