diff --git a/src/pages/node/list.vue b/src/pages/node/list.vue index bb117407e7a2509d7ebe5b7144234108483a55f7..ee6e7df385c3084e038e9f80129423df09a25e94 100644 --- a/src/pages/node/list.vue +++ b/src/pages/node/list.vue @@ -43,6 +43,9 @@ > + + + @@ -50,10 +53,12 @@ import { getNodeList, deleteNode, getNodeStatus, getOsVersion, editNode } from '@/api/node' import { isIpAndPort } from '@/utils/validate' import NodeOperation from './components/node_operation.vue' +import NodeLayout from './node-layout' export default { components: { - NodeOperation + NodeOperation, + NodeLayout }, data() { return { @@ -76,7 +81,8 @@ export default { { title: '操作', dataIndex: 'operation', key: 'operation', scopedSlots: { customRender: 'operation' }, width: 200, align: 'center' } ], timer: null, - editNodeVisible: false, + editNodeVisible: false, + drawerVisible: false } }, watch: { @@ -239,6 +245,25 @@ export default { this.editNodeVisible = false this.loadData() }) + }, + handleNode(record) { + setNodeLocalIp({ nodeId: record.id, nodeIp: record.url.split(':')[0] }).then(() => { + this.temp = Object.assign(record) + this.drawerTitle = `${this.temp.name} (${this.temp.url})` + this.drawerVisible = true + let nodeId = this.$route.query.nodeId + if (nodeId !== record.id) { + this.$router.push({ + query: { nodeId: record.id } + }) + } + }) + }, + onClose() { + this.drawerVisible = false + this.$router.push({ + query: { nodeId: null } + }) } } } diff --git a/src/pages/node/node-layout/.keep b/src/pages/node/node-layout/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/pages/node/node-layout/index.vue b/src/pages/node/node-layout/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..7f0a57ed20aa0fe51d2cabb0c53fc71f25894c96 --- /dev/null +++ b/src/pages/node/node-layout/index.vue @@ -0,0 +1,100 @@ + + + + +