|
@@ -375,7 +375,7 @@
|
|
|
@click="onSelectNetWork(item)"
|
|
|
>
|
|
|
名称: {{ item.name }}
|
|
|
- <div class="desc">地址: {{ item.url }}</div>
|
|
|
+ <div class="desc">地址: {{ item.data.url }}</div>
|
|
|
<span class="del" @click.stop="onDelNetWork(item, i)">
|
|
|
<t-icon name="delete" />
|
|
|
</span>
|
|
@@ -426,7 +426,10 @@
|
|
|
size="small"
|
|
|
>
|
|
|
<template #protocol="{ row, rowIndex }">
|
|
|
- {{ row.protocol || 'MQTT' }}
|
|
|
+ {{ row.data.protocol || 'MQTT' }}
|
|
|
+ </template>
|
|
|
+ <template #url="{ row, rowIndex }">
|
|
|
+ {{ row.data.url }}
|
|
|
</template>
|
|
|
<template #actions="{ row, rowIndex }">
|
|
|
<a @click="editNetwork(row, rowIndex)"> 编辑 </a>
|
|
@@ -515,7 +518,7 @@
|
|
|
<t-table
|
|
|
class="mt-12"
|
|
|
row-key="id"
|
|
|
- :data="dataDialog.dataset.data"
|
|
|
+ :data="dataDialog.dataset.data?.devices"
|
|
|
:columns="datasetColumns"
|
|
|
size="small"
|
|
|
:max-height="280"
|
|
@@ -1286,7 +1289,15 @@ const networkColumns = ref([
|
|
|
|
|
|
const onShowDataDialog = async () => {
|
|
|
dataDialog.input = '';
|
|
|
- dataDialog.networks = meta2d.store.data.networks || [];
|
|
|
+ if(meta2d.store.data.networks) {
|
|
|
+ const list = [];
|
|
|
+ for(const tem of meta2d.store.data.networks) {
|
|
|
+ list.push(transformData(tem,'toNetwork'))
|
|
|
+ }
|
|
|
+ dataDialog.networks = list;
|
|
|
+ } else {
|
|
|
+ dataDialog.networks = [];
|
|
|
+ }
|
|
|
// @ts-ignore
|
|
|
dataDialog.dataset = meta2d.store.data.dataset || {};
|
|
|
dataDialog.datasetId = dataDialog.dataset.id;
|
|
@@ -1322,7 +1333,13 @@ const onSelectNetWork = (item: any) => {
|
|
|
);
|
|
|
if (!network) {
|
|
|
dataDialog.networks.push(item);
|
|
|
- meta2d.store.data.networks = dataDialog.networks;
|
|
|
+ if(!meta2d.store.data.networks) {
|
|
|
+ meta2d.store.data.networks = [];
|
|
|
+ }
|
|
|
+ const networkBak = JSON.parse(JSON.stringify(dataDialog.networks));
|
|
|
+ for(const tem of networkBak) {
|
|
|
+ meta2d.store.data.networks.push(transformData(tem,'toMetaNetwork'))
|
|
|
+ }
|
|
|
meta2d.connectNetwork();
|
|
|
setDot(true);
|
|
|
}
|
|
@@ -1331,7 +1348,7 @@ const onSelectNetWork = (item: any) => {
|
|
|
};
|
|
|
|
|
|
const onDelNetWork = async (item: any, i: number) => {
|
|
|
- const ret: any = await axios.post(`/api/data/datasources/delete`, {
|
|
|
+ const ret: any = await axios.post(`/api/data/datasource/delete`, {
|
|
|
id: item._id || item.id,
|
|
|
});
|
|
|
if (ret) {
|
|
@@ -1346,15 +1363,13 @@ const onInputNetwork = () => {
|
|
|
// 请求我的实时数据
|
|
|
const getNetworks = async () => {
|
|
|
const ret: any = await axios.post(
|
|
|
- `/api/data/datasources/list`,
|
|
|
+ `/api/data/datasource/list`,
|
|
|
{
|
|
|
q: {
|
|
|
name: dataDialog.input,
|
|
|
},
|
|
|
- query: {
|
|
|
- type: 'subscribe',
|
|
|
- },
|
|
|
- projection: { updatedAt: 0 },
|
|
|
+ type: 'subscribe',
|
|
|
+ projection: "id,data,name,type",
|
|
|
},
|
|
|
{
|
|
|
params: {
|
|
@@ -1369,24 +1384,57 @@ const getNetworks = async () => {
|
|
|
}
|
|
|
dataDialog.networkList = ret.list;
|
|
|
}
|
|
|
+ if(meta2d.store.data.networks && meta2d.store.data.networks.length > 0) {
|
|
|
+ const list = []
|
|
|
+ for(let item of meta2d.store.data.networks as any) {
|
|
|
+ if(item.data) {
|
|
|
+ const data = ret.list.find(tem => tem.id == item.id || tem.id == item._id);
|
|
|
+ list.push(transformData(data,'toMetaNetwork'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ meta2d.store.data.networks = list;
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const onInputDatasets = (name: string) => {
|
|
|
debounce(getDatasets, 300, name);
|
|
|
};
|
|
|
-
|
|
|
+const transformData = (obj,operation) => {
|
|
|
+ if(operation == 'toMetaNetwork') {
|
|
|
+ return {
|
|
|
+ name:obj.name,
|
|
|
+ id:obj.id,
|
|
|
+ type:obj.type,
|
|
|
+ ...obj.data
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ name:obj.name,
|
|
|
+ id:obj.id,
|
|
|
+ type:obj.type,
|
|
|
+ data:{
|
|
|
+ body: obj.body,
|
|
|
+ headers: obj.headers,
|
|
|
+ httpTimeInterval: obj.httpTimeInterval,
|
|
|
+ method: obj.method,
|
|
|
+ options:obj.options,
|
|
|
+ protocol: obj.protocol,
|
|
|
+ topics: obj.topics,
|
|
|
+ url: obj.url
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
// 请求我的数据模型
|
|
|
const getDatasets = async (name?: string) => {
|
|
|
const body: any = {
|
|
|
- query: {
|
|
|
- type: 'dataset',
|
|
|
- },
|
|
|
- projection: { updatedAt: 0 },
|
|
|
+ type: 'dataset',
|
|
|
+ projection: "id,data,name",
|
|
|
};
|
|
|
if (name) {
|
|
|
body.q = { name };
|
|
|
}
|
|
|
- const ret: any = await axios.post(`/api/data/datasources/list`, body, {
|
|
|
+ const ret: any = await axios.post(`/api/data/datasource/list`, body, {
|
|
|
params: {
|
|
|
current: 1,
|
|
|
pageSize: 10,
|
|
@@ -1412,14 +1460,16 @@ const addNetwork = () => {
|
|
|
dataDialog.network = {
|
|
|
name: '',
|
|
|
type: 'subscribe',
|
|
|
- protocol: 'mqtt',
|
|
|
- url: '',
|
|
|
- options: {
|
|
|
- clientId: '',
|
|
|
- username: '',
|
|
|
- password: '',
|
|
|
- customClientId: false,
|
|
|
- },
|
|
|
+ data:{
|
|
|
+ protocol: 'mqtt',
|
|
|
+ url: '',
|
|
|
+ options: {
|
|
|
+ clientId: '',
|
|
|
+ username: '',
|
|
|
+ password: '',
|
|
|
+ customClientId: false,
|
|
|
+ },
|
|
|
+ }
|
|
|
};
|
|
|
dataDialog.editNetwork = 1;
|
|
|
};
|
|
@@ -1433,7 +1483,11 @@ const editNetwork = (data: any, index: number) => {
|
|
|
|
|
|
const deleteNetwork = (index: number) => {
|
|
|
dataDialog.networks.splice(index, 1);
|
|
|
- meta2d.store.data.networks = dataDialog.networks;
|
|
|
+ const list = [];
|
|
|
+ for(const tem of dataDialog.networks) {
|
|
|
+ list.push(transformData(tem,'toMetaNetwork'))
|
|
|
+ }
|
|
|
+ meta2d.store.data.networks = list;
|
|
|
meta2d.connectNetwork();
|
|
|
setDot(true);
|
|
|
};
|
|
@@ -1442,21 +1496,21 @@ const onOkNetwork = async () => {
|
|
|
if (dataDialog.editNetwork === 1) {
|
|
|
if (dataDialog.save) {
|
|
|
const ret: any = await axios.post(
|
|
|
- `/api/data/datasources/add`,
|
|
|
+ `/api/data/datasource/add`,
|
|
|
dataDialog.network
|
|
|
);
|
|
|
if (!ret) {
|
|
|
return;
|
|
|
}
|
|
|
ret.id = ret.id || ret._id;
|
|
|
- dataDialog.network._id = dataDialog.network.id = ret.id;
|
|
|
+ dataDialog.network.id = ret.id;
|
|
|
}
|
|
|
dataDialog.networks.push(dataDialog.network);
|
|
|
dataDialog.networkList.push(dataDialog.network);
|
|
|
} else if (dataDialog.editNetwork === 2) {
|
|
|
if (dataDialog.save) {
|
|
|
const ret: any = await axios.post(
|
|
|
- `/api/data/datasources/update`,
|
|
|
+ `/api/data/datasource/update`,
|
|
|
dataDialog.network
|
|
|
);
|
|
|
if (!ret) {
|
|
@@ -1471,7 +1525,11 @@ const onOkNetwork = async () => {
|
|
|
}
|
|
|
}
|
|
|
dataDialog.editNetwork = false;
|
|
|
- meta2d.store.data.networks = dataDialog.networks;
|
|
|
+ const list = [];
|
|
|
+ for(const tem of dataDialog.networks) {
|
|
|
+ list.push(transformData(tem,'toMetaNetwork'))
|
|
|
+ }
|
|
|
+ meta2d.store.data.networks = list;
|
|
|
meta2d.connectNetwork();
|
|
|
setDot(true);
|
|
|
|
|
@@ -1510,9 +1568,11 @@ const addDataset = () => {
|
|
|
dataDialog.dataset = {
|
|
|
name: '',
|
|
|
type: 'dataset',
|
|
|
- mode: 'api',
|
|
|
- url: '',
|
|
|
- data: [],
|
|
|
+ data: {
|
|
|
+ devices:[],
|
|
|
+ mode: 'api',
|
|
|
+ url: '',
|
|
|
+ },
|
|
|
};
|
|
|
dataDialog.editDataset = 1;
|
|
|
};
|
|
@@ -1544,16 +1604,17 @@ const onOkDataset = async (saveas = false) => {
|
|
|
if (saveas || dataDialog.editDataset === 1) {
|
|
|
delete dataset.id;
|
|
|
delete dataset._id;
|
|
|
- const ret: any = await axios.post(`/api/data/datasources/add`, dataset);
|
|
|
+ dataset.type = 'dataset';
|
|
|
+ const ret: any = await axios.post(`/api/data/datasource/add`, dataset);
|
|
|
if (!ret) {
|
|
|
return;
|
|
|
}
|
|
|
ret.id = ret.id || ret._id;
|
|
|
dataDialog.datasetId = ret.id;
|
|
|
- dataset._id = dataset.id = ret.id;
|
|
|
+ dataset.id = ret.id;
|
|
|
dataDialog.datasetList.push(dataset);
|
|
|
} else {
|
|
|
- const ret: any = await axios.post(`/api/data/datasources/update`, dataset);
|
|
|
+ const ret: any = await axios.post(`/api/data/datasource/update`, dataset);
|
|
|
if (!ret) {
|
|
|
return;
|
|
|
}
|
|
@@ -1563,8 +1624,9 @@ const onOkDataset = async (saveas = false) => {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
- delete dataset.data;
|
|
|
+ delete dataset.data.devices;
|
|
|
+ delete dataset.data.updatedAt;
|
|
|
+ delete dataset.data.createdAt;
|
|
|
// @ts-ignore
|
|
|
meta2d.store.data.dataset = dataset;
|
|
|
|
|
@@ -1575,7 +1637,7 @@ const onOkDataset = async (saveas = false) => {
|
|
|
};
|
|
|
|
|
|
const onDelDataset = async (item: any, i: number) => {
|
|
|
- const ret: any = await axios.post(`/api/data/datasources/delete`, {
|
|
|
+ const ret: any = await axios.post(`/api/data/datasource/delete`, {
|
|
|
id: item.id,
|
|
|
});
|
|
|
if (
|
|
@@ -1605,10 +1667,10 @@ const onSelDataset = async (init = false) => {
|
|
|
if (dataset.url) {
|
|
|
const ret = await axios.get(dataset.url);
|
|
|
if (ret) {
|
|
|
- dataset.data = ret;
|
|
|
+ dataset.data.devices = ret;
|
|
|
}
|
|
|
} else {
|
|
|
- const ret = await axios.post(`/api/data/datasources/get`, {
|
|
|
+ const ret = await axios.post(`/api/data/datasource/get`, {
|
|
|
id: dataset.id,
|
|
|
});
|
|
|
if (ret?.data) {
|
|
@@ -1620,7 +1682,9 @@ const onSelDataset = async (init = false) => {
|
|
|
|
|
|
if (!init) {
|
|
|
const d = JSON.parse(JSON.stringify(dataset));
|
|
|
- delete d.data;
|
|
|
+ delete d.data.devices;
|
|
|
+ delete dataset.data.updatedAt;
|
|
|
+ delete dataset.data.createdAt;
|
|
|
// @ts-ignore
|
|
|
meta2d.store.data.dataset = d;
|
|
|
|