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('新增成功')