|
@@ -292,10 +292,13 @@
|
|
|
<t-row class="mt-16" justify="end">
|
|
|
<t-space :size="12">
|
|
|
<t-select-input
|
|
|
+ v-model:inputValue="dataDialog.input"
|
|
|
placeholder="搜索我的数据源"
|
|
|
allow-input
|
|
|
clearable
|
|
|
:popup-visible="dataDialog.popupVisible"
|
|
|
+ @focus="dataDialog.popupVisible = true"
|
|
|
+ @blur="dataDialog.popupVisible = undefined"
|
|
|
@input-change="onInputNetwork"
|
|
|
style="width: 240px"
|
|
|
>
|
|
@@ -345,6 +348,9 @@
|
|
|
:max-height="280"
|
|
|
size="small"
|
|
|
>
|
|
|
+ <template #type="{ row, rowIndex }">
|
|
|
+ {{ row.type || 'MQTT' }}
|
|
|
+ </template>
|
|
|
<template #actions="{ row, rowIndex }">
|
|
|
<a @click="editNetwork(row)"> 编辑 </a>
|
|
|
<t-popconfirm
|
|
@@ -466,9 +472,7 @@
|
|
|
</div>
|
|
|
<div v-else class="flex middle">
|
|
|
<div class="flex-grow"></div>
|
|
|
- <t-button class="ml-16" @click="dataDialog.show = false">
|
|
|
- 完成
|
|
|
- </t-button>
|
|
|
+ <t-button class="ml-16" @click="onOkDatasources"> 完成 </t-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</t-dialog>
|
|
@@ -784,13 +788,9 @@ onMounted(() => {
|
|
|
meta2d = new Meta2d('meta2d', meta2dOptions);
|
|
|
registerBasicDiagram();
|
|
|
open(true);
|
|
|
- // @ts-ignore
|
|
|
meta2d.on('active', active);
|
|
|
- // @ts-ignore
|
|
|
meta2d.on('inactive', inactive);
|
|
|
- // @ts-ignore
|
|
|
meta2d.on('scale', scaleListener);
|
|
|
- // @ts-ignore
|
|
|
meta2d.on('add', lineAdd);
|
|
|
meta2d.on('opened', openedListener);
|
|
|
|
|
@@ -803,7 +803,6 @@ onMounted(() => {
|
|
|
|
|
|
// 所有编辑栏所做修改
|
|
|
meta2d.on('components-update-value', patchFlag);
|
|
|
- // @ts-ignore
|
|
|
meta2d.on('contextmenu', onContextmenu);
|
|
|
meta2d.on('click', canvasClick);
|
|
|
|
|
@@ -840,15 +839,13 @@ const open = async (flag: boolean = false) => {
|
|
|
qrcode.url = qr;
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- if (flag) {
|
|
|
- const data: string = await localforage.getItem(localStorageName);
|
|
|
- if (data) {
|
|
|
- meta2d.open(JSON.parse(data));
|
|
|
- }
|
|
|
- } else {
|
|
|
- meta2d.open({ pens: [] } as any);
|
|
|
+ } else if (flag) {
|
|
|
+ const data: string = await localforage.getItem(localStorageName);
|
|
|
+ if (data) {
|
|
|
+ meta2d.open(JSON.parse(data));
|
|
|
}
|
|
|
+ } else {
|
|
|
+ meta2d.open({ name: '新建项目', pens: [] } as any);
|
|
|
}
|
|
|
!meta2d.store.data.x && (meta2d.store.data.x = meta2d.store.options.x || 0);
|
|
|
!meta2d.store.data.y && (meta2d.store.data.y = meta2d.store.options.y || 0);
|
|
@@ -875,16 +872,11 @@ onUnmounted(() => {
|
|
|
clearInterval(timer);
|
|
|
watcher();
|
|
|
if (meta2d) {
|
|
|
- // @ts-ignore
|
|
|
meta2d.off('active', active);
|
|
|
- // @ts-ignore
|
|
|
meta2d.off('inactive', inactive);
|
|
|
- // @ts-ignore
|
|
|
meta2d.off('scale', scaleListener);
|
|
|
- // @ts-ignore
|
|
|
meta2d.off('add', lineAdd);
|
|
|
meta2d.on('opened', openedListener);
|
|
|
-
|
|
|
meta2d.off('undo', patchFlag);
|
|
|
meta2d.off('redo', patchFlag);
|
|
|
meta2d.off('add', patchFlag);
|
|
@@ -892,10 +884,8 @@ onUnmounted(() => {
|
|
|
meta2d.off('rotatePens', patchFlag);
|
|
|
meta2d.off('translatePens', patchFlag);
|
|
|
meta2d.off('components-update-value', patchFlag);
|
|
|
- // @ts-ignore
|
|
|
meta2d.off('contextmenu', onContextmenu);
|
|
|
meta2d.off('click', canvasClick);
|
|
|
-
|
|
|
meta2d.destroy();
|
|
|
}
|
|
|
});
|
|
@@ -1214,9 +1204,11 @@ const networkColumns = ref([
|
|
|
]);
|
|
|
|
|
|
const onShowDataDialog = () => {
|
|
|
- // @ts-ignore
|
|
|
+ dataDialog.input = '';
|
|
|
dataDialog.networks = meta2d.store.data.networks || [];
|
|
|
// @ts-ignore
|
|
|
+ dataDialog.datasetUrl = meta2d.store.data.datasetUrl;
|
|
|
+ // @ts-ignore
|
|
|
dataDialog.dataset = meta2d.store.data.dataset;
|
|
|
dataDialog.networkList = [];
|
|
|
dataDialog.editNetwork = false;
|
|
@@ -1236,10 +1228,15 @@ const onInputNetwork = (text: string) => {
|
|
|
|
|
|
// 请求我的数据源接口
|
|
|
const getNetworks = async () => {
|
|
|
- // const ret: any = await axios.get(`/api/xxx`);
|
|
|
- // if (ret) {
|
|
|
- // dataDialog.networkList = ret.list
|
|
|
- // }
|
|
|
+ const ret: any = await axios.post(`/api/data/datasources/list`, {
|
|
|
+ q: {
|
|
|
+ name: dataDialog.input,
|
|
|
+ },
|
|
|
+ projection: { updatedAt: 0 },
|
|
|
+ });
|
|
|
+ if (ret) {
|
|
|
+ dataDialog.networkList = ret.list;
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const addNetwork = () => {
|
|
@@ -1267,16 +1264,35 @@ const deleteNetwork = (index: number) => {
|
|
|
meta2d.connectSocket();
|
|
|
};
|
|
|
|
|
|
-const onOkNetwork = () => {
|
|
|
+const onOkNetwork = async () => {
|
|
|
+ // 保存到我的数据源
|
|
|
+
|
|
|
if (dataDialog.editNetwork === 1) {
|
|
|
+ if (dataDialog.save) {
|
|
|
+ const ret: any = await axios.post(
|
|
|
+ `/api/data/datasources/add`,
|
|
|
+ dataDialog.network
|
|
|
+ );
|
|
|
+ if (!ret) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ dataDialog.network._id = ret._id || ret.id;
|
|
|
+ dataDialog.network.id = dataDialog.network._id;
|
|
|
+ }
|
|
|
dataDialog.networks.push(dataDialog.network);
|
|
|
+ } else if (dataDialog.editNetwork === 2) {
|
|
|
+ if (dataDialog.save) {
|
|
|
+ const ret: any = await axios.post(
|
|
|
+ `/api/data/datasources/update`,
|
|
|
+ dataDialog.network
|
|
|
+ );
|
|
|
+ if (!ret) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- dataDialog.editNetwork = false;
|
|
|
|
|
|
- // 保存到我的数据源
|
|
|
- if (dataDialog.save) {
|
|
|
- // todo
|
|
|
- }
|
|
|
+ dataDialog.editNetwork = false;
|
|
|
};
|
|
|
|
|
|
const datasetColumns = ref([
|
|
@@ -1329,6 +1345,15 @@ const importDataset = async () => {
|
|
|
dataDialog.dataset = data;
|
|
|
};
|
|
|
|
|
|
+const onOkDatasources = () => {
|
|
|
+ meta2d.store.data.networks = dataDialog.networks;
|
|
|
+ // @ts-ignore
|
|
|
+ meta2d.store.data.dataset = dataDialog.dataset;
|
|
|
+ // @ts-ignore
|
|
|
+ meta2d.store.data.datasetUrl = dataDialog.datasetUrl;
|
|
|
+ dataDialog.show = false;
|
|
|
+};
|
|
|
+
|
|
|
const showAddData = (row?: any) => {
|
|
|
if (row) {
|
|
|
addDataDialog.header = '编辑数据';
|