diff --git a/package.json b/package.json
index 581ec969..7670fcf5 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"event-source-polyfill": "^1.0.31",
"global": "^4.4.0",
"jetlinks-store": "^0.0.3",
- "jetlinks-ui-components": "^1.0.18",
+ "jetlinks-ui-components": "^1.0.21",
"js-cookie": "^3.0.1",
"less": "^4.1.3",
"less-loader": "^11.1.0",
diff --git a/src/api/data-collect/collector.ts b/src/api/data-collect/collector.ts
index 8dadd463..191913ce 100644
--- a/src/api/data-collect/collector.ts
+++ b/src/api/data-collect/collector.ts
@@ -55,3 +55,6 @@ export const scanOpcUAList = (data: any) =>
data?.nodeId || ''
}`,
);
+
+export const queryTypeList = () => server.get(`/data-collect/opc/data-types`);
+
diff --git a/src/components/Layout/FullPage.vue b/src/components/Layout/FullPage.vue
index d4f61d7c..39ab0c7a 100644
--- a/src/components/Layout/FullPage.vue
+++ b/src/components/Layout/FullPage.vue
@@ -1,6 +1,8 @@
@@ -12,8 +14,13 @@ const { y } = useElementBounding(fullPage)
-
\ No newline at end of file
diff --git a/src/components/Metadata/MetricsParam/index.vue b/src/components/Metadata/MetricsParam/index.vue
index a830add2..5391cd3f 100644
--- a/src/components/Metadata/MetricsParam/index.vue
+++ b/src/components/Metadata/MetricsParam/index.vue
@@ -114,11 +114,11 @@ const handleAdd = () => {
const validateIndicator = (value: any) => {
if (value?.range) {
- if (!value?.value || !value?.value[0] || !value?.value[1]) {
+ if (!value?.value || (!value?.value[0] && value?.value[0] !== 0) || (!value?.value[1] && value?.value[1] !== 0)) {
return Promise.reject(new Error('请输入指标值'));
}
} else {
- if (!value?.value) {
+ if (!value?.value && value?.value !== 0) {
return Promise.reject(new Error('请输入指标值'));
}
}
diff --git a/src/components/Search/Search.vue b/src/components/Search/Search.vue
index 005db593..021a0d7d 100644
--- a/src/components/Search/Search.vue
+++ b/src/components/Search/Search.vue
@@ -1,5 +1,5 @@
-
();
const id = props.data.id;
const collectorId = props.data.collectorId;
const provider = props.data.provider;
+const options = ref([]);
const formData = ref({
name: '',
@@ -157,6 +161,19 @@ const filterOption = (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
};
+onMounted(() => {
+ queryTypeList().then((resp: any) => {
+ if(resp.status === 200){
+ options.value = (resp?.result || []).map((item: any) => {
+ return {
+ label: item,
+ value: item
+ }
+ })
+ }
+ })
+})
+
watch(
() => props.data,
(value) => {
diff --git a/src/views/DataCollect/Collector/Point/Scan/Tree.vue b/src/views/DataCollect/Collector/Point/Scan/Tree.vue
index f506b4a5..f036dfe3 100644
--- a/src/views/DataCollect/Collector/Point/Scan/Tree.vue
+++ b/src/views/DataCollect/Collector/Point/Scan/Tree.vue
@@ -130,6 +130,7 @@ const onCheck = (checkedKeys: any, info: any) => {
value: last ? last?.accessModes?.value : one?.accessModes || [],
check: true,
},
+ type: one?.type,
configuration: {
...one?.configuration,
interval: {
diff --git a/src/views/DataCollect/Collector/Point/Scan/index.vue b/src/views/DataCollect/Collector/Point/Scan/index.vue
index 0509830f..b92cf84e 100644
--- a/src/views/DataCollect/Collector/Point/Scan/index.vue
+++ b/src/views/DataCollect/Collector/Point/Scan/index.vue
@@ -65,6 +65,7 @@ const handleOk = async () => {
pointKey: item.id,
configuration: {
interval: item.configuration?.interval?.value,
+ type: item.type,
},
features: !item.features?.value ? [] : ['changedOnly'],
accessModes: item.accessModes?.value || [],
diff --git a/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue b/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue
index ac56f2bd..e9ec5764 100644
--- a/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue
+++ b/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue
@@ -30,6 +30,57 @@
showCount
/>
+
+
+
+
+
+
+
{
} else if (!!searchValue.value) {
clickSearch = true;
params.value = { ..._.cloneDeep(defualtParams) };
- params.value.terms[1] = {
- terms: [
- {
- column: 'name',
- value: `%${searchValue.value}%`,
- termType: 'like',
- },
- ],
- };
+ // params.value.terms[1] = {
+ // terms: [
+ // {
+ // column: 'name',
+ // value: `%${searchValue.value}%`,
+ // termType: 'like',
+ // },
+ // ],
+ // };
+ params.value.terms = [
+ ...(params.value?.terms || []),
+ {
+ terms: [
+ {
+ column: 'name',
+ value: `%${searchValue.value}%`,
+ termType: 'like',
+ },
+ ],
+ }
+ ];
} else {
!!value && (params.value = value);
}
diff --git a/src/views/account/NotificationSubscription/components/EditDialog.vue b/src/views/account/NotificationSubscription/components/EditDialog.vue
index f164c35f..ae2b02dd 100644
--- a/src/views/account/NotificationSubscription/components/EditDialog.vue
+++ b/src/views/account/NotificationSubscription/components/EditDialog.vue
@@ -46,7 +46,7 @@
:rules="[{ required: true, message: '请选择告警规则' }]"
>
item.label).join(','),
+ alarmConfigId: keys.length ? keys.join(',') : undefined,
+ alarmConfigName: items.length ? items.map((item) => item.label).join(',') : undefined,
};
}
diff --git a/src/views/device/Instance/Detail/Info/components/Tags/index.vue b/src/views/device/Instance/Detail/Info/components/Tags/index.vue
index 4316a707..8fc6b195 100644
--- a/src/views/device/Instance/Detail/Info/components/Tags/index.vue
+++ b/src/views/device/Instance/Detail/Info/components/Tags/index.vue
@@ -53,6 +53,6 @@ const findName = (item: any) => {
const _element = item.dataType.elements?.find((a: any) => a.value === item.value)
name = _element?.text
}
- return name
+ return name || item.value
}
diff --git a/src/views/device/Product/Detail/MetadataMap/index.vue b/src/views/device/Product/Detail/MetadataMap/index.vue
index e6d6bf4a..9b0eb9ee 100644
--- a/src/views/device/Product/Detail/MetadataMap/index.vue
+++ b/src/views/device/Product/Detail/MetadataMap/index.vue
@@ -198,20 +198,24 @@ getDefaultMetadata()