+
关系查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
实体名称匹配模式
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -24,8 +97,9 @@ export default defineComponent({
import { ref, watch, defineComponent, reactive } from 'vue';
import { Form, Switch, Select, Row, Col, Radio, Input, InputNumber, Alert } from 'ant-design-vue';
import { FormInstance } from 'ant-design-vue/lib/form';
-import { Aggregation, OrderBy, TimeUnit, TIME_UNIT_OPTIONS, AGGREGATION_OPTIONS } from '/@/enums/telemetryEnum';
-import { ENTITY_TYPE_OPTIONS, EntityType } from '/@/enums/entityTypeEnum';
+import { OriginatorSource, EntityType, ENTITY_TYPE_OPTIONS } from '/@/enums/entityTypeEnum';
+import { isEmpty } from 'lodash';
+import { filter } from '/@/utils/helper/treeHelper';
interface Configuration {
entityNamePattern: any,
@@ -36,7 +110,7 @@ interface Configuration {
fetchLastLevelOnly: boolean,
filters: [],
maxLevel: number
- },
+ }
}
const props = defineProps({
@@ -46,6 +120,23 @@ const props = defineProps({
},
});
+const allowedEntityTypes = ENTITY_TYPE_OPTIONS.filter(item => {
+ return item.value == EntityType.TENANT
+ || item.value == EntityType.ASSET
+ || item.value == EntityType.ENTITY_VIEW
+ || item.value == EntityType.USER
+ || item.value == EntityType.EDGE
+});
+
+function handleAddFilter() {
+
+ formState.relationsQuery.filters.push({ relationType: "Contains", entityTypes: [] });
+}
+
+function handleDeleteFilter(index: number) {
+ formState.relationsQuery.filters.splice(index, 1);
+}
+
const formRef = ref
();
const formState = reactive({
@@ -55,7 +146,7 @@ const formState = reactive({
relationsQuery: {
direction: "FROM",
fetchLastLevelOnly: false,
- filters: [{ relationType: "Contains", entityTypes: [] }],
+ filters: [{ relationType: "", entityTypes: [] }],
maxLevel: 1
}
});
@@ -71,18 +162,15 @@ watch(
{ immediate: true }
)
-async function handleEntityTypeChange(entityType) {
- formState.entityId = undefined;
- switch (entityType) {
- case EntityType.CUSTOMER:
-
- break;
- case EntityType.TENANT:
-
- break;
- }
- //TODO edge;
+async function handleOriginatorSourceChange(originatorSource) {
+ switch (originatorSource) {
+ case OriginatorSource.RELATED:
+
+ break;
+ case OriginatorSource.ENTITY:
+ break;
+ }
}
async function getConfiguration() {
--
Gitee
From 50af725a7c000003e7d0900d176a8d1f955ab0b3 Mon Sep 17 00:00:00 2001
From: struggle3 <1037418341@qq.com>
Date: Sun, 7 Apr 2024 19:56:53 +0800
Subject: [PATCH 09/38] =?UTF-8?q?copy-key-value-pairs=E5=BC=80=E5=8F=91?=
=?UTF-8?q?=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../nodeTpl/TRANSFORMATION/copykeyValue.vue | 76 +++++++++++++++++++
.../flow/nodeTpl/rule-chain-types.json | 3 +-
2 files changed, 78 insertions(+), 1 deletion(-)
create mode 100644 src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
diff --git a/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
new file mode 100644
index 0000000..5802390
--- /dev/null
+++ b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
@@ -0,0 +1,76 @@
+
+
+
+ 复制key
+
+ 消息到元数据
+ 元数据到消息
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json b/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
index 2a7f1de..8b6eb24 100644
--- a/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
+++ b/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
@@ -20,5 +20,6 @@
"org.thingsboard.rule.engine.metadata.TbGetOriginatorFieldsNode":"originator-fields",
"org.thingsboard.rule.engine.metadata.TbGetTelemetryNode":"originator-telemetry",
- "org.thingsboard.rule.engine.transform.TbChangeOriginatorNode":"change-originator"
+ "org.thingsboard.rule.engine.transform.TbChangeOriginatorNode":"change-originator",
+ "org.thingsboard.rule.engine.transform.TbCopyKeysNode":"copy-key-value-pairs"
}
--
Gitee
From ed21386cdac39ecb14ed244945382f7b78fcf96f Mon Sep 17 00:00:00 2001
From: struggle3 <1037418341@qq.com>
Date: Sun, 7 Apr 2024 20:20:07 +0800
Subject: [PATCH 10/38] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=8F=8A=E4=B8=8B?=
=?UTF-8?q?=E6=8B=89=E5=88=87=E6=8D=A2=E9=87=8D=E6=96=B0=E8=B5=8B=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../flow/nodeTpl/TRANSFORMATION/changeOriginator.vue | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/changeOriginator.vue b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/changeOriginator.vue
index 49dff6b..c515c6f 100644
--- a/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/changeOriginator.vue
+++ b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/changeOriginator.vue
@@ -95,11 +95,12 @@ export default defineComponent({
+
diff --git a/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json b/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
index 8b6eb24..ad46fad 100644
--- a/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
+++ b/src/views/things/ruleChain/flow/nodeTpl/rule-chain-types.json
@@ -21,5 +21,6 @@
"org.thingsboard.rule.engine.metadata.TbGetTelemetryNode":"originator-telemetry",
"org.thingsboard.rule.engine.transform.TbChangeOriginatorNode":"change-originator",
- "org.thingsboard.rule.engine.transform.TbCopyKeysNode":"copy-key-value-pairs"
+ "org.thingsboard.rule.engine.transform.TbCopyKeysNode":"copy-key-value-pairs",
+ "org.thingsboard.rule.engine.transform.TbDeleteKeysNode":"delete-key-value-pairs"
}
--
Gitee
From 0fd7b8651e9bc21ff36d3bf0786c01a1d4a17649 Mon Sep 17 00:00:00 2001
From: struggle3 <1037418341@qq.com>
Date: Sun, 7 Apr 2024 22:55:37 +0800
Subject: [PATCH 13/38] =?UTF-8?q?jsonpath=E5=BC=80=E5=8F=91=E5=AE=8C?=
=?UTF-8?q?=E6=88=90=E5=8F=8A=E5=85=B6=E5=AE=83=E4=B8=A4=E4=B8=AA=E8=8A=82?=
=?UTF-8?q?=E7=82=B9=E5=BF=85=E5=A1=AB=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../nodeTpl/TRANSFORMATION/copykeyValue.vue | 2 +-
.../nodeTpl/TRANSFORMATION/deleteKeyValue.vue | 2 +-
.../flow/nodeTpl/TRANSFORMATION/jsonPath.vue | 64 +++++++++++++++++++
.../flow/nodeTpl/rule-chain-types.json | 3 +-
4 files changed, 68 insertions(+), 3 deletions(-)
create mode 100644 src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/jsonPath.vue
diff --git a/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
index 5802390..14d906c 100644
--- a/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
+++ b/src/views/things/ruleChain/flow/nodeTpl/TRANSFORMATION/copykeyValue.vue
@@ -9,7 +9,7 @@
-